Skip to content

docs(changelog): note map-shaped secret adoption and drop the premature 0.1.10 heading - #77

Closed
JeroenSoeters wants to merge 4 commits into
mainfrom
release/0.1.10
Closed

docs(changelog): note map-shaped secret adoption and drop the premature 0.1.10 heading#77
JeroenSoeters wants to merge 4 commits into
mainfrom
release/0.1.10

Conversation

@JeroenSoeters

Copy link
Copy Markdown
Contributor

Summary

Changelog entry for the 0.1.10 release.

  • Adds the K8S::Core::Secret first-class map-shaped secret adoption: a Secret's value can be referenced one key at a time with secret.res.secretValue.at("key"), resolved live at the plugin-call boundary, with the decoded value hashed at rest and excluded from drift detection. Requires formae 0.89.0 or later.
  • Drops the premature [0.1.10] heading. It was added to the changelog as a docs-only entry (removing the --watch flag from example commands) but was never tagged or published (the Hub is at 0.1.9), so its entry is folded back into [Unreleased] and everything ships together as the real 0.1.10.

…re 0.1.10 heading

K8S::Core::Secret adopts first-class map-shaped secrets: reference a single
key with secret.res.secretValue.at("key"), resolved live, decoded value
hashed at rest and drift-excluded.

The 0.1.10 heading was added to the changelog but never tagged or published
(the Hub is at 0.1.9), so its docs-only entry is folded back into Unreleased;
everything here ships as the next release.
…alues

A custom resource's spec is an opaque Any body: formae has no schema
knowledge inside it, so whole-value replacement is the only update
operation it can stand behind, and empty objects and lists inside it are
configuration rather than rendering noise. Many CRDs select a variant by
key presence alone: cert-manager's selfSigned: {} is a complete, valid
issuer configuration. Previously formae's property pipeline cleaned empty
collections out of the spec before writing, so the apiserver received an
empty spec and admission webhooks rejected it, and a placeholder inside
the empty member did not survive either because the cleanup collapsed it
recursively.

Hint spec with updateMethod Atomic and preserveEmptyValues true in the
master schema and every versioned tree, and build against pkg/model
v0.1.27, which carries the new FieldHint.PreserveEmptyValues field.
formae core 0.89.0 and later honors the hint end to end; minFormaeVersion
is already 0.89.0 on this branch, which closes the mixed-version window
where an older agent would half-interpret the hint as atomic diffing
without fidelity. A custom resource that already lost empty members to
the old behavior is repaired by the next apply.
@JeroenSoeters

Copy link
Copy Markdown
Contributor Author

Superseded by the conflict-resolved merge branch (main had diverged: Helm Release work + dep bumps). Replacement PR incoming.

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