Skip to content

feat(selvage): pass the admin web ui paths through nginx on twill - #100

Merged
jaspermayone merged 2 commits into
mainfrom
feature-selvage-admin-paths
Nov 13, 2026
Merged

jaspermayone merged 2 commits into
mainfrom
feature-selvage-admin-paths

Conversation

@jaspermayone

@jaspermayone jaspermayone commented Nov 13, 2026 •

Copy link
Copy Markdown
Member

Summary

Selvage gets a moderator web UI (patchworklabsorg/selvage#63). nginx on twill passed only POST /slack/* and GET /up. This PR also passes the web UI paths.

Path Use
= /admin and /admin/ Hotwire views, sign-in and sign-out
/auth/ weave OIDC start and callback
/assets/ Propshaft assets (public by design)
= /cable Action Cable for live updates, with WebSocket upgrade

Every other path is still 404. The app checks the weave role (selvage-moderators or selvage-admins) on every /admin request.

The /cable location sets the forwarded headers again, because proxyWebsockets adds proxy_set_header in that location and nginx then drops the http-level ones.

Checks

  • nix flake check --no-build --all-systems passes.
  • nix fmt -- --ci reports no changes.
  • An adversarial review found a stale comment in hosts/alastor/edge.nix and a loose /admin prefix. The second commit fixes both.

Nothing deploys from this PR. It goes out with the single Selvage deploy.

@jaspermayone
jaspermayone requested a review from a team November 13, 2026 01:39
@jaspermayone
jaspermayone merged commit 9ff4c9b into main Nov 13, 2026
5 checks passed
jaspermayone added a commit that referenced this pull request Nov 13, 2026
* origin/main:
  feat(krater): blue/green portal deploys, on for staging (#104)
  feat(krater): pull CI's image instead of building on weft (#103)
  feat(ansible): run ad converge build from ad.yml (#105)
  feat(selvage): add a staging instance on twill (#102)
  feat(selvage): pass the admin web ui paths through nginx on twill (#100)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant