Skip to content

feat(crossplane): pin the four packages that only came in through dependsOn - #163

Merged
patrick-hermann-sva merged 1 commit into
mainfrom
feat/pin-dependency-derived-packages
Sep 19, 2026
Merged

patrick-hermann-sva merged 1 commit into
mainfrom
feat/pin-dependency-derived-packages

Conversation

@patrick-hermann-sva

Copy link
Copy Markdown
Contributor

Pins the four packages that until now came in only through Configurations' dependsOn. crossplane-providers gets two providers and crossplane-config two 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:

package u26-kind3 u26-kindtest
provider-kubernetes v1.2.1 v1.3.1
provider-proxmox-bpg v1.18.0 v1.19.3
function-kcl (xpkg.crossplane.io) v0.12.2 v0.12.3
function-patch-and-transform (xpkg.crossplane.io) v0.10.8 v0.10.11

How

Each entry uses exactly the name and source the package manager derives from the dependsOn. That's the same pattern as crossplane-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.2
  • crossplane-contrib-function-patch-and-transform → xpkg.crossplane.io/…/function-patch-and-transform:v0.10.8

The short-named function-kcl and function-patch-and-transform stay on xpkg.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 apply refuses 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 template renders all four with the names, sources and versions listed.

🤖 Generated with Claude Code

…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
patrick-hermann-sva merged commit 4ba3965 into main Sep 19, 2026
6 checks passed
@patrick-hermann-sva
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

1 active deployment
k8s — 89e94a81 Deployed Sep 19, 2026 by patrick-hermann-sva via Lint yaml files / Yaml-Lint #259
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant