Fix Version Catalogue replacement for Clusterctl
A previous patchset was intended to accomplish a two-part substitution of container versions into CAPI components, to work around assumptions held by clusterctl: (versions catalogue) --[ReplacementTransformer]--> (Clusterctl YAML) ... then (Clusterctl YAML) --[clusterctl library]--> (CAPI manifests) However, only the second leg (the hard part) worked right; the first part had gaps which are fixed by this change. This also adds the CAPD container definitions to the Clusterctl variables. Change-Id: Ifaca46f6dd3b87c28753cd49b52e62556ead52bd Closes: https://github.com/airshipit/airshipctl/issues/389
This commit is contained in:
@@ -23,7 +23,7 @@ files:
|
|||||||
|
|
||||||
images:
|
images:
|
||||||
capm3: # Images specific to the camp3 function; etc.
|
capm3: # Images specific to the camp3 function; etc.
|
||||||
manager: quay.io/metal3-io/cluster-api-provider-metal3
|
manager: quay.io/metal3-io/cluster-api-provider-metal3:v0.3.2
|
||||||
auth_proxy: gcr.io/kubebuilder/kube-rbac-proxy:v0.4.0
|
auth_proxy: gcr.io/kubebuilder/kube-rbac-proxy:v0.4.0
|
||||||
cacpk:
|
cacpk:
|
||||||
manager: us.gcr.io/k8s-artifacts-prod/cluster-api/kubeadm-control-plane-controller:v0.3.7
|
manager: us.gcr.io/k8s-artifacts-prod/cluster-api/kubeadm-control-plane-controller:v0.3.7
|
||||||
@@ -31,6 +31,9 @@ images:
|
|||||||
cabpk:
|
cabpk:
|
||||||
manager: us.gcr.io/k8s-artifacts-prod/cluster-api/kubeadm-bootstrap-controller:v0.3.7
|
manager: us.gcr.io/k8s-artifacts-prod/cluster-api/kubeadm-bootstrap-controller:v0.3.7
|
||||||
auth_proxy: gcr.io/kubebuilder/kube-rbac-proxy:v0.4.1
|
auth_proxy: gcr.io/kubebuilder/kube-rbac-proxy:v0.4.1
|
||||||
|
capd:
|
||||||
|
manager: gcr.io/k8s-staging-cluster-api/capd-manager:v20201019-v0.3.10-86-gc1647481f
|
||||||
|
auth_proxy: gcr.io/kubebuilder/kube-rbac-proxy:v0.4.0
|
||||||
capi:
|
capi:
|
||||||
manager: us.gcr.io/k8s-artifacts-prod/cluster-api/cluster-api-controller:v0.3.7
|
manager: us.gcr.io/k8s-artifacts-prod/cluster-api/cluster-api-controller:v0.3.7
|
||||||
auth_proxy: gcr.io/kubebuilder/kube-rbac-proxy:v0.4.1
|
auth_proxy: gcr.io/kubebuilder/kube-rbac-proxy:v0.4.1
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
# These rules inject versioned artifacts into the k8scontrol function.
|
# These rules inject versioned artifacts into the clusterctl function.
|
||||||
apiVersion: airshipit.org/v1alpha1
|
apiVersion: airshipit.org/v1alpha1
|
||||||
kind: ReplacementTransformer
|
kind: ReplacementTransformer
|
||||||
metadata:
|
metadata:
|
||||||
@@ -8,24 +8,109 @@ metadata:
|
|||||||
container:
|
container:
|
||||||
image: quay.io/airshipit/replacement-transformer:dev
|
image: quay.io/airshipit/replacement-transformer:dev
|
||||||
replacements:
|
replacements:
|
||||||
# Replace the Kubernetes version in the KubeadmControlPlane
|
# Replace capm3 versions
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
|
kind: VariableCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: "{.kubernetes}"
|
fieldref: "{.images.capm3.manager}"
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: KubeadmControlPlane
|
kind: Clusterctl
|
||||||
name: cluster-controlplane
|
name: clusterctl_init
|
||||||
fieldrefs: ["{.spec.version}"]
|
fieldrefs: ["{.additional-vars.CONTAINER_CAPM3_MANAGER}"]
|
||||||
# Replace the controlplane disk image in the Metal3MachineTemplate
|
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
|
kind: VariableCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: "{.files.k8scontrol.cluster_controlplane_image}"
|
fieldref: "{.images.capm3.auth_proxy}"
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: Metal3MachineTemplate
|
kind: Clusterctl
|
||||||
name: cluster-controlplane
|
name: clusterctl_init
|
||||||
fieldrefs: ["{.spec.template.spec.image}"]
|
fieldrefs: ["{.additional-vars.CONTAINER_CAPM3_AUTH_PROXY}"]
|
||||||
|
# Replace cacpk versions
|
||||||
|
- source:
|
||||||
|
objref:
|
||||||
|
kind: VariableCatalogue
|
||||||
|
name: versions-airshipctl
|
||||||
|
fieldref: "{.images.cacpk.manager}"
|
||||||
|
target:
|
||||||
|
objref:
|
||||||
|
kind: Clusterctl
|
||||||
|
name: clusterctl_init
|
||||||
|
fieldrefs: ["{.additional-vars.CONTAINER_CACPK_MANAGER}"]
|
||||||
|
- source:
|
||||||
|
objref:
|
||||||
|
kind: VariableCatalogue
|
||||||
|
name: versions-airshipctl
|
||||||
|
fieldref: "{.images.cacpk.auth_proxy}"
|
||||||
|
target:
|
||||||
|
objref:
|
||||||
|
kind: Clusterctl
|
||||||
|
name: clusterctl_init
|
||||||
|
fieldrefs: ["{.additional-vars.CONTAINER_CACPK_AUTH_PROXY}"]
|
||||||
|
# Replace cabpk versions
|
||||||
|
- source:
|
||||||
|
objref:
|
||||||
|
kind: VariableCatalogue
|
||||||
|
name: versions-airshipctl
|
||||||
|
fieldref: "{.images.cabpk.manager}"
|
||||||
|
target:
|
||||||
|
objref:
|
||||||
|
kind: Clusterctl
|
||||||
|
name: clusterctl_init
|
||||||
|
fieldrefs: ["{.additional-vars.CONTAINER_CABPK_MANAGER}"]
|
||||||
|
- source:
|
||||||
|
objref:
|
||||||
|
kind: VariableCatalogue
|
||||||
|
name: versions-airshipctl
|
||||||
|
fieldref: "{.images.cabpk.auth_proxy}"
|
||||||
|
target:
|
||||||
|
objref:
|
||||||
|
kind: Clusterctl
|
||||||
|
name: clusterctl_init
|
||||||
|
fieldrefs: ["{.additional-vars.CONTAINER_CABPK_AUTH_PROXY}"]
|
||||||
|
# Replace capd versions
|
||||||
|
- source:
|
||||||
|
objref:
|
||||||
|
kind: VariableCatalogue
|
||||||
|
name: versions-airshipctl
|
||||||
|
fieldref: "{.images.capd.manager}"
|
||||||
|
target:
|
||||||
|
objref:
|
||||||
|
kind: Clusterctl
|
||||||
|
name: clusterctl_init
|
||||||
|
fieldrefs: ["{.additional-vars.CONTAINER_CAPD_MANAGER}"]
|
||||||
|
- source:
|
||||||
|
objref:
|
||||||
|
kind: VariableCatalogue
|
||||||
|
name: versions-airshipctl
|
||||||
|
fieldref: "{.images.capd.auth_proxy}"
|
||||||
|
target:
|
||||||
|
objref:
|
||||||
|
kind: Clusterctl
|
||||||
|
name: clusterctl_init
|
||||||
|
fieldrefs: ["{.additional-vars.CONTAINER_CAPD_AUTH_PROXY}"]
|
||||||
|
# Replace capi versions
|
||||||
|
- source:
|
||||||
|
objref:
|
||||||
|
kind: VariableCatalogue
|
||||||
|
name: versions-airshipctl
|
||||||
|
fieldref: "{.images.capi.manager}"
|
||||||
|
target:
|
||||||
|
objref:
|
||||||
|
kind: Clusterctl
|
||||||
|
name: clusterctl_init
|
||||||
|
fieldrefs: ["{.additional-vars.CONTAINER_CAPI_MANAGER}"]
|
||||||
|
- source:
|
||||||
|
objref:
|
||||||
|
kind: VariableCatalogue
|
||||||
|
name: versions-airshipctl
|
||||||
|
fieldref: "{.images.capi.auth_proxy}"
|
||||||
|
target:
|
||||||
|
objref:
|
||||||
|
kind: Clusterctl
|
||||||
|
name: clusterctl_init
|
||||||
|
fieldrefs: ["{.additional-vars.CONTAINER_CAPI_AUTH_PROXY}"]
|
||||||
|
|
||||||
|
@@ -5,5 +5,8 @@ resources:
|
|||||||
- cluster-map.yaml
|
- cluster-map.yaml
|
||||||
- kubeconfig.yaml
|
- kubeconfig.yaml
|
||||||
- ../function/clusterctl
|
- ../function/clusterctl
|
||||||
|
- ../function/airshipctl-base-catalogues
|
||||||
patchesStrategicMerge:
|
patchesStrategicMerge:
|
||||||
- clusterctl_init_options.yaml
|
- clusterctl_init_options.yaml
|
||||||
|
transformers:
|
||||||
|
- ../function/clusterctl/replacements
|
||||||
|
Reference in New Issue
Block a user