[PR #266] [MERGED] Backport upstream cluster-template workflow parity with just-first operator UX #158
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
webgrip/homelab-cluster#158
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/webgrip/homelab-cluster/pull/266
Author: @Copilot
Created: 5/25/2026
Status: ✅ Merged
Merged: 5/25/2026
Merged by: @Ryangr0
Base:
main← Head:copilot/update-parity-with-upstream-template📝 Commits (6)
4aff42cInitial plan5adbd56chore: add just workflow and upstream parity tooling updatesba6569afix(ci): remove --enable-helm from e2e flux-local test stepd68685afix: update CoreDNS OCI digest to match current registry (1.45.2)76c063bfix(ci): remove --enable-helm from flux-local test step to fix OCI digest version constraint error380871efix(ci): stop running flux-local helmrelease diff matrix job📊 Changes
16 files changed (+174 additions, -22 deletions)
View changed files
📝
.github/labeler.yaml(+4 -2)📝
.github/labels.yaml(+1 -1)➕
.github/workflows/e2e.yaml(+35 -0)📝
.github/workflows/flux-local.yaml(+12 -0)📝
.gitignore(+1 -2)➕
.lefthook.toml(+21 -0)📝
.mise.toml(+15 -3)📝
.vscode/extensions.json(+1 -0)➕
.yamlfmt.yaml(+13 -0)📝
README.md(+1 -1)📝
docs/techdocs/docs/platform-components.md(+2 -2)📝
docs/techdocs/docs/runbooks/kubernetes-upgrade-via-talos.md(+1 -1)📝
docs/techdocs/docs/runbooks/talos-rolling-upgrade.md(+3 -3)📝
docs/techdocs/docs/talos-add-workstation-node.md(+6 -6)➕
justfile(+57 -0)📝
kubernetes/apps/kube-system/coredns/app/ocirepository.yaml(+1 -1)📄 Description
Original prompt
The following is the conversation history from a previous Copilot CLI session. Continue working on it.
User: Look at https://github.com/onedr0p/cluster-template. Since I cloned that repo into homelab-cluster, there have been some changes and updates to the cluster-template. I basically want to have parity. Please outline all the major and minor differences.
Assistant: I’m comparing your repo against the current upstream template first, then I’ll group the drift into major vs. minor parity gaps.I have the upstream checked out now. Next I’m narrowing the comparison to structure and tracked config so the parity gaps are useful instead of just “your repo is customized.”The biggest drift is already clear: upstream has become a generator-based template repo, while your repo is now a fully rendered, cluster-specific GitOps repo. I’m checking the surrounding tooling and workflow files now so I can separate foundational changes from local customizations.I’ve confirmed upstream is no longer shipping a “ready-made cluster repo” at the root. It ships a generator plus templates, which means parity is mostly about adopting its current scaffolding, workflow, and automation model rather than copying manifests 1:1.I found one concrete parity gap that’s easy to miss: upstream’s release automation lives under
.github/workflows/release.yaml, while your repo hasrelease.yamlunder.github/, so that file is just data unless you copied it elsewhere. I’m checking the remaining GitHub/meta files now.I’ve got the repo-model differences pinned down now. The remaining useful detail is mostly in tooling/version drift and GitHub automation drift, not in the cluster manifests themselves.I’ve got the workflow and repo-layout drift. I’m doing one last pass on the tooling/version matrix so the parity list includes the concrete things upstream added or bumped.I have enough to outline the parity gap cleanly now: upstream changes are concentrated in template generation, developer workflow, and CI meta, while your repo has moved heavily into cluster-specific manifests, apps, and operational tooling.Bottom line: you do not have parity with currentonedr0p/cluster-template. The biggest reason is structural: upstream is now a generator-based template repo (cluster.toml+makejinja+just+template/), whilehomelab-clusteris a fully rendered, cluster-specific GitOps repo with substantial custom platform/app content.Major differences
cluster-templatehomelab-clustercluster.sample.toml→cluster.tomlcluster.toml; manifests are authored/rendered directlymakejinja.toml+template/+ CUE schemajustfile+mod.justmodulesTaskfile.yaml+.taskfiles/template/config/...bootstrap/,kubernetes/,talos/treesMajor upstream things you are missing
Template pipeline
cluster.sample.tomlmakejinja.tomltemplate/justfiletemplate/resources/config.schema.cueValidation/test scaffolding
.github/workflows/e2e.yaml.github/tests/valid/*.github/tests/invalid/*Current developer workflow
lefthookpre-commit setup via.lefthook.toml.yamlfmt.yamlmise.lockJUST_UNSTABLE=1in.mise.tomlCurrent GitHub workflow set
e2e.yamlandworkflows/release.yaml.github/workflows/release.yamlMajor things your repo has that upstream does not
Large cluster-specific platform/app surface
kubernetes/apps/*with many namespaces/apps beyond the template baselinearc-systems,backstage,cnpg-*,longhorn-system,observability,renovate,minecraft,n8n,searxng,zomboid, etc.Operational docs and inventory
docs/techdocscatalog/catalog-info.yamlCustom automation/agents
.github/agents/cluster-health.agent.mdCreated from VS Code.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.