Repository navigation
feat(crossplane): pin the four packages that only came in through dependsOn - #163
Merged
Merged
Conversation
…endsOn provider-kubernetes, provider-proxmox-bpg and the xpkg.crossplane.io twins of function-kcl and function-patch-and-transform were never installed explicitly. The package manager pulled them in for the Configurations' dependsOn, at the newest version the constraint allowed that day, so two clusters built from the same commit differed. A throwaway machinery cluster (u26-kindtest, 2026-09-19) got provider-kubernetes 1.3.1, proxmox-bpg 1.19.3, kcl 0.12.3 and p&t 0.10.11 next to u26-kind3's 1.2.1, 1.18.0, 0.12.2 and 0.10.8. Each is now listed under exactly the name and source the package manager derives from the dependsOn, as provider-helm already is (#154), so the dependency finds this object instead of adding its own. Versions are u26-kind3's. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
patrick-hermann-sva
deleted the
feat/pin-dependency-derived-packages
branch
September 19, 2026 17:52
patrick-hermann-sva
added a commit
to stuttgart-things/ansible
that referenced
this pull request
Sep 19, 2026
* feat(container): install capability + argocd-cluster, adopt dependency-derived packages - platform_packages: capability v0.7.2 and argocd-cluster v0.2.1. Nothing dependsOn them, so they only existed where installed by hand (u26-kind3, each with a live XR); a machinery cluster rebuilt from Git lacked both XRDs. Found by the u26-kindtest rebuild (2026-09-19). - helm_adopt_packages + an adoption task before the providers step: the helm repo now pins provider-kubernetes, provider-proxmox-bpg and the xpkg.crossplane.io twins of function-kcl/function-patch-and-transform under their dependsOn-derived names (stuttgart-things/helm#163). On an existing cluster the dependency created those objects first and Helm refuses them; they are adopted into crossplane-providers/crossplane-functions, same as ansible-run. No-op where the object does not exist. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * chore(container): raise helm_repo_ref to 4ba3965 (pinned dependency packages) Picks up stuttgart-things/helm#163. The only files that differ from 5128462 are the crossplane-providers and crossplane-config helmfiles. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
This branch was successfully deployed
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.
Pins the four packages that until now came in only through Configurations'
dependsOn.crossplane-providersgets two providers andcrossplane-configtwo functions.Why
Nothing pinned these. The package manager installed them at the newest version the constraint allowed at install time, so two machinery clusters built from the same Git commits differed. A throwaway cluster (u26-kindtest, 2026-09-19), built with the full kind-machinery chain, came up like this:
How
Each entry uses exactly the name and source the package manager derives from the
dependsOn. That's the same pattern ascrossplane-contrib-provider-helm(#154): the dependency finds this object and doesn't add its own. The versions are u26-kind3's, so kind3 doesn't change.crossplane-contrib-provider-kubernetes→xpkg.crossplane.io/crossplane-contrib/provider-kubernetes:v1.2.1, no rbac (default runtime config, as live)valkiriaaquaticamendi-provider-proxmox-bpg→xpkg.upbound.io/valkiriaaquaticamendi/provider-proxmox-bpg:v1.18.0, no rbac (as live)crossplane-contrib-function-kcl→xpkg.crossplane.io/…/function-kcl:v0.12.2crossplane-contrib-function-patch-and-transform→xpkg.crossplane.io/…/function-patch-and-transform:v0.10.8The short-named
function-kclandfunction-patch-and-transformstay onxpkg.upbound.io. Compositions call them by those names, and the differing mirror keeps the two Lock nodes distinct.Existing clusters
On a cluster that already has these objects from the dependency resolver,
helmfile applyrefuses to take them over (invalid ownership metadata). The kind-machinery play gets an adoption step for that, in a separate ansible PR, the same as ansible-run already has. On a fresh cluster the helmfiles run before any Configuration, so the objects are created by Helm from the start.helmfile templaterenders all four with the names, sources and versions listed.🤖 Generated with Claude Code