You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Helm chart defaults produce a pod that cannot start; the settings it needs exist only in the dev and test profiles #645
The chart's values.yaml leaves securityContext, resources, livenessProbe and readinessProbe empty and passes no config file. The eBPF data plane needs privileges to raise its memory limits and load its programs, as the README notes, so with the defaults the process exits at once:
$ docker run ghcr.io/edgecomllc/eupf:0.7.1
Unable to read config file: open ./config.yml: no such file or directory. Using defaults
...
FTL Can't increase resource limits: operation not permitted
In a cluster that is a CrashLoopBackOff on the first helm install. Everything that makes the pod work lives only in .deploy/helm/values/dev.yaml and test.yaml:
privileged: true;
the net.ipv4.ip_forward sysctl;
the read-only /sys host mount;
a config file through configMaps;
TCP liveness and readiness probes on the API port;
resource requests and limits.
With the dev profile the same image starts and serves on :8080 and :9090.
Proposal
Move the settings the pod cannot start without into the chart's defaults, taken from dev.yaml: the privileged security context (or the specific capabilities, if those are enough), the sysctl, the /sys mount, a default config, the TCP probes and modest resources. The dev and test profiles then carry only what is specific to those environments, and helm install eupf .deploy/helm/eupf gives a running, probed UPF.
If privileges should stay opt-in by design, a documented minimal values file next to the chart would serve the same purpose, and the probes and resources can still be defaults.
Fixed by #649: a default helm install now gives a pod that starts, with the sysctl, the /sys mount, a default configuration, TCP probes and resources in the chart's defaults, and #666 then replaced the privileged container with the documented capability set. Thanks @pirog-spb, closing.
Activity
fix(helm): make default values produce a startable pod (#645)
fix(helm): make default values produce a startable pod (#645)
fix(helm): make default values produce a startable pod (#645)
fix(trivy): ignore KSV-0121 for the eUPF /sys hostPath mount
fix(helm): make default values produce a startable pod (#645)
fix(trivy): ignore KSV-0121 for the eUPF /sys hostPath mount
fix(helm): make default values produce a startable pod (#645) (#649)
martin-mat commentedon Oct 23, 2026
Fixed by #649: a default
helm installnow gives a pod that starts, with the sysctl, the/sysmount, a default configuration, TCP probes and resources in the chart's defaults, and #666 then replaced the privileged container with the documented capability set. Thanks @pirog-spb, closing.