fix: make runner egress proxy logs writable after Squid drops privileges #575

Closed
opened 2026-07-22 07:19:19 +00:00 by coilyco-ops · 1 comment
Owner

Flux deployed the runner egress proxy from commit 2896a78, but both replicas restart after Squid parses the config and initializes networking. Live logs show the proxy effective user refusing access_log stdio:/dev/stdout and cache_log /dev/stderr because those parent paths are not writable.

Use an init container to create log-path symlinks inside the writable /var/log/squid emptyDir, then point Squid at those paths. Preserve Kubernetes stdout/stderr visibility and the existing allowlist. Remove the via off setting that Squid warns violates HTTP requirements.

Acceptance: both replicas become Ready, startup logs are clean, and allowed CONNECT requests remain visible through kubectl logs.

Flux deployed the runner egress proxy from commit 2896a78, but both replicas restart after Squid parses the config and initializes networking. Live logs show the `proxy` effective user refusing `access_log stdio:/dev/stdout` and `cache_log /dev/stderr` because those parent paths are not writable. Use an init container to create log-path symlinks inside the writable `/var/log/squid` emptyDir, then point Squid at those paths. Preserve Kubernetes stdout/stderr visibility and the existing allowlist. Remove the `via off` setting that Squid warns violates HTTP requirements. Acceptance: both replicas become Ready, startup logs are clean, and allowed CONNECT requests remain visible through `kubectl logs`.
Author
Owner

The first correction created the log symlinks, but the new ReplicaSet still failed Squid’s parent-directory safety check because the mounted /var/log/squid directory remained root-owned. The next correction assigns that directory to the image’s existing proxy account before Squid starts. This is the same effective-user log-path defect, not a new network or proxy-config failure.

The first correction created the log symlinks, but the new ReplicaSet still failed Squid’s parent-directory safety check because the mounted `/var/log/squid` directory remained root-owned. The next correction assigns that directory to the image’s existing `proxy` account before Squid starts. This is the same effective-user log-path defect, not a new network or proxy-config failure.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-flight-deck/infrastructure#575
No description provided.