airshipctl/manifests/function/clusterctl
Matt McEuen 70ec47096c Add catalogue-driven CAPI container versions
This allows for container locations and versions for the CAPI functions
to be (optionally) driven by the `versions-airshipctl` versions
catalogue.  In addition, this moves the clusterctl config from the site
level to become its own function, which can be further refined
(e.g. for public cloud providers) via inheriting functions, composites,
types, etc.

Change-Id: Ic2b02e256419ee8536f5237327cce2754fd0abff
Closes: https://github.com/airshipit/airshipctl/issues/316
2020-09-14 18:01:06 +00:00
..
replacements Add catalogue-driven CAPI container versions 2020-09-14 18:01:06 +00:00
clusterctl.yaml Add catalogue-driven CAPI container versions 2020-09-14 18:01:06 +00:00
kustomization.yaml Add catalogue-driven CAPI container versions 2020-09-14 18:01:06 +00:00
README.md Add catalogue-driven CAPI container versions 2020-09-14 18:01:06 +00:00

Function: k8scontrol

This function defines a base Clusterctl config that includes a collection of available CAPI providers (under providers) which are supported by airshipctl. It also provides a selection of those for a default Metal3 deployment (under init-options). The selected init-options may be patched/overridden at the Type level, etc.

This function relies on CAPI variable substitution to supply versioned container images to the CAPI components. The Clusterctl objects supplies defaults, and these can (optionally) be overridden either by simple Kustomize patching, or by applying the replacements kustomization as a Kustomize transformer. In the latter case, an airshipctl versions catalogue must be supplied; please see the airshipctl-catalogues function for a base/example.