airshipctl/manifests/function/baremetal-operator/replacements/versions.yaml
Matt McEuen f15e7e5e41 Add airshipctl versions catalogue & replacements
This extracts the container, disk image, and Kubernetes versions that
are defined in airshipctl functions, into an `versions-airshipctl`
catalogue in the `airshipctl-catalogues` function.  The default version
values have been left in-place in their resources as well, and will
be used if the user decides not to apply the catalogue via a
transformer at the site level (it's not currently required to actually
use the catalogue or associate replacment rules).

Please see the READMEs in this change for more information.

Note: replacement of CAPI component container versions must be done
through a slightly different mechanism and will be in a
follow-on changeset.

Note that this also incorporates a fix to pin the Ironic images, which
are currently not compatible at the :latest tag.

Co-Authored-By: Alexander Noskov <anoskov@mirantis.com>
Change-Id: Iafe1d185a7e7d3932576055eda819d2270b02482
Relates-To: https://github.com/airshipit/airshipctl/issues/316
2020-09-03 18:12:27 -05:00

83 lines
2.5 KiB
YAML

# These rules inject host-specific information from the `host-catalogue`
# into the hostgenerator-m3 function's Template plugin config.
apiVersion: airshipit.org/v1alpha1
kind: ReplacementTransformer
metadata:
name: baremetal-operator-versions-replacements
replacements:
# Container versions for the ironic Deployment
- source:
objref:
name: versions-airshipctl
fieldref: images.baremetal_operator.ironic.init_bootstrap
target:
objref:
kind: Deployment
name: ironic
fieldrefs: ["spec.template.spec.initContainers[name=init-bootstrap].image"]
- source:
objref:
name: versions-airshipctl
fieldref: images.baremetal_operator.ironic.dnsmasq
target:
objref:
kind: Deployment
name: ironic
fieldrefs: ["spec.template.spec.containers[name=dnsmasq].image"]
- source:
objref:
name: versions-airshipctl
fieldref: images.baremetal_operator.ironic.httpd
target:
objref:
kind: Deployment
name: ironic
fieldrefs: ["spec.template.spec.containers[name=httpd].image"]
- source:
objref:
name: versions-airshipctl
fieldref: images.baremetal_operator.ironic.ironic
target:
objref:
kind: Deployment
name: ironic
fieldrefs: ["spec.template.spec.containers[name=ironic].image"]
- source:
objref:
name: versions-airshipctl
fieldref: images.baremetal_operator.ironic.ironic_inspector
target:
objref:
kind: Deployment
name: ironic
fieldrefs: ["spec.template.spec.containers[name=ironic-inspector].image"]
# Container versions for the metal3-baremetal-operator Deployment
- source:
objref:
name: versions-airshipctl
fieldref: images.baremetal_operator.metal3_baremetal_operator.baremetal_operator
target:
objref:
kind: Deployment
name: metal3-baremetal-operator
fieldrefs: ["spec.template.spec.containers[name=baremetal-operator].image"]
- source:
objref:
name: versions-airshipctl
fieldref: images.baremetal_operator.metal3_baremetal_operator.ironic_proxy
target:
objref:
kind: Deployment
name: metal3-baremetal-operator
fieldrefs: ["spec.template.spec.containers[name=ironic-proxy].image"]
- source:
objref:
name: versions-airshipctl
fieldref: images.baremetal_operator.metal3_baremetal_operator.ironic_inspector_proxy
target:
objref:
kind: Deployment
name: metal3-baremetal-operator
fieldrefs: ["spec.template.spec.containers[name=ironic-inspector-proxy].image"]