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
apiVersion
totemplates.weave.works/v1alpha2
- Move the
spec.resourcetemplates
field tospec.resourcetemplates[0].contents
- Either leave the
spec.resourcetemplates[0].path
field 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-system
twice.
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 }}"