Repository navigation
fix(chart): bound the egress gateway's ephemeral storage - #255
Merged
Merged
Conversation
The atenet-egress Deployment rendered both containers without resources and its drain-signal emptyDir without a sizeLimit, so a cluster policy that requires bounded ephemeral storage for a container mounting an emptyDir (Kyverno's require-emptydir-requests-and-limits) reported the egress gateway on every install. The chart now takes atenetEgress.resources (the agentgateway container), atenetEgress.extProc.resources and atenetEgress.drainSignal.sizeLimit, defaulting to ephemeral-storage requests of 16Mi and limits of 256Mi on both containers (they write nothing but their logs and the drain marker) and a 16Mi sizeLimit on the emptyDir; null renders the field as before. CPU and memory stay the operator's to size. Unit tests cover the defaults, an override merged over them and the null case; the preserved kubectl-apply manifest is untouched. Signed-off-by: Timo Derstappen <teemow@gmail.com>
Signed-off-by: Timo Derstappen <teemow@gmail.com>
This was referenced Oct 10, 2026
Closed
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.
Problem
charts/substraterenders theatenet-egressDeployment with both containers (agentgateway,ext-proc) withoutresourcesand itsdrain-signalemptyDir without asizeLimit. A cluster policy that requires bounded ephemeral storage for a container mounting an emptyDir (Kyverno'srequire-emptydir-requests-and-limits, which skips a volume that carries asizeLimit) reports the egress gateway on every install. Nothing else in the chart's render is reported: the bundled Postgres carriespostgres.resources, the other workloads mount no emptyDir.Change
Three chart values, upstream-shaped like
postgres.resources, with defaults that make the render compliant by itself:atenetEgress.resources(theagentgatewaycontainer) andatenetEgress.extProc.resources: ephemeral-storage requests16Mi, limits256Mi. Both containers write nothing but their logs (kubelet rotates them at 10Mi × 5) and, the ext-proc, the drain marker. CPU and memory stay the operator's to size; a value merges over the defaults as Helm merges maps.atenetEgress.drainSignal.sizeLimit:16Mion thedrain-signalemptyDir the ext-proc writes its drain marker to (/var/run/atenet, one small file).nullrenders the field as before (noresources,emptyDir: {}).charts/substrate/tests/atenet_egress_ephemeral_storage_test.yamlasserts the defaults on both containers and the volume, an override merged over the defaults, and the null case. README rows for the three keys. The preserved kubectl-apply manifestmanifests/ate-install/atenet-egress.yaml(the Envoy data plane) is hand-maintained and untouched;hack/render-manifests.sh --checkpasses.One commit, upstream-ready: the change is the chart's own gap (upstream's
atenet-egress.yamlrenders the same unbounded shape); the ledger row names it as to file.Acceptance
helm templateof the chart rendersrequests.ephemeral-storage: 16Mi,limits.ephemeral-storage: 256Mionagentgatewayandext-procandemptyDir.sizeLimit: 16Miondrain-signalby default;helm unittest charts/substratepasses (94 tests).nullgets the previous render.Written by an agent.