Skip to main content

Using specific Cluster Stack versions

If you want specific releases to be always available, you can add a versions parameter, containing an array of version strings under the spec of your ClusterStack:

clusterstack.yamlyaml
		apiVersion: clusterstack.x-k8s.io/v1alpha1
kind: ClusterStack
metadata:
  name: hetzner-apalla-1-35
spec:
  provider: hetzner
  name: apalla
  kubernetesVersion: "1.35"
  channel: stable
  autoSubscribe: true
  versions:
    - v1
    - v2
  providerRef:
    name: hetzner-apalla-1-35
    kind: HetznerClusterStackReleaseTemplate
    apiVersion: infrastructure.clusterstack.x-k8s.io/v1alpha1
---
apiVersion: infrastructure.clusterstack.x-k8s.io/v1alpha1
kind: HetznerClusterStackReleaseTemplate
metadata:
  name: hetzner-apalla-1-35
spec:
  template:
    spec:
      nodeImages:
        - controlplaneamd64hcloud
        - workeramd64hcloud
	

Using this manifest, you'll have the v1 and v2 plus the latest release of the Cluster Stack for Kubernetes 1.35. If you don't want the latest version to always be available, you can change the value of spec.autoSubscribe from true to false:

clusterstack.yamlyaml
		apiVersion: clusterstack.x-k8s.io/v1alpha1
kind: ClusterStack
metadata:
  name: hetzner-apalla-1-35
spec:
  provider: hetzner
  name: apalla
  kubernetesVersion: "1.35"
  channel: stable
  autoSubscribe: true
  autoSubscribe: false
  versions:
    - v1
    - v2
  providerRef:
    name: hetzner-apalla-1-35
    kind: HetznerClusterStackReleaseTemplate
    apiVersion: infrastructure.clusterstack.x-k8s.io/v1alpha1
---
apiVersion: infrastructure.clusterstack.x-k8s.io/v1alpha1
kind: HetznerClusterStackReleaseTemplate
metadata:
  name: hetzner-apalla-1-35
spec:
  template:
    spec:
      nodeImages:
        - controlplaneamd64hcloud
        - workeramd64hcloud
	

Note that if you are not auto-subscribed to the latest version, you must specify the versions you want, otherwise there will be no Cluster Stack Release available for your clusters.