SovereignCloudStack / cluster-stacks

Definition of Cluster Stacks based on the ClusterAPI ClusterClass feature
https://scs.community/
Apache License 2.0
7 stars 6 forks source link

Refactor/Reimplement Helm templating via Clusterclass templating #11

Closed mxmxchere closed 5 months ago

mxmxchere commented 7 months ago

As mentioned in https://github.com/SovereignCloudStack/k8s-cluster-api-provider/issues/666 the helm-chart that reflects the current state of https://github.com/SovereignCloudStack/k8s-cluster-api-provider now exists. Because the cluster stack operator can not be used to template a helm chart we will need to reimplement the templating using the clusterclass templating mechanism.

mxmxchere commented 7 months ago

We can take the current helm values.yaml as a starting point for the cluster-class variables. Currently we have the following values(now)-variables(then) in the helmchart:

variable Comment Status
external_id probably not needed
controller_flavor done
worker_flavor done
node_cidr done
dns_nameservers done
openstack_security_groups done
prefix helm templating only 🟠
testcluster_name helm only 🟠
control_plane_machine_gen helm only 🟠
worker_machine_gen helm only 🟠
etcd_unsafe_fs always false, no need to template
http_proxy tbd
no_proxy tbd
containerd_registry_files tbd
etcd_defrag always true, no need to template
tweak_kubeapi_memlimit always true, no need to template

A 1:1 translation of "helm-templating" to "cluster-class-patching" will not be possible everywhere.

prefix and testcluster_name are a little bit tricky for the following reasons:

mxmxchere commented 7 months ago

all helm values are included as cluster class variables now, creating the patches is the next step