airshipctl/manifests/function/airshipctl-catalogues
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
..

Function: airshipctl-catalogues

This function defines some default VariableCatalogue resources, which can be consumed and used (via ReplacementTransformer) to change the versioning and resource locations used by functions in the airshipctl project. More base catalogues will be added here in the future.

This catalogue can be used as-is to simply apply defaults, or a different catalogue may be supplied (with the same versions-airshipctl name) as a kustomize resource. The catalogue in this function can also be patched at the composite, type, or site level to reconfigure the versions.

The versions info falls under these keys:

  • charts: Helm chart locations and versions

  • files: image file (etc) locations and versions

  • images: container image registries and versions

  • kubernetes: a standalone key for the Kubernetes version to use

Versions that are defined for specific resources in specific functions (e.g., container images) are categorized in the catalogue according to the function and resource they will be applied to. E.g., images.baremetal_operator.ironic.dnsmasq.