You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
flag.StringVar(&flagRelayURLs, "relays", "https://localhost:4017", "additional relay API URLs (comma-separated; scheme omitted defaults to https; merged with public registry relays unless --default-relays=false is set) [env: RELAYS]")
38
+
flag.BoolVar(&flagDefaultRelays, "default-relays", utils.ParseBoolEnv("DEFAULT_RELAYS", true), "include public registry relays [env: DEFAULT_RELAYS]")
39
39
flag.StringVar(&flagAddr, "addr", "127.0.0.1:8092", "local demo HTTP listen address (host:port or URL; disable if empty)")
40
40
flag.StringVar(&flagName, "name", "demo-app", "public hostname prefix (single DNS label)")
flag.StringVar(&flagRelayURLs, "relays", "https://localhost:4017", "additional relay API URLs (comma-separated; scheme omitted defaults to https; merged with public registry relays unless --default-relays=false is set) [env: RELAYS]")
40
+
flag.BoolVar(&flagDefaultRelays, "default-relays", utils.ParseBoolEnv("DEFAULT_RELAYS", false), "include public registry relays [env: DEFAULT_RELAYS]")
41
41
flag.StringVar(&flagName, "name", "demo-udp", "public hostname prefix (single DNS label)")
Copy file name to clipboardExpand all lines: cmd/portal-tunnel/README.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -42,7 +42,7 @@ Flags:
42
42
43
43
```text
44
44
--relays Portal relay API URLs (comma-separated, https only)
45
-
--default-relays Include repository registry.json public relays
45
+
--default-relays Include public registry relays
46
46
--name Public hostname prefix (single DNS label); auto-generated when omitted
47
47
--description Service description metadata
48
48
--tags Service tags metadata (comma-separated)
@@ -78,7 +78,7 @@ Legacy execution compatibility has been removed:
78
78
- The tunnel consumes one aggregate SDK listener, so the CLI no longer manages per-relay listener loops itself.
79
79
- Relay startup and reconnect failures are retried independently in the background. A relay that is down does not stop healthy relays from continuing to serve traffic.
80
80
- The tunnel starts once relay URLs pass local validation. Remote compatibility checks, lease registration, and reconnects continue in the background until each relay becomes ready.
81
-
- The configured relay list is either `registry.json + installed/configured relay URLs` or, with `--default-relays=false`, just the explicit relay URLs. Published public URLs appear only for relays that have registered successfully.
81
+
- The configured relay list is either `public registry + installed/configured relay URLs` or, with `--default-relays=false`, just the explicit relay URLs. Published public URLs appear only for relays that have registered successfully.
82
82
- SDK callers that do not set `ListenerConfig.RetryCount` use infinite retry semantics for each relay.
83
83
- Tenant TLS is provisioned automatically through the relay keyless signer. The SDK fetches the relay certificate chain and uses `/v1/sign` for remote signing.
84
84
- When the local service is unreachable, the tunnel returns an HTTP 503 page.
Copy file name to clipboardExpand all lines: docs/architecture.md
+3-2Lines changed: 3 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -115,12 +115,13 @@ That distinction matters because `/sdk/connect` stops being ordinary HTTP once h
115
115
116
116
### SDK (`sdk/`)
117
117
118
-
-`WithDefaultRelayURLs`: fetches the default Portal relay list from the repository-root `registry.json`, appends explicit relay inputs, and normalizes the combined list
118
+
-`ExposeConfig.DefaultRelayEnabled`: when true, `Expose`fetches the default Portal relay registry, merges it with explicit relay inputs, and normalizes the result
119
119
- Entry points can opt out of registry defaults and call `utils.NormalizeRelayURLs` directly when they need explicit relay inputs only
120
120
-`Listener`: validates one relay URL locally, then starts relay compatibility checks, lease registration, reverse session maintenance, and lease renewal in the background until ready
121
121
-`api_client.go`: internal relay client for control-plane requests, reverse session dialing, and internal QUIC tunnel setup
122
122
-`ListenerConfig.RetryCount <= 0` means retry forever; positive values close the listener after the retry budget is exhausted
123
-
- Default app flow is `WithDefaultRelayURLs -> NewListener -> PublicURL -> http.Server.Serve(listener)` or `WithDefaultRelayURLs -> Expose -> PublicURLs -> http.Server.Serve(exposure)`, with an opt-out path for explicit relay inputs only
123
+
-`NewListener` callers provide explicit normalized relay URLs
124
+
- Default exposure flow is `Expose{DefaultRelayEnabled: true} -> PublicURLs -> http.Server.Serve(exposure)`, with an opt-out path for explicit relay inputs only
124
125
-`expose.go`: optional `RunHTTP` helper for serving one handler on both a local HTTP port and the relay listener
125
126
-`Expose` keeps one listener per configured relay URL. Relay startup and reconnect failures are retried independently per relay, and successful relays remain available while failed relays keep retrying in the background
126
127
-`Exposure.RelayURLs()` returns the configured normalized relay URLs, while `Exposure.PublicURLs()` returns only relays that are currently registered and ready
0 commit comments