# feat\(relay\): deploy on-demand preview stages for labeled PRs · pingdotgg/t3code

[View on GitCafe](https://git.cafe/pingdotgg/t3code/commit/ff1f6fd8849cdd2e0a07096eac4fd4440d1ad989)

Repository: [pingdotgg/t3code](https://git.cafe/pingdotgg/t3code)

Visibility: public

Requested revision: ff1f6fd8849cdd2e0a07096eac4fd4440d1ad989

Requested commit: ff1f6fd8849cdd2e0a07096eac4fd4440d1ad989

Commit: ff1f6fd8849cdd2e0a07096eac4fd4440d1ad989

Tree: d85fef8f40e3c50f0ff997f75c895e1658a17167

Author: Julius Marminge

Committer: GitHub

## Message

```
feat(relay): deploy on-demand preview stages for labeled PRs

Labeled same-repo PRs deploy stage pr-<n> behind the relay-preview environment reviewer gate. Unlabel or close tears the stage down, and a nightly job retries failed teardowns. Runtime-created managed endpoint tunnels and CNAMEs are swept by a PreviewTunnelSweep resource.

Known gaps, tracked as follow-ups: an interrupted preview deploy can leave runtime tunnels behind; repo-level relay secrets still bypass the environment gate until moved.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
```

## Parents

- [7d87be359696acbc068d3c09d956acd2e4aff14b](https://git.cafe/pingdotgg/t3code/commit/7d87be359696acbc068d3c09d956acd2e4aff14b?format=markdown)

[Source at this commit](https://git.cafe/pingdotgg/t3code/tree/ff1f6fd8849cdd2e0a07096eac4fd4440d1ad989?format=markdown)
