feat(reports): same-origin /pr proxy for the Recipe Report live STATUS column #7
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/reports-pr-status-proxy"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Adds a same-origin realtime PR-status proxy to the
ccci-reportsnginx stack so the weekly Recipe Report's new live STATUS column can fetch each PR's state client-side.What it does
/etc/nginx/conf.d/default.conf(viapkgs.writeText, bind-mounted read-only) that keeps the static report serving and adds:GET /pr/<recipe>/<n>→https://git.autonomic.zone/api/v1/repos/recipe-maintainers/<recipe>/pulls/<n>Safety
recipe-maintainers; recipe name restricted to a slashless charset[a-z0-9._-]+→ the proxied path can only ever addressrecipe-maintainers/<name>/pulls/<n>(cannot be coerced to another org/path).limit_except GET HEAD { deny all; }— read-only.proxy_ssl_server_name on+ explicitHostheader for SNI;Cache-Control: no-storeso the browser always sees live state.Verification done
nixos-rebuild build --flake '?submodules=1#cc-ci'cold on a fresh checkout — builds.nginx -ton the generated config — syntax OK.proxyoverlay net:/pr/cryptpad/5and/pr/n8n/3return Gitea's own JSON (currently 404 — therecipe-maintainersorg visibility is still private, an operator one-click flip; the proxy itself works and will return 200 PR JSON once the org is public). Traversal attempt..%2f..%2fcc-ci/1→ 400 (not proxied elsewhere). Static/→ 200.@notplants
🤖 Generated with Claude Code