feat(chart): enable Edge v3.6.0 features and pin to v3.6.0 (chart 0.6.0) - #13
Open
alextoulps wants to merge 2 commits into
Open
alextoulps wants to merge 2 commits into
alextoulps wants to merge 2 commits into
Conversation
…v capture Adds the endpoints resource to the ClusterRole + informer gate (has_endpoints), and exposes configMapCapture and envCapture (hash-by-default value capture with clearText / redactKeyPatterns / captureCap knobs) in values.yaml + config.json.
alextoulps
force-pushed
the
feat/endpoints-access-and-configmap-capture
branch
from
August 7, 2026 21:13
7025f15 to
446d883
Compare
The chart has never pinned an Edge version: image.tag has been "latest"
since the repo was created, and appVersion sat at a stale 2.1.0 that only
ever reached the app.kubernetes.io/version label. Pin it to the release
whose features the rest of this branch enables.
image.tag is the load-bearing edit — edge-proxy inherits it through
nofire-edge.edgeProxy.image, so one value pins both deployments. The tag
carries the "v" prefix because edge's release workflow computes
${GITHUB_REF#refs/tags/}, which strips refs/tags/ but not the v; the
registry has nofireai/edge:v3.6.0 and no bare 3.6.0. appVersion is set to
the same v-prefixed string so the tag|default .Chart.AppVersion fallback
stays resolvable if anyone clears image.tag.
The chart version bump is mandatory, not cosmetic: the release workflow
triggers only on paths: [Chart.yaml] and skips every publish step when a
release for the current version already exists. Without it this branch
would merge and ship nothing. Minor rather than patch, matching the
repo's feature convention (0.4.0 -> 0.5.0, 0.3.0 -> 0.4.0).
Also pins the production values example, which would otherwise override
the default straight back to a floating tag, and the standalone raw
manifest for consistency.
pullPolicy stays Always so overriding the tag back to latest still works.
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.
Activates the merged Edge v3.6.0 features that are inert without chart changes, then pins the chart to that release and publishes it as chart 0.6.0.
has_endpoints (edge#112 / brain#1118)
endpointstoconfig.kube.resources(informer gate —config.jsonoverrides the binary's compiled default).endpoints(get/list/watch) to the ClusterRole intemplates/rbac.yaml(RBAC gate).Without both,
getEndpointsPresenceis RBAC-denied →has_endpointsstaysnil→ brain treats it as unknown and never flags selector/reachability faults (safe, but inert).ConfigMap capture (edge#117 / brain#1151)
config.configMapCapture(clearText/redactKeyPatterns/captureCap) so the hash-by-default + opt-in clear-text policy is configurable.Pin to Edge v3.6.0 (added after initial review)
values.yaml—image.tag: "latest"→"v3.6.0". This is the load-bearing edit; edge-proxy inherits it vianofire-edge.edgeProxy.image, so one value pins both deployments.Chart.yaml—version: 0.5.2→0.6.0,appVersion: "2.1.0"→"v3.6.0".examples/production-values.yaml— pinned; it previously overrode the default straight back to a floating tag.manifests.yaml— pinned for consistency. Note this is the standalone raw manifest, outside the chart render path, so it isn't part of the pin proper.Three things worth a reviewer's attention:
The chart has never pinned a version.
image.taghas been"latest"since the repo was created, andappVersionsat at a stale2.1.0that only ever reached theapp.kubernetes.io/versionlabel. So this is floating → pinned, a behavior change for every consumer, not a routine bump. Anyone who relied onlatestto auto-track Edge releases now needs a chart upgrade per release — that's the intent, but it's a change.The tag carries a
v.edge/.github/workflows/release.ymlcomputesversion=${GITHUB_REF#refs/tags/}, which stripsrefs/tags/but not thev. The registry hasnofireai/edge:v3.6.0andnofireai/edge-proxy:v3.6.0(both published 2026-08-10); there is no bare3.6.0tag in either repo.appVersionis set to the samev-prefixed string so thetag | default .Chart.AppVersionfallback stays resolvable if anyone clearsimage.tag— this deviates from the bare-semver form used inc580052, deliberately.The
Chart.yamlbump is mandatory, not cosmetic. The release workflow triggers only onpaths: ['Chart.yaml']and skips every publish step when a release for the current version already exists. As originally scoped, this PR touched noChart.yamland so would have merged and shipped nothing.0.6.0is free (gh release listshows onlynofire-edge-0.5.2); minor rather than patch matches the repo's feature convention (0.4.0 → 0.5.0, 0.3.0 → 0.4.0).pullPolicystaysAlwaysso overriding the tag back tolateststill behaves.Testing
helm lint .— passes (only the pre-existing "icon is recommended" info).helm template t . --set edgeProxy.enabled=truerenders exactlynofireai/edge:v3.6.0andnofireai/edge-proxy:v3.6.0.helm template t . --set image.tag=""exercises the appVersion fallback and also rendersv3.6.0, i.e. resolvable rather than ImagePullBackOff.app.kubernetes.io/versionlabel confirmed off2.1.0.latestleft invalues.yaml,examples/, ormanifests.yaml.Note this repo has no PR-triggered CI —
release.ymlfires on push-to-mainandworkflow_dispatchonly, so no checks will report here. On merge it should create releasenofire-edge-0.6.0and updategh-pages/index.yaml.Refs NOFireAI/engineering#799, NOFireAI/engineering#811
Refs NOFireAI/edge@v3.6.0 · changelog entry in NOFireAI/docs#30