Skip to content

docs(platform): add resource tree and version table#102

Merged
patrick-hermann-sva merged 1 commit into
mainfrom
docs/platform-resources-table
Jul 16, 2026
Merged

docs(platform): add resource tree and version table#102
patrick-hermann-sva merged 1 commit into
mainfrom
docs/platform-resources-table

Conversation

@patrick-hermann-sva

Copy link
Copy Markdown
Contributor

The README explained the shared contract well but never answered the first question a reader actually has: what does applying a Platform create, and which versions does it pull? Both were only discoverable by reading the Composition, then the wrapped flux-init module, then an EnvironmentConfig.

What's added

## What gets created — a mermaid tree plus a table of every composed resource: real name pattern, which Configuration emits it, and the condition. It makes the two-level structure explicit — platform composes child XRs, and the managed resources appear one level deeper, from flux-init's own Composition. Includes the crossplane beta trace output from the live kind1 run.

## Versions — every package pin (dependsOn, Crossplane floor), the xplane-flux-init OCI module, the fact that platform's own KCL is inline (nothing to publish), and the only two versions an XR normally sets: flux-operator chart 0.55.0 and Flux distribution 2.x, both from the flux-defaults EnvironmentConfig.

Accuracy

  • Name patterns ({}-flux-operator, {}-flux-instance, {}-flux-instance-uses-operator, {}-observe-rc, {}-source-{}, {}-sops-age) are read out of xplane-flux-init/main.k, and {}-flux-init out of platform's Composition — not invented.
  • Version rows cross-checked against crossplane.yaml and flux-init/examples/environment-config.yaml.
  • The trace block is real output from the kind1 test, not mocked.
  • Fixed a miscount while writing: a minimal Platform composes four objects, not five.

On the diagram

mermaid-cli can't run in this environment (it needs chromium), so I could not render-validate it — only check it structurally (every referenced node declared, every node reachable and classed). Because of that I deliberately kept the syntax to <br/> and plain labels instead of <b>/<code>, which are less certain to render on GitHub. Worth a quick look at the rendered preview before merging.

🤖 Generated with Claude Code

The README explained the shared contract but never answered the first
question a reader has: what does applying a Platform actually create, and
which versions does it pull? Both facts were only discoverable by reading
the Composition, the wrapped flux-init module and an EnvironmentConfig.

Adds a "What gets created" section — a mermaid tree plus a table of every
composed resource with its real name pattern, what emits it, and the
condition — and a "Versions" table covering the package pins, the KCL module
and the two versions an XR normally sets (flux-operator chart, Flux
distribution).

Name patterns are taken from xplane-flux-init's main.k, not invented; the
trace output is from the live kind1 run. The diagram sticks to <br/> and
plain labels: mermaid-cli cannot render here (needs chromium), so the syntax
is kept to what GitHub certainly supports rather than what looks nicest
unverified.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@patrick-hermann-sva
patrick-hermann-sva merged commit 6b69da2 into main Jul 16, 2026
4 checks passed
@patrick-hermann-sva
patrick-hermann-sva deleted the docs/platform-resources-table branch July 16, 2026 13:59
@github-actions

Copy link
Copy Markdown
Contributor

📦 ttl.sh preview packages

Preview OCI packages for the Configurations changed in this PR, pushed to the public, ephemeral ttl.sh registry. No auth required — install on any Crossplane v2 cluster:

📦 bootstrap/platformttl.sh/stuttgart-things/crossplane-configurations-pr102-f760487/platform:24h
apiVersion: pkg.crossplane.io/v1
kind: Configuration
metadata:
  name: platform-preview
spec:
  package: ttl.sh/stuttgart-things/crossplane-configurations-pr102-f760487/platform:24h

Note

Images expire 24h after the last push (ttl.sh's maximum TTL); push a new commit to refresh them. The Configuration name is suffixed -preview so it won't clash with a canonical install.

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