Define structural schema for VersionsCatalogue
Changes the versions catalogue from a VariableCatalogue to a structural schema VersionsCatalogue CRD. Relates-To: #363 Change-Id: I445111356662ab33d9337ddd1537885d5afd094f
This commit is contained in:
parent
abc8315828
commit
3fec6981f0
@ -13,10 +13,14 @@ patched at the composite, type, or site level to reconfigure the versions.
|
|||||||
|
|
||||||
The versions info falls under these keys:
|
The versions info falls under these keys:
|
||||||
|
|
||||||
* charts: Helm chart locations and versions
|
* helm_repositories: Helm chart locations
|
||||||
|
|
||||||
|
* charts: Helm chart names and versions
|
||||||
|
|
||||||
* files: image file (etc) locations and versions
|
* files: image file (etc) locations and versions
|
||||||
|
|
||||||
|
* capi_images: cluster-api container image registries and versions
|
||||||
|
|
||||||
* images: container image registries and versions
|
* images: container image registries and versions
|
||||||
|
|
||||||
* kubernetes: a standalone key for the Kubernetes version to use
|
* kubernetes: a standalone key for the Kubernetes version to use
|
||||||
|
@ -1,116 +1,140 @@
|
|||||||
# The default versions catalogue for functions hosted in the airshipctl project.
|
# The default versions catalogue for functions hosted in the airshipctl project.
|
||||||
# These values can be overridden at the site, type, etc levels as appropriate.
|
# These values can be overridden at the site, type, etc levels as appropriate.
|
||||||
apiVersion: airshipit.org/v1alpha1
|
apiVersion: airshipit.org/v1alpha1
|
||||||
kind: VariableCatalogue
|
kind: VersionsCatalogue
|
||||||
metadata:
|
metadata:
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
labels:
|
labels:
|
||||||
airshipit.org/deploy-k8s: "false"
|
airshipit.org/deploy-k8s: "false"
|
||||||
|
spec:
|
||||||
|
helm_repositories:
|
||||||
|
ingress-nginx:
|
||||||
|
url: https://kubernetes.github.io/ingress-nginx
|
||||||
|
|
||||||
helm_repositories:
|
charts:
|
||||||
ingress-nginx:
|
ingress-nginx:
|
||||||
url: https://kubernetes.github.io/ingress-nginx
|
chart: ingress-nginx
|
||||||
charts:
|
version: 3.5.1
|
||||||
ingress-nginx:
|
|
||||||
chart: ingress-nginx
|
|
||||||
version: 3.5.1
|
|
||||||
|
|
||||||
files:
|
files:
|
||||||
k8scontrol:
|
k8scontrol:
|
||||||
cluster_controlplane_image:
|
cluster_controlplane_image:
|
||||||
url: https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
|
url: https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
|
||||||
checksum: 4a6909d1480ac30d676accd7b37ec711
|
checksum: 4a6909d1480ac30d676accd7b37ec711
|
||||||
|
|
||||||
images:
|
capi_images:
|
||||||
capm3: # Images specific to the camp3 function; etc.
|
capm3: # Images specific to the camp3 function; etc.
|
||||||
manager:
|
manager:
|
||||||
repository: quay.io/metal3-io
|
repository: quay.io/metal3-io
|
||||||
tag: v0.3.2
|
tag: v0.3.2
|
||||||
auth_proxy:
|
auth_proxy:
|
||||||
repository: gcr.io/kubebuilder
|
repository: gcr.io/kubebuilder
|
||||||
tag: v0.4.0
|
tag: v0.4.0
|
||||||
cacpk:
|
cacpk:
|
||||||
manager:
|
manager:
|
||||||
repository: us.gcr.io/k8s-artifacts-prod/cluster-api
|
repository: us.gcr.io/k8s-artifacts-prod/cluster-api
|
||||||
tag: v0.3.7
|
tag: v0.3.7
|
||||||
auth_proxy:
|
auth_proxy:
|
||||||
repository: gcr.io/kubebuilder
|
repository: gcr.io/kubebuilder
|
||||||
tag: v0.4.1
|
tag: v0.4.1
|
||||||
cabpk:
|
cabpk:
|
||||||
manager:
|
manager:
|
||||||
repository: us.gcr.io/k8s-artifacts-prod/cluster-api
|
repository: us.gcr.io/k8s-artifacts-prod/cluster-api
|
||||||
tag: v0.3.7
|
tag: v0.3.7
|
||||||
auth_proxy:
|
auth_proxy:
|
||||||
repository: gcr.io/kubebuilder
|
repository: gcr.io/kubebuilder
|
||||||
tag: v0.4.1
|
tag: v0.4.1
|
||||||
capd:
|
capd:
|
||||||
manager:
|
manager:
|
||||||
repository: gcr.io/k8s-staging-cluster-api
|
repository: gcr.io/k8s-staging-cluster-api
|
||||||
tag: v20201019-v0.3.10-86-gc1647481f
|
tag: v20201019-v0.3.10-86-gc1647481f
|
||||||
auth_proxy:
|
auth_proxy:
|
||||||
repository: gcr.io/kubebuilder
|
repository: gcr.io/kubebuilder
|
||||||
tag: v0.4.0
|
tag: v0.4.0
|
||||||
capo:
|
capo:
|
||||||
manager:
|
manager:
|
||||||
repository: gcr.io/k8s-staging-capi-openstack
|
repository: gcr.io/k8s-staging-capi-openstack
|
||||||
tag: v20200707-v0.3.1
|
tag: v20200707-v0.3.1
|
||||||
auth_proxy:
|
auth_proxy:
|
||||||
repository: gcr.io/kubebuilder
|
repository: gcr.io/kubebuilder
|
||||||
tag: v0.4.1
|
tag: v0.4.1
|
||||||
capg:
|
capg:
|
||||||
manager:
|
manager:
|
||||||
repository: gcr.io/k8s-staging-cluster-api-gcp
|
repository: gcr.io/k8s-staging-cluster-api-gcp
|
||||||
tag: master
|
tag: master
|
||||||
auth_proxy:
|
auth_proxy:
|
||||||
repository: gcr.io/kubebuilder
|
repository: gcr.io/kubebuilder
|
||||||
tag: v0.4.1
|
tag: v0.4.1
|
||||||
capi:
|
capi:
|
||||||
manager:
|
manager:
|
||||||
repository: us.gcr.io/k8s-artifacts-prod/cluster-api
|
repository: us.gcr.io/k8s-artifacts-prod/cluster-api
|
||||||
tag: v0.3.7
|
tag: v0.3.7
|
||||||
auth_proxy:
|
auth_proxy:
|
||||||
repository: gcr.io/kubebuilder
|
repository: gcr.io/kubebuilder
|
||||||
tag: v0.4.1
|
tag: v0.4.1
|
||||||
capz:
|
capz:
|
||||||
manager:
|
manager:
|
||||||
repository: gcr.io/k8s-staging-cluster-api-azure
|
repository: gcr.io/k8s-staging-cluster-api-azure
|
||||||
tag: v0.4.9
|
tag: v0.4.9
|
||||||
auth_proxy:
|
auth_proxy:
|
||||||
repository: gcr.io/kubebuilder
|
repository: gcr.io/kubebuilder
|
||||||
tag: v0.4.1
|
tag: v0.4.1
|
||||||
baremetal_operator:
|
|
||||||
ironic: # ironic Deployment
|
|
||||||
init_bootstrap: centos
|
|
||||||
init_images: quay.io/airshipit/ipa:latest
|
|
||||||
dnsmasq: quay.io/metal3-io/ironic:capm3-v0.4.0
|
|
||||||
httpd: quay.io/metal3-io/ironic:capm3-v0.4.0
|
|
||||||
ironic: quay.io/metal3-io/ironic:capm3-v0.4.0
|
|
||||||
ironic_inspector: quay.io/metal3-io/ironic-inspector:capm3-v0.4.0
|
|
||||||
metal3_baremetal_operator: # metal3-baremetal-operator Deployment
|
|
||||||
baremetal_operator: quay.io/metal3-io/baremetal-operator:capm3-v0.4.0
|
|
||||||
ironic_proxy: alpine/socat
|
|
||||||
ironic_inspector_proxy: alpine/socat
|
|
||||||
calico_v3:
|
|
||||||
node: # calico-node DaemonSet
|
|
||||||
upgrade_ipam: calico/cni:v3.15.1
|
|
||||||
install_cni: calico/cni:v3.15.1
|
|
||||||
flexvol_driver: calico/pod2daemon-flexvol:v3.15.1
|
|
||||||
calico_node: calico/node:v3.15.1
|
|
||||||
kube_controllers: # calico-kube-controllers Deployment
|
|
||||||
calico_kube_controllers: calico/kube-controllers:v3.15.1
|
|
||||||
hwcc:
|
|
||||||
manager: # controller-manager Deployment
|
|
||||||
manager: quay.io/hwcc/airship-hcc:v1
|
|
||||||
kube_rbac_proxy: gcr.io/kubebuilder/kube-rbac-proxy:v0.4.1
|
|
||||||
helm_operator:
|
|
||||||
helm_operator: # helm-operator Deployment
|
|
||||||
helm_operator: docker.io/fluxcd/helm-operator:1.2.0
|
|
||||||
flux:
|
|
||||||
helm_controller: # helm-controller Deployment
|
|
||||||
manager: ghcr.io/fluxcd/helm-controller:v0.4.3
|
|
||||||
source_controller: # source-controller Deployment
|
|
||||||
manager: ghcr.io/fluxcd/source-controller:v0.5.3
|
|
||||||
cert-manager:
|
|
||||||
repository: "quay.io/jetstack"
|
|
||||||
|
|
||||||
kubernetes: v1.18.6
|
images:
|
||||||
|
baremetal_operator:
|
||||||
|
ironic: # ironic Deployment
|
||||||
|
init_bootstrap:
|
||||||
|
image: centos
|
||||||
|
init_images:
|
||||||
|
image: quay.io/airshipit/ipa:latest
|
||||||
|
dnsmasq:
|
||||||
|
image: quay.io/metal3-io/ironic:capm3-v0.4.0
|
||||||
|
httpd:
|
||||||
|
image: quay.io/metal3-io/ironic:capm3-v0.4.0
|
||||||
|
ironic:
|
||||||
|
image: quay.io/metal3-io/ironic:capm3-v0.4.0
|
||||||
|
ironic_inspector:
|
||||||
|
image: quay.io/metal3-io/ironic-inspector:capm3-v0.4.0
|
||||||
|
metal3_baremetal_operator: # metal3-baremetal-operator Deployment
|
||||||
|
baremetal_operator:
|
||||||
|
image: quay.io/metal3-io/baremetal-operator:capm3-v0.4.0
|
||||||
|
ironic_proxy:
|
||||||
|
image: alpine/socat
|
||||||
|
ironic_inspector_proxy:
|
||||||
|
image: alpine/socat
|
||||||
|
calico_v3:
|
||||||
|
node: # calico-node DaemonSet
|
||||||
|
upgrade_ipam:
|
||||||
|
image: calico/cni:v3.15.1
|
||||||
|
install_cni:
|
||||||
|
image: calico/cni:v3.15.1
|
||||||
|
flexvol_driver:
|
||||||
|
image: calico/pod2daemon-flexvol:v3.15.1
|
||||||
|
calico_node:
|
||||||
|
image: calico/node:v3.15.1
|
||||||
|
kube_controllers: # calico-kube-controllers Deployment
|
||||||
|
calico_kube_controllers:
|
||||||
|
image: calico/kube-controllers:v3.15.1
|
||||||
|
hwcc:
|
||||||
|
manager: # controller-manager Deployment
|
||||||
|
manager:
|
||||||
|
image: quay.io/hwcc/airship-hcc:v1
|
||||||
|
kube_rbac_proxy:
|
||||||
|
image: gcr.io/kubebuilder/kube-rbac-proxy:v0.4.1
|
||||||
|
helm_operator:
|
||||||
|
helm_operator: # helm-operator Deployment
|
||||||
|
helm_operator:
|
||||||
|
image: docker.io/fluxcd/helm-operator:1.2.0
|
||||||
|
flux:
|
||||||
|
helm_controller: # helm-controller Deployment
|
||||||
|
manager:
|
||||||
|
image: ghcr.io/fluxcd/helm-controller:v0.4.3
|
||||||
|
source_controller: # source-controller Deployment
|
||||||
|
manager:
|
||||||
|
image: ghcr.io/fluxcd/source-controller:v0.5.3
|
||||||
|
cert-manager:
|
||||||
|
cert-manager:
|
||||||
|
repository:
|
||||||
|
image: "quay.io/jetstack"
|
||||||
|
|
||||||
|
kubernetes: v1.18.6
|
||||||
|
2
manifests/function/airshipctl-schemas/kustomization.yaml
Normal file
2
manifests/function/airshipctl-schemas/kustomization.yaml
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
resources:
|
||||||
|
- versions-catalogue.yaml
|
@ -0,0 +1,86 @@
|
|||||||
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
|
kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
name: versionscatalogues.airshipit.org
|
||||||
|
spec:
|
||||||
|
group: airshipit.org
|
||||||
|
names:
|
||||||
|
kind: VersionsCatalogue
|
||||||
|
plural: versionscatalogues
|
||||||
|
singular: versionscatalogue
|
||||||
|
scope: Namespaced
|
||||||
|
versions:
|
||||||
|
- name: v1alpha1
|
||||||
|
served: true
|
||||||
|
storage: true
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
spec:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
helm_repositories:
|
||||||
|
type: object
|
||||||
|
additionalProperties:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
url:
|
||||||
|
type: string
|
||||||
|
charts:
|
||||||
|
type: object
|
||||||
|
additionalProperties:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
chart:
|
||||||
|
type: string
|
||||||
|
version:
|
||||||
|
type: string
|
||||||
|
files:
|
||||||
|
type: object
|
||||||
|
additionalProperties: # file group
|
||||||
|
type: object
|
||||||
|
additionalProperties: # file
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
url:
|
||||||
|
type: string
|
||||||
|
checksum:
|
||||||
|
type: string
|
||||||
|
capi_images:
|
||||||
|
type: object
|
||||||
|
additionalProperties:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
manager:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
repository:
|
||||||
|
type: string
|
||||||
|
tag:
|
||||||
|
type: string
|
||||||
|
auth_proxy:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
repository:
|
||||||
|
type: string
|
||||||
|
tag:
|
||||||
|
type: string
|
||||||
|
images:
|
||||||
|
type: object
|
||||||
|
additionalProperties: # image groups
|
||||||
|
type: object
|
||||||
|
additionalProperties: # Deployments in image group
|
||||||
|
type: object
|
||||||
|
additionalProperties: # images in Deployment
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
image:
|
||||||
|
type: string
|
||||||
|
# TODO(mfuller): add fields for 'tag' and 'hash' which
|
||||||
|
# will require a function in the replacement transformer
|
||||||
|
# to properly concatenate the complete image string, i.e.
|
||||||
|
# image/name:tag and image/name@sha256:hash
|
||||||
|
kubernetes:
|
||||||
|
type: string
|
||||||
|
|
@ -4,7 +4,7 @@ Function: baremetal-operator
|
|||||||
This function defines a deployment of the Metal3 baremetal-operator,
|
This function defines a deployment of the Metal3 baremetal-operator,
|
||||||
including both the operator itself and Ironic.
|
including both the operator itself and Ironic.
|
||||||
|
|
||||||
Optional: a ``versions-airshipctl`` VariableCatalogue may be used to
|
Optional: a ``versions-airshipctl`` VersionsCatalogue may be used to
|
||||||
override the default container images.
|
override the default container images.
|
||||||
A base example for this catalogue can be found in the ``airshipctl-base-catalogues``
|
A base example for this catalogue can be found in the ``airshipctl-base-catalogues``
|
||||||
function. If using the catalogue, apply the ``replacements/`` entrypoint
|
function. If using the catalogue, apply the ``replacements/`` entrypoint
|
||||||
|
@ -12,8 +12,9 @@ replacements:
|
|||||||
# Container versions for the ironic Deployment
|
# Container versions for the ironic Deployment
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: "{.images.baremetal_operator.ironic.init_bootstrap}"
|
fieldref: "{.spec.images.baremetal_operator.ironic.init_bootstrap.image}"
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
@ -21,8 +22,9 @@ replacements:
|
|||||||
fieldrefs: ["{.spec.template.spec.initContainers[?(.name == 'init-bootstrap')].image}"]
|
fieldrefs: ["{.spec.template.spec.initContainers[?(.name == 'init-bootstrap')].image}"]
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: "{.images.baremetal_operator.ironic.init_images}"
|
fieldref: "{.spec.images.baremetal_operator.ironic.init_images.image}"
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
@ -30,8 +32,9 @@ replacements:
|
|||||||
fieldrefs: ["{.spec.template.spec.initContainers[?(.name == 'init-images')].image}"]
|
fieldrefs: ["{.spec.template.spec.initContainers[?(.name == 'init-images')].image}"]
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: "{.images.baremetal_operator.ironic.dnsmasq}"
|
fieldref: "{.spec.images.baremetal_operator.ironic.dnsmasq.image}"
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
@ -39,8 +42,9 @@ replacements:
|
|||||||
fieldrefs: ["{.spec.template.spec.containers[?(.name == 'dnsmasq')].image}"]
|
fieldrefs: ["{.spec.template.spec.containers[?(.name == 'dnsmasq')].image}"]
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: "{.images.baremetal_operator.ironic.httpd}"
|
fieldref: "{.spec.images.baremetal_operator.ironic.httpd.image}"
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
@ -48,8 +52,9 @@ replacements:
|
|||||||
fieldrefs: ["{.spec.template.spec.containers[?(.name == 'httpd')].image}"]
|
fieldrefs: ["{.spec.template.spec.containers[?(.name == 'httpd')].image}"]
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: "{.images.baremetal_operator.ironic.ironic}"
|
fieldref: "{.spec.images.baremetal_operator.ironic.ironic.image}"
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
@ -57,8 +62,9 @@ replacements:
|
|||||||
fieldrefs: ["{.spec.template.spec.containers[?(.name == 'ironic')].image}"]
|
fieldrefs: ["{.spec.template.spec.containers[?(.name == 'ironic')].image}"]
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: "{.images.baremetal_operator.ironic.ironic_inspector}"
|
fieldref: "{.spec.images.baremetal_operator.ironic.ironic_inspector.image}"
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
@ -67,8 +73,9 @@ replacements:
|
|||||||
# Container versions for the metal3-baremetal-operator Deployment
|
# Container versions for the metal3-baremetal-operator Deployment
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: "{.images.baremetal_operator.metal3_baremetal_operator.baremetal_operator}"
|
fieldref: "{.spec.images.baremetal_operator.metal3_baremetal_operator.baremetal_operator.image}"
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
@ -76,8 +83,9 @@ replacements:
|
|||||||
fieldrefs: ["{.spec.template.spec.containers[?(.name == 'baremetal-operator')].image}"]
|
fieldrefs: ["{.spec.template.spec.containers[?(.name == 'baremetal-operator')].image}"]
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: "{.images.baremetal_operator.metal3_baremetal_operator.ironic_proxy}"
|
fieldref: "{.spec.images.baremetal_operator.metal3_baremetal_operator.ironic_proxy.image}"
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
@ -85,8 +93,9 @@ replacements:
|
|||||||
fieldrefs: ["{.spec.template.spec.containers[?(.name == 'ironic-proxy')].image}"]
|
fieldrefs: ["{.spec.template.spec.containers[?(.name == 'ironic-proxy')].image}"]
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: "{.images.baremetal_operator.metal3_baremetal_operator.ironic_inspector_proxy}"
|
fieldref: "{.spec.images.baremetal_operator.metal3_baremetal_operator.ironic_inspector_proxy.image}"
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
|
@ -11,9 +11,9 @@ replacements:
|
|||||||
# Replace capm3 versions
|
# Replace capm3 versions
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
kind: VariableCatalogue
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: "{.images.capm3.manager}"
|
fieldref: "{.spec.capi_images.capm3.manager}"
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: Clusterctl
|
kind: Clusterctl
|
||||||
@ -21,9 +21,9 @@ replacements:
|
|||||||
fieldrefs: ["{.images.infrastructure-metal3/cluster-api-provider-metal3}"]
|
fieldrefs: ["{.images.infrastructure-metal3/cluster-api-provider-metal3}"]
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
kind: VariableCatalogue
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: "{.images.capm3.auth_proxy}"
|
fieldref: "{.spec.capi_images.capm3.auth_proxy}"
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: Clusterctl
|
kind: Clusterctl
|
||||||
@ -32,9 +32,9 @@ replacements:
|
|||||||
# Replace cacpk versions
|
# Replace cacpk versions
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
kind: VariableCatalogue
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: "{.images.cacpk.manager}"
|
fieldref: "{.spec.capi_images.cacpk.manager}"
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: Clusterctl
|
kind: Clusterctl
|
||||||
@ -42,9 +42,9 @@ replacements:
|
|||||||
fieldrefs: ["{.images.control-plane-kubeadm/kubeadm-control-plane-controller}"]
|
fieldrefs: ["{.images.control-plane-kubeadm/kubeadm-control-plane-controller}"]
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
kind: VariableCatalogue
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: "{.images.cacpk.auth_proxy}"
|
fieldref: "{.spec.capi_images.cacpk.auth_proxy}"
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: Clusterctl
|
kind: Clusterctl
|
||||||
@ -53,9 +53,9 @@ replacements:
|
|||||||
# Replace cabpk versions
|
# Replace cabpk versions
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
kind: VariableCatalogue
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: "{.images.cabpk.manager}"
|
fieldref: "{.spec.capi_images.cabpk.manager}"
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: Clusterctl
|
kind: Clusterctl
|
||||||
@ -63,9 +63,9 @@ replacements:
|
|||||||
fieldrefs: ["{.images.bootstrap-kubeadm/kubeadm-bootstrap-controller}"]
|
fieldrefs: ["{.images.bootstrap-kubeadm/kubeadm-bootstrap-controller}"]
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
kind: VariableCatalogue
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: "{.images.cabpk.auth_proxy}"
|
fieldref: "{.spec.capi_images.cabpk.auth_proxy}"
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: Clusterctl
|
kind: Clusterctl
|
||||||
@ -74,9 +74,9 @@ replacements:
|
|||||||
# Replace capd versions
|
# Replace capd versions
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
kind: VariableCatalogue
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: "{.images.capd.manager}"
|
fieldref: "{.spec.capi_images.capd.manager}"
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: Clusterctl
|
kind: Clusterctl
|
||||||
@ -84,9 +84,9 @@ replacements:
|
|||||||
fieldrefs: ["{.images.infrastructure-docker/capd-manager}"]
|
fieldrefs: ["{.images.infrastructure-docker/capd-manager}"]
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
kind: VariableCatalogue
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: "{.images.capd.auth_proxy}"
|
fieldref: "{.spec.capi_images.capd.auth_proxy}"
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: Clusterctl
|
kind: Clusterctl
|
||||||
@ -95,9 +95,9 @@ replacements:
|
|||||||
# Replace capo versions
|
# Replace capo versions
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
kind: VariableCatalogue
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: "{.images.capo.manager}"
|
fieldref: "{.spec.capi_images.capo.manager}"
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: Clusterctl
|
kind: Clusterctl
|
||||||
@ -105,9 +105,9 @@ replacements:
|
|||||||
fieldrefs: ["{.images.infrastructure-openstack/capi-openstack-controller-amd64}"]
|
fieldrefs: ["{.images.infrastructure-openstack/capi-openstack-controller-amd64}"]
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
kind: VariableCatalogue
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: "{.images.capo.auth_proxy}"
|
fieldref: "{.spec.capi_images.capo.auth_proxy}"
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: Clusterctl
|
kind: Clusterctl
|
||||||
@ -116,9 +116,9 @@ replacements:
|
|||||||
# Replace capg versions
|
# Replace capg versions
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
kind: VariableCatalogue
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: "{.images.capg.manager}"
|
fieldref: "{.spec.capi_images.capg.manager}"
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: Clusterctl
|
kind: Clusterctl
|
||||||
@ -126,9 +126,9 @@ replacements:
|
|||||||
fieldrefs: ["{.images.infrastructure-gcp/cluster-api-gcp-controller}"]
|
fieldrefs: ["{.images.infrastructure-gcp/cluster-api-gcp-controller}"]
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
kind: VariableCatalogue
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: "{.images.capg.auth_proxy}"
|
fieldref: "{.spec.capi_images.capg.auth_proxy}"
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: Clusterctl
|
kind: Clusterctl
|
||||||
@ -137,9 +137,9 @@ replacements:
|
|||||||
# Replace capi versions
|
# Replace capi versions
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
kind: VariableCatalogue
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: "{.images.capi.manager}"
|
fieldref: "{.spec.capi_images.capi.manager}"
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: Clusterctl
|
kind: Clusterctl
|
||||||
@ -147,9 +147,9 @@ replacements:
|
|||||||
fieldrefs: ["{.images.cluster-api/cluster-api-controller}"]
|
fieldrefs: ["{.images.cluster-api/cluster-api-controller}"]
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
kind: VariableCatalogue
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: "{.images.capi.auth_proxy}"
|
fieldref: "{.spec.capi_images.capi.auth_proxy}"
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: Clusterctl
|
kind: Clusterctl
|
||||||
@ -159,9 +159,9 @@ replacements:
|
|||||||
# Replace capz versions
|
# Replace capz versions
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
kind: VariableCatalogue
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: "{.images.capz.manager}"
|
fieldref: "{.spec.capi_images.capz.manager}"
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: Clusterctl
|
kind: Clusterctl
|
||||||
@ -169,9 +169,9 @@ replacements:
|
|||||||
fieldrefs: ["{.images.infrastructure-azure/cluster-api-azure-controller}"]
|
fieldrefs: ["{.images.infrastructure-azure/cluster-api-azure-controller}"]
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
kind: VariableCatalogue
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: "{.images.capz.auth_proxy}"
|
fieldref: "{.spec.capi_images.capz.auth_proxy}"
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: Clusterctl
|
kind: Clusterctl
|
||||||
@ -181,8 +181,9 @@ replacements:
|
|||||||
# Replace the cert-manager image repository in the Clusterctl
|
# Replace the cert-manager image repository in the Clusterctl
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: "{.images.cert-manager.repository}"
|
fieldref: "{.spec.capi_images.cert-manager.repository}"
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: Clusterctl
|
kind: Clusterctl
|
||||||
|
@ -9,9 +9,9 @@ metadata:
|
|||||||
replacements:
|
replacements:
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
kind: VariableCatalogue
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: images.flux.helm_controller.manager
|
fieldref: spec.images.flux.helm_controller.manager.image
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
|
@ -9,9 +9,9 @@ metadata:
|
|||||||
replacements:
|
replacements:
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
kind: VariableCatalogue
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: images.flux.source_controller.manager
|
fieldref: spec.images.flux.source_controller.manager.image
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
|
@ -9,9 +9,9 @@ metadata:
|
|||||||
replacements:
|
replacements:
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
kind: VariableCatalogue
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: images.helm_operator.helm_operator.helm_operator
|
fieldref: spec.images.helm_operator.helm_operator.helm_operator.image
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
|
@ -9,9 +9,9 @@ metadata:
|
|||||||
replacements:
|
replacements:
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
kind: VariableCatalogue
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: images.hwcc.manager.manager
|
fieldref: spec.images.hwcc.manager.manager.image
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
@ -19,9 +19,9 @@ replacements:
|
|||||||
fieldrefs: ["spec.template.spec.containers[name=manager].image"]
|
fieldrefs: ["spec.template.spec.containers[name=manager].image"]
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
kind: VariableCatalogue
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: images.hwcc.manager.kube_rbac_proxy
|
fieldref: spec.images.hwcc.manager.kube_rbac_proxy.image
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
|
@ -5,7 +5,7 @@ This function defines a KubeADM and Metal3 control plane, including
|
|||||||
Cluster, Metal3Cluster, KubeadmControlPlane, and Metal3MachineTemplate
|
Cluster, Metal3Cluster, KubeadmControlPlane, and Metal3MachineTemplate
|
||||||
resources.
|
resources.
|
||||||
|
|
||||||
Optional: a ``versions-airshipctl`` VariableCatalogue may be used to
|
Optional: a ``versions-airshipctl`` VersionsCatalogue may be used to
|
||||||
override the default Kubernetes version and controlplane disk image.
|
override the default Kubernetes version and controlplane disk image.
|
||||||
A base example for this catalogue can be found in the ``airshipctl-base-catalogues``
|
A base example for this catalogue can be found in the ``airshipctl-base-catalogues``
|
||||||
function. If using the catalogue, apply the ``replacements/`` entrypoint
|
function. If using the catalogue, apply the ``replacements/`` entrypoint
|
||||||
|
@ -11,8 +11,9 @@ replacements:
|
|||||||
# Replace the Kubernetes version in the KubeadmControlPlane
|
# Replace the Kubernetes version in the KubeadmControlPlane
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: "{.kubernetes}"
|
fieldref: "{.spec.kubernetes}"
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: KubeadmControlPlane
|
kind: KubeadmControlPlane
|
||||||
@ -21,8 +22,9 @@ replacements:
|
|||||||
# Replace the controlplane disk image in the Metal3MachineTemplate
|
# Replace the controlplane disk image in the Metal3MachineTemplate
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: "{.files.k8scontrol.cluster_controlplane_image}"
|
fieldref: "{.spec.files.k8scontrol.cluster_controlplane_image}"
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: Metal3MachineTemplate
|
kind: Metal3MachineTemplate
|
||||||
|
@ -23,7 +23,7 @@ patches: |-
|
|||||||
$patch: delete
|
$patch: delete
|
||||||
---
|
---
|
||||||
apiVersion: airshipit.org/v1alpha1
|
apiVersion: airshipit.org/v1alpha1
|
||||||
kind: VariableCatalogue
|
kind: VersionsCatalogue
|
||||||
metadata:
|
metadata:
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
$patch: delete
|
$patch: delete
|
||||||
|
@ -23,7 +23,7 @@ patches: |-
|
|||||||
$patch: delete
|
$patch: delete
|
||||||
---
|
---
|
||||||
apiVersion: airshipit.org/v1alpha1
|
apiVersion: airshipit.org/v1alpha1
|
||||||
kind: VariableCatalogue
|
kind: VersionsCatalogue
|
||||||
metadata:
|
metadata:
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
$patch: delete
|
$patch: delete
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
# Override default controlplane image location
|
# Override default controlplane image location
|
||||||
apiVersion: airshipit.org/v1alpha1
|
apiVersion: airshipit.org/v1alpha1
|
||||||
kind: VariableCatalogue
|
kind: VersionsCatalogue
|
||||||
metadata:
|
metadata:
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
files:
|
spec:
|
||||||
k8scontrol:
|
files:
|
||||||
# Host the image in a locally served location for CI
|
k8scontrol:
|
||||||
cluster_controlplane_image:
|
# Host the image in a locally served location for CI
|
||||||
url: http://10.23.24.101:80/images/control-plane.qcow2
|
cluster_controlplane_image:
|
||||||
checksum: http://10.23.24.101:80/images/control-plane.qcow2.md5sum
|
url: http://10.23.24.101:80/images/control-plane.qcow2
|
||||||
|
checksum: http://10.23.24.101:80/images/control-plane.qcow2.md5sum
|
||||||
|
@ -9,9 +9,9 @@ metadata:
|
|||||||
replacements:
|
replacements:
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
kind: VariableCatalogue
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: helm_repositories.ingress-nginx.url
|
fieldref: spec.helm_repositories.ingress-nginx.url
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: HelmRepository
|
kind: HelmRepository
|
||||||
@ -19,9 +19,9 @@ replacements:
|
|||||||
fieldrefs: ["spec.url"]
|
fieldrefs: ["spec.url"]
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
kind: VariableCatalogue
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: charts.ingress-nginx.chart
|
fieldref: spec.charts.ingress-nginx.chart
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: HelmRelease
|
kind: HelmRelease
|
||||||
@ -29,9 +29,9 @@ replacements:
|
|||||||
fieldrefs: ["spec.chart.spec.chart"]
|
fieldrefs: ["spec.chart.spec.chart"]
|
||||||
- source:
|
- source:
|
||||||
objref:
|
objref:
|
||||||
kind: VariableCatalogue
|
kind: VersionsCatalogue
|
||||||
name: versions-airshipctl
|
name: versions-airshipctl
|
||||||
fieldref: charts.ingress-nginx.version
|
fieldref: spec.charts.ingress-nginx.version
|
||||||
target:
|
target:
|
||||||
objref:
|
objref:
|
||||||
kind: HelmRelease
|
kind: HelmRelease
|
||||||
|
Loading…
Reference in New Issue
Block a user