SovereignCloudStack / SovereignCloudStack/cluster-stacks
Make this repo manageable
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 13
- Forks
- 8
- PR merge metrics
- No merged PRs in 30d
Description
We already noticed that there is an issue with the structure of this repo in:
- https://github.com/SovereignCloudStack/cluster-stacks/issues/56
- https://github.com/SovereignCloudStack/cluster-stacks/issues/96
- https://github.com/SovereignCloudStack/cluster-stacks/issues/101
What those have in common and what @paulphys @chess-knight and @mxmxchere have identified as a key-issue is an "artificial" dependency between the cluster-class and the kubernetes version.
Clusterclass is meant to be a template for Cluster-API and cluster-api-provider-openstack resources supporting multiple kubernetes versions. The kubernetes version therefore resides in the cluster-resource and not in the cluster-class.
We should stop putting the kubernetes version inside the ClusterClass name. If we do that, we have the problem that the cso will no longer work.
How many cluster-classes?
One per provider, version stays the same, version is increased on demand not with each k8s version.
Clusterclasses (very few, changed rarely):
- cluster-class-openstack-v1 (immutable, no renovate (of course)
- cluster-class-openstack-v2
- cluster-class-metal3-v1
Cluster-Addons (one per release+k8s combination):
- cluster-addon-openstack-v1.27
- cluster-addon-openstack-v1.28
- cluster-addon-openstack-v1.29
-> Change CSO-behaviour to read only clusterstackname from cluster.spec.topology.class and to read k8s version from cluster.spec.topology.version
Wishlist for the endresult:
- documentation page (One Page version, parsed out of each cluster-class?)
- tested clusterstacks (latest cluster-class version with 4 latest addons (k8s-version))
- renovate/dependabot updating stack-components
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading issues #56, #96, and #101, then inspect the CSO behavior around cluster.spec.topology.class and cluster.spec.topology.version. Done means cluster-class names no longer encode Kubernetes versions, CSO reads the stack name and Kubernetes version separately, and the proposed cluster-class, addon, documentation, testing, and update workflows are addressed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kubernetes
- Domain
- cloud, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100