Version Information Enterprise
There are now multiple published versions of the template CRD.
Migration notes
v1alpha1 to v1alpha2
When manually migrating a template from v1alpha1 to v1alpha2 (for example in git) you will need to:
- Update the
apiVersiontotemplates.weave.works/v1alpha2 - Move the
spec.resourcetemplatesfield tospec.resourcetemplates[0].contents - Either leave the
spec.resourcetemplates[0].pathfield empty or give it a sensible value.
If you experience issues with the path not being recognised when Flux reconciles the new template versions, try manually applying the new template to the cluster directly with:
- Run
kubectl apply -f capi-template.yaml - Run
flux reconcile kustomization --with-source flux-systemtwice.
Conversion Webhook
A conversion webhook is hosted by the flux-system/templates-controller-webhook-service service.
v1alpha1 templates are automatically converted to v1alpha2 when they are loaded into the cluster.
v1alpha1 to v1alpha2 conversion
The spec.resourcetemplates field is moved to spec.resourcetemplates[0].contents and the spec.resourcetemplates[0].path is left empty.
When the tempalte is rendered the spec.resourcetemplates[0].path field has a default value calculated.
v1alpha2 (default) notes
This version changes the type of spec.resourcetemplates from a list of objects to a list of files with a path and contents:
Example:
spec:
resourcetemplates:
- path: "clusters/{{ .params.CLUSTER_NAME }}.yaml"
contents:
- apiVersion: cluster.x-k8s.io/v1alpha3
kind: Cluster
metadata:
name: "{{ .params.CLUSTER_NAME }}"
path: "clusters/{{ .params.CLUSTER_NAME }}.yaml"
v1alpha1 notes
The original version of the template. This version is deprecated and will be removed in a future release.
It uses spec.resourcetemplates as a list of resources to render.
Example:
spec:
resourcetemplates:
- apiVersion: cluster.x-k8s.io/v1alpha3
kind: Cluster
metadata:
name: "{{ .params.CLUSTER_NAME }}"