Merge dev-tunnel CLI into proxy repo + clean up legacy mkcert setup#3
Merge dev-tunnel CLI into proxy repo + clean up legacy mkcert setup#3pinetops wants to merge 3 commits into
Conversation
Combines the standalone dev-tunnel script with the Traefik proxy installer into a single CLI. `dev-tunnel proxy ...` covers the old traefik-dev-proxy commands; `dev-tunnel setup/start/stop/status` manages a per-developer Cloudflare Tunnel. `setup` creates DNS, SSL, and ingress for both the bare and wildcard hostnames (`<project>.<user>.u2i.me` + `*.<project>.<user>.u2i.me`), closing #2. install.sh now installs source files directly (no embedded heredoc) and falls back to downloading from raw GitHub when piped via curl. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
setup.sh and reverse-proxy/ are leftovers from the original mkcert-based HTTPS flow that was replaced by ff8250b ("Simplify to HTTP-only setup"). Nothing in the current install path references them. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Validation against #2Tried this against retrotool to validate the bare-hostname support promised in #2. The end result works — Bug 1: new-tunnel branch can leave
|
The teamology compose.dev.local.yml uses the rewriteheaders plugin to
rewrite the Host header from `<tenant>.teamology.localhost` to
`<tenant>.<APP_HOSTNAME>` so Phoenix's Endpoint.url() generates correct
redirects regardless of access method. Without the plugin loaded,
traefik rejects the entire teamology router at config-load time
("plugin: unknown plugin type: rewriteheaders"), and any request to
`*.teamology.tom.u2i.me` hits traefik's default 404 because no router
matches.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Summary
dev-tunnelscript with the Traefik proxy installer into a single CLI:dev-tunnel proxy ...covers the oldtraefik-dev-proxycommands, anddev-tunnel setup/start/stop/statusmanages a per-developer Cloudflare Tunnel.dev-tunnel setupcreates DNS, SSL, and ingress for both<project>.<user>.u2i.meand*.<project>.<user>.u2i.meon the same tunnel — closes dev-tunnel: support bare hostnames (e.g. retrotool.tom.u2i.me) in addition to wildcards #2.install.shnow installs source files directly (no embedded heredoc) and falls back to downloading from raw GitHub when piped viacurl ... | bash.setup.shandreverse-proxy/— leftover mkcert/HTTPS scaffolding that was orphaned by ff8250b ("Simplify to HTTP-only setup").Test plan
bash -n bin/dev-tunnel install.sh(syntax)dev-tunnel helpshows new combined help./install.shinstalls binary + compose file, starts proxycurl -sSL .../install.sh | bash(after merge to main) downloads from raw URL and installsdev-tunnel setup <user> <project>creates both bare + wildcard DNS, combined SSL cert, both ingress rulestraefik-dev-proxybinary, if present, gets removed by installer🤖 Generated with Claude Code