Conversation
Contributor
Author
Contributor
Author
|
Contributor
Author
|
The stack.yaml is a merge of csctl and versions.yaml |
Replace the previous build system (csctl, Makefile, Python scripts, Go release notes) with a streamlined set of bash scripts and a justfile. New tooling: - hack/build.sh: build + publish + --install-cso flag with next-steps output - hack/update.sh: unified version/addon updater with image-manager maintenance - hack/generate-resources.sh: ClusterStack + Cluster YAML generator with .release/ auto-detection - hack/generate-image-manifests.sh: ORC and image-manager format generator - hack/show-matrix.sh: version/addon matrix display with --markdown flag - justfile: task runner with dev, install-cso, generate-*, matrix recipes - Containerfile + flake.nix: reproducible tooling environment Removed: - hack/ensure-*.sh, hack/generate_version.py, hack/kind-dev.sh - hack/generate_openstack_image_manager_yaml.sh - hack/tools/release/notes.go Assisted-by: Claude Code Signed-off-by: Jan Schoone <jan.schoone@uhurutec.com>
…ries
Reorganize all cluster stacks into self-contained per-minor-version directories:
providers/<provider>/<stack>/1-XX/
stack.yaml # metadata: provider, name, k8s version, addon pins
cluster-class/ # Helm chart producing ClusterClass
cluster-addon/ # Helm chart with CNI, CCM, CSI, metrics-server
node-images/ # image build definitions (OpenStack only)
Each directory is fully independent -- no inheritance or sharing between
minor versions. This supports different CAPI API versions (v1beta1 for 1-32,
v1beta2 for 1-35) and version-specific addon pins (CCM 2.34.x for K8s 1.34).
Stacks created:
- openstack/scs: 1-32 (v1beta1, snake_case), 1-33 (v1beta1, camelCase),
1-34 (copy of 1-33), 1-35 (v1beta2, unified variables)
- docker/scs: 1-32 through 1-35
Also adds providers/openstack/scs/image-manager.yaml (aggregated image
references for all OpenStack minor versions).
Removes:
- providers/openstack/scs2/ (consolidated into openstack/scs)
- Old flat directory structure (csctl.yaml, versions.yaml, etc.)
Assisted-by: Claude Code
Signed-off-by: Jan Schoone <jan.schoone@uhurutec.com>
Add providers/openstack/hcp/ with versions 1-33, 1-34, and 1-35. The HCP stack runs the Kubernetes control plane as pods in the management cluster using the teutonet Hosted Control Plane provider (HostedControlPlaneTemplate, controlplane.cluster.x-k8s.io/v1alpha1). Only worker nodes are created as OpenStack VMs. Key differences from the scs stack: - No machineInfrastructure for control plane (no CP VMs) - Worker-prefixed variables (workerFlavor, workerRootDisk, etc.) - Gateway API integration (gatewayName/gatewayNamespace variables) - disableAPIServerFloatingIP: true, apiServerLoadBalancer: none by default - Same addons as scs (Cilium, CCM, CSI, metrics-server) Based on origin/hcp branch, adapted to per-minor-version structure. Assisted-by: Claude Code Signed-off-by: Jan Schoone <jan.schoone@uhurutec.com>
Rewrite all documentation to reflect the new per-Kubernetes-minor-version directory layout, OCI-based workflow, and v1beta2 ClusterClass variables. Tooling changes: - hack/show-matrix.sh: Add --markdown flag for GFM table output - hack/docugen.py: Add --matrix flag to embed version matrix in docs - hack/config-template.md: Update template for v1beta2, add !!matrix!! - justfile: Fix generate-docs to iterate all stacks with correct args New documentation: - docs/quickstart.md: Universal quickstart (OpenStack, Docker, HCP) - docs/providers/openstack/hcp.md: HCP architecture and configuration - docs/providers/openstack/scs-configuration.md: v1beta2 variable reference - docs/providers/docker/scs-configuration.md: Docker stack variable reference Removed: - docs/providers/openstack/quickstart.md (replaced by docs/quickstart.md) - docs/providers/openstack/configuration.md (replaced by scs-configuration.md) Assisted-by: Claude Code Signed-off-by: Jan Schoone <jan.schoone@uhurutec.com>
Re-add csctl.yaml files adapted for the per-minor-version structure. Each version directory now contains its own csctl.yaml with the correct provider type, cluster stack name, and Kubernetes minor version. Assisted-by: Claude Code Signed-off-by: Jan Schoone <jan.schoone@uhurutec.com>
6218088 to
9af6ce4
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)format, will close the issue(s) when PR gets merged):Fixes #
Special notes for your reviewer:
Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.
TODOs: