|
87 | 87 | │ └── skills add, remove, list |
88 | 88 | ├── model setup (has sub: custom), status, token, sync, pull, list, prefer, discover, remove |
89 | 89 | ├── app install, sync, list, delete |
90 | | -├── tunnel status, setup, login, provision, restart, stop, logs |
91 | | -├── domain search, check, register |
| 90 | +├── tunnel status, setup, restart, stop, logs (login hidden: browser-managed fallback) |
| 91 | +├── domain list, search, check, register |
92 | 92 | ├── kubectl/helm/helmfile/k9s Passthrough (auto KUBECONFIG) |
93 | 93 | ├── update Helm + CLI version check (--json) |
94 | 94 | ├── upgrade Apply chart upgrades (--defaults-only, --pinned, --major) |
|
102 | 102 | - `sell info <name>` prints purchase instructions (URL, model, buy.py command). |
103 | 103 | - `sell mcp [name]` runs a foreground x402-paid MCP server: forwards buyer JSON args to a backend HTTP service, injecting the seller's own API key (buyer never sees it). Payment rides MCP `_meta` (`internal/x402mcp`). |
104 | 104 | - `sell resume` replays every persisted sell offer (inference incl. detached host-gateway relaunch; http/agent/demo-agent via the manifest ledger at `$OBOL_CONFIG_DIR/sell-http/`) — run after a host reboot; `obol stack up` runs the same path. `--install-boot-unit` adds a systemd user unit (Linux). `sell mcp` is foreground-only, no offer, not resumed. |
| 105 | +- `tunnel setup [<token>]`: the one permanent-URL command. Connector-token based (dashboard-managed) — no host binary, no account-wide API key. Accepts the bare connector token, the `--token` flag, a positional arg, or the whole `cloudflared tunnel run --token …` line (prefix stripped via `extractConnectorToken`). Reuses the remote runtime (`ProvisionWithToken` → `TUNNEL_TOKEN` secret, chart `management_mode=remote`); DNS/ingress are configured by the user in the Cloudflare dashboard (route Public Hostname → `http://traefik.traefik.svc.cluster.local:80`), not via API. The API-token provisioning path was removed (no more `tunnel provision`, no setup `--api-token/--account-id/--zone-id/--register-domain`). `--management local` (alias hidden `tunnel login`) is the browser fallback (needs `cloudflared`). `tunnel status` reads connector health from cloudflared's in-cluster `/ready`+`/metrics` (port 2000, no token) plus a public HTTP probe; concise by default, `--verbose` for replicas/pods, `--no-probe` to stay offline. Domain management lives under `obol domain` (`list`, `search`, `check`, `register`) — an optional CLI wrapper around Cloudflare Registrar; still uses a scoped Cloudflare **API token** (Account → Domain perm, via `--api-token`/`CLOUDFLARE_API_TOKEN`; on a TTY it walks you through token creation and prompts). `--api-token` deliberately has NO `-t` alias to avoid colliding with `tunnel setup -t` (connector token — a different credential). `register` is billable (needs a payment method on the CF account); on success it prints the `obol tunnel setup --hostname …` handoff. |
105 | 106 | - `hermes` is passthrough to native hermes CLI via `hermes.CLI()` (cmd/obol/hermes.go:27). No Go-level subcommands registered. |
106 | 107 | - `bootstrap` (cmd/obol/bootstrap.go) is a hidden command for installer use only — not user-facing. |
107 | 108 |
|
|
0 commit comments