Document the notarized desktop release and cask
This commit is contained in:
@@ -189,14 +189,17 @@ what we take vs. skip). Never vendor it into the build.
|
|||||||
- No third-party deps beyond `github.com/coder/websocket`,
|
- No third-party deps beyond `github.com/coder/websocket`,
|
||||||
`golang.org/x/crypto` (ACME), and `fyne.io/fyne/v2` (desktop UI). Keep it
|
`golang.org/x/crypto` (ACME), and `fyne.io/fyne/v2` (desktop UI). Keep it
|
||||||
that way unless a milestone calls for it.
|
that way unless a milestone calls for it.
|
||||||
- **CLI release**: `v0.1.0` (tag on `ebae420`) is published on Gitea with
|
- **Releases**: `v0.2.0` (tag on `d5689ce`) is published on Gitea with
|
||||||
darwin/linux arm64+amd64 tarballs and `checksums.txt`. The Homebrew formula
|
darwin/linux CLI tarballs and a **notarized** `Tunnel-0.2.0.zip`
|
||||||
is `tzgyn-tunnel` in `TZGyn/homebrew-tap` (it installs the `tunnel` binary;
|
(`spctl` = accepted / `Notarized Developer ID`). Homebrew: formula
|
||||||
the name avoids the deprecated core `tunnel` formula). Rebuild with
|
`tzgyn-tunnel` (CLI, installs `tunnel`) and cask `tzgyn-tunnel-app` (desktop,
|
||||||
`-X main.version=<version>`, attach all four assets, and update the four
|
installs `Tunnel.app`), both in `TZGyn/homebrew-tap`. Rebuild the app with
|
||||||
URLs/SHAs in the formula on each release. `tunnel up` currently starts a
|
`scripts/build-desktop-app.sh <version>` for a local ad-hoc build, or
|
||||||
detached process, not a launchd agent (the official CLI's agent was stopped
|
`scripts/release-desktop-app.sh <version>` for the signed+notarized zip;
|
||||||
when the live tunnel was switched to this client).
|
update both tap files' URLs/SHAs on each release. The app has
|
||||||
|
**Connect on launch** (`auto_connect`); add it to macOS Login Items to
|
||||||
|
reconnect at login. The CLI `tunnel up` remains a detached process; the
|
||||||
|
desktop app runs the service in-process.
|
||||||
- Milestones: M1 core data path (done); M2 real ACME DNS-01 + renewals (done);
|
- Milestones: M1 core data path (done); M2 real ACME DNS-01 + renewals (done);
|
||||||
M3 rate limits/admin/hardening (done); M4 Go client (done); M5 desktop app
|
M3 rate limits/admin/hardening (done); M4 Go client (done); M5 desktop app
|
||||||
(done). Remaining optional work: launchd/systemd agents for the Go client,
|
(done). Remaining optional work: launchd/systemd agents for the Go client,
|
||||||
|
|||||||
@@ -107,7 +107,13 @@ On macOS, build and ad-hoc sign a launchable bundle:
|
|||||||
```bash
|
```bash
|
||||||
./scripts/build-desktop-app.sh 0.2.0
|
./scripts/build-desktop-app.sh 0.2.0
|
||||||
ditto Tunnel.app "$HOME/Applications/Tunnel.app"
|
ditto Tunnel.app "$HOME/Applications/Tunnel.app"
|
||||||
open "$HOME/Applications/Tunnel.app" --args --autostart
|
open "$HOME/Applications/Tunnel.app"
|
||||||
|
```
|
||||||
|
|
||||||
|
Or install the notarized release:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
brew install --cask tzgyn-tunnel-app
|
||||||
```
|
```
|
||||||
|
|
||||||
It uses `~/.config/tunnel/config.json` like the CLI, shows tunnel status and
|
It uses `~/.config/tunnel/config.json` like the CLI, shows tunnel status and
|
||||||
|
|||||||
Reference in New Issue
Block a user