airshipctl/manifests/function/clusterctl
Matt McEuen 910d296f6b Deduplicate airshipctl manifest networking
Deduplicate networking definitions inside of airshipctl functions,
and make the values driveable via a catalogue.

Changes:
* Removed BMO patches at site level; drive through catalogue instead.
* Added separate entrypoints for ephemeral & target site-level.
  catalogue/networking overrides. Ephemeral's kustomizes target's.
* Generalized the commonHostNetworking catalogue into a section in the
  overall networking catalogue.
* Cleaned up catalogue use in general.
* Got rid of some ill-formed Type-level phase definition.
  We should go back soon and define proper Type-level phases.

Change-Id: Iff96ccdcf7ebde4ae55e2b1a9d25dd1cdca0d2c8
Relates-To: https://github.com/airshipit/airshipctl/issues/315
2020-10-21 16:26:10 -05:00
..
replacements Introduce Replacement Transformer plugin container 2020-10-16 16:00:56 +04:00
clusterctl.yaml Add document pull step to gate script runner 2020-09-25 00:39:28 -05:00
kustomization.yaml Add catalogue-driven CAPI container versions 2020-09-14 18:01:06 +00:00
README.md Deduplicate airshipctl manifest networking 2020-10-21 16:26:10 -05: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-base-catalogues function for a base/example.