summaryrefslogtreecommitdiff
path: root/f3s/argocd-apps/services
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-07-26 09:39:15 +0300
committerPaul Buetow <paul@buetow.org>2026-07-26 09:39:15 +0300
commitaaa786fcea8de25be1bd2eff8bc35afd1bc7482a (patch)
tree23eecd8caa5f69425e4e6a4624dde36f49f100dc /f3s/argocd-apps/services
parent424a3cf07654a9a323cf8591c2ebf9ee177a3fdd (diff)
frontends: stop relayd clobbering cache headers for every f3s service
The three cache-control response rules were unscoped, so relayd rewrote every response passing through the https relay -- not just the fallback pages the comment described. Everything the k3s cluster serves was forced to "no-cache, no-store, must-revalidate", overriding whatever the backend set. cgit, for example, marks its CSS and logo "expires 30d", but browsers re-fetched them on every page view. relayd cannot filter a response by the backend table that produced it, and a "header set" cannot be combined with a header match in the same rule. So match the Server header -- the local httpd is the only backend answering "OpenBSD httpd" -- and carry that across with a sticky tag. Verified on blowfish before rollout with an isolated relayd instance: a response from httpd:8080 gets the tagged headers, one from the cluster's nginx does not. Fallback behaviour retested after deploy: c-git.f3s.buetow.org served from httpd:8080 still returns the "Server turned off" page on any path, with all three headers intact. cgit.css now passes through max-age=2592000. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'f3s/argocd-apps/services')
0 files changed, 0 insertions, 0 deletions