Skip to content

chore(chart): release 0.10.0 with Edge v3.10.0 - #26

Merged
pmoust merged 1 commit into
mainfrom
release-0.10.0
Nov 10, 2026
Merged

pmoust merged 1 commit into
mainfrom
release-0.10.0

Conversation

@pmoust

@pmoust pmoust commented Nov 9, 2026

Copy link
Copy Markdown
Member

Bump the chart to 0.10.0 and the default Edge image to v3.10.0.

Edge v3.10.0 watches MutatingWebhookConfiguration and ValidatingWebhookConfiguration (NOFireAI/edge#166). This adds both kinds to the default kube.resources list, so the agent publishes them on upgrade. The ClusterRole has granted get, list and watch on both since 0.9.0, so RBAC does not change.

An install that sets its own kube.resources keeps its list and needs both kinds added by hand.

The configmap unit test now asserts that both kinds render by default.

Merge only after the Edge v3.10.0 release workflow has published nofireai/edge:v3.10.0.

Refs NOFireAI/brain-go#5355

Bump the chart version to 0.10.0 and appVersion and the default image tag
to v3.10.0 (Chart.yaml, values.yaml, examples/production-values.yaml,
manifests.yaml).

Edge v3.10.0 adds informers for MutatingWebhookConfiguration and
ValidatingWebhookConfiguration (NOFireAI/edge#166). Add both kinds to the
default kube.resources list so the agent publishes them without a values
change. The ClusterRole has granted get, list and watch on both kinds since
0.9.0. The configmap unit test now asserts both kinds render by default.

Refs NOFireAI/brain-go#5355

Signed-off-by: Panagiotis Moustafellos <pmoust@nofire.ai>
@pmoust
pmoust merged commit a2549d6 into main Nov 10, 2026
2 checks passed
@pmoust
pmoust deleted the release-0.10.0 branch November 10, 2026 14:11
Comment thread values.yaml
Comment on lines +223 to +224
- "mutatingwebhookconfigurations"
- "validatingwebhookconfigurations"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Critical: these two lines make every 0.10.0 install push admission webhook annotations to brain, and those can carry webhook credentials.

  • Edge v3.10.0 (d3cea10) and its README leave both kinds out of the default kube.resources on purpose, so operators opt in. This PR turns them on by default and does not say it reverses that.
  • The edge README says the agent never sends the caBundle or the URL's user info. The webhook fields are scrubbed, but the node also carries meta.Annotations (rbacNode -> WithAnnotations), and sensitiveAnnotations (internal/edge/informers/resource_node_utils.go) drops only kubectl.kubernetes.io/last-applied-configuration and kubernetes.io/change-cause. This is still true at v3.10.0, the latest tag.
  • Deploy tools such as kapp keep a full copy of the object in their own annotation (kapp.k14s.io/original). For a webhook configuration that copy includes the caBundle and clientConfig.url with any user:pass@. The agent sends it unchanged. A probe test on edge#166's own assertNoWebhookLeak fails on exactly this input.
  • The chart has no annotation filter, so an operator cannot stop it short of removing both kinds by hand from a copied 30-entry list.

The same annotation gap exists for the kinds already on by default. These two are where it most often holds credentials.

0.10.0 is merged and released, so this is live for anyone who upgrades. Options:

  1. Ship 0.10.1 with both kinds moved back into the commented opt-in block until edge filters annotations.
  2. Fix the edge filter first (an annotation allowlist, or no annotations on these two kinds), release it, and pin that image.

Option 2 also closes the gap for the existing kinds. Option 1 can ship today.

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.

3 participants