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
Copy file name to clipboardExpand all lines: README_EN.md
+33-3Lines changed: 33 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,8 +12,9 @@ It connects your local development machine straight to the internet by dynamical
12
12
- 🌍 **Region Switching**: List built-in Sealos Cloud regions and switch regions by re-running login with `sealtun region use`.
13
13
- 👤 **Named Profiles**: Save different Sealos accounts, regions, workspaces, and kubeconfigs as named profiles and switch between them.
14
14
- 🚀 **One-Command Expose**: Execute `sealtun expose 8080`, and get a fully trusted HTTPS URL for your localhost securely routed.
15
-
- 🌐 **Custom Domains**: Use `--domain` to print the required CNAME target and `domain status/doctor` to diagnose DNS, Ingress, and certificate readiness.
16
-
- 📊 **Local Console and Observability**: Use `dashboard` for a local web console, and `logs` / `events` / `metrics` for remote pod logs, Kubernetes events, request counters, and runtime state.
15
+
- 🌐 **Custom Domain Automation**: Use `domain plan/add/verify/status/doctor` to generate CNAME guidance, wait for DNS, attach domains, and inspect certificate readiness.
16
+
- 📊 **Status and Diagnostics**: Use `doctor <tunnel-id>`, `inspect --remote`, `logs`, `events`, and `metrics` to diagnose local ports, daemon state, remote Pods, Services, Ingresses, and certificates.
17
+
- 🧩 **Protocol Templates**: Use `template https|ssh|tcp|mysql|postgres|redis|mqtt` to generate commands and `sealtun.yaml` examples.
17
18
- 🧾 **Declarative Config**: Use `apply -f sealtun.yaml` to declare tunnels in YAML and create or update them with stable names.
18
19
- 🌐 **Optimized for Sealos**: Native support for Sealos Cloud domains, HTTPS traffic, and WebSocket tunnels.
19
20
- 🐳 **All-in-One Binary**: The client and the server agent live comfortably in the exact same compact binary and Docker image.
Sealtun keeps a Sealos-managed host as the tunnel control endpoint and CNAME target. It writes the custom host to Ingress and creates cert-manager `Issuer` and `Certificate` resources only after the CNAME points to that Sealos host. Configure DNS at your provider:
@@ -294,6 +302,16 @@ sealtun events <tunnel-id>
294
302
sealtun events <tunnel-id> --json
295
303
```
296
304
305
+
Run local and remote diagnostics:
306
+
```bash
307
+
# Global health check
308
+
sealtun doctor
309
+
310
+
# Single-tunnel diagnosis with local port, daemon, remote resource, and next-step suggestions
311
+
sealtun doctor <tunnel-id>
312
+
sealtun doctor <tunnel-id> --json
313
+
```
314
+
297
315
`metrics` combines local session state, remote Deployment/Pod/Ingress readiness, and server-side request counters when the remote pod supports the Bearer-secret-protected `/_sealtun/metrics` endpoint. TCP/SSH tunnels also expose TCP connection, active connection, byte, and error counters.
The dashboard listens locally and reads the same data as the CLI: local sessions, login state, remote diagnostics, and custom domain readiness.
308
326
309
-
### 7. Declarative config
327
+
### 7. Protocol templates
328
+
When you are unsure which command or declarative config to use, generate a template first:
329
+
330
+
```bash
331
+
sealtun template https --name web --port 3000 --domain app.example.com
332
+
sealtun template ssh
333
+
sealtun template postgres
334
+
sealtun template redis --name cache
335
+
```
336
+
337
+
Templates print both a one-shot `sealtun expose` command and a `sealtun.yaml` snippet. `mysql`, `postgres`, `redis`, and `mqtt` templates default to generic TCP L4 entries; only HTTPS templates support custom domains and access controls.
0 commit comments