@marcusrbrown/infra 0.22.0 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +88 -12
- package/dist/cli.js +268 -267
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -38,21 +38,40 @@ bunx @marcusrbrown/infra keeweb deploy --local --nginx # include nginx config
|
|
|
38
38
|
bunx @marcusrbrown/infra keeweb open
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
+
### Agent
|
|
42
|
+
|
|
43
|
+
Configure model credentials for the Fro Bot agent and wire the optional S3 durable-storage handoff.
|
|
44
|
+
|
|
45
|
+
| Subcommand | Description |
|
|
46
|
+
| --- | --- |
|
|
47
|
+
| `agent setup` | Interactive wizard to configure generalized agent model-credential secrets/variables |
|
|
48
|
+
| `agent storage --repo OWNER/REPO --manifest FILE` | Verify the provisioned S3 handoff and wire non-secret GitHub storage variables |
|
|
49
|
+
| `agent storage teardown --repo OWNER/REPO --manifest FILE` | Unwire S3 variables and remove the repo-scoped storage resources |
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
bunx @marcusrbrown/infra agent setup
|
|
53
|
+
bunx @marcusrbrown/infra agent setup --repo owner/repo --harness opencode --key sk-existing --force
|
|
54
|
+
bunx @marcusrbrown/infra agent storage --repo owner/repo --manifest handoff.json
|
|
55
|
+
bunx @marcusrbrown/infra agent storage --repo owner/repo --manifest handoff.json --plan # report without mutating
|
|
56
|
+
bunx @marcusrbrown/infra agent storage teardown --repo owner/repo --manifest handoff.json
|
|
57
|
+
```
|
|
58
|
+
|
|
41
59
|
### CLIProxyAPI
|
|
42
60
|
|
|
43
61
|
Manage the CLIProxyAPI proxy on `cliproxy.fro.bot`.
|
|
44
62
|
|
|
45
|
-
| Subcommand
|
|
46
|
-
|
|
|
47
|
-
| `cliproxy status`
|
|
48
|
-
| `cliproxy models`
|
|
49
|
-
| `cliproxy deploy`
|
|
50
|
-
| `cliproxy config`
|
|
51
|
-
| `cliproxy keys`
|
|
52
|
-
| `cliproxy login`
|
|
53
|
-
| `cliproxy monitor`
|
|
54
|
-
| `cliproxy open`
|
|
55
|
-
| `cliproxy
|
|
63
|
+
| Subcommand | Description |
|
|
64
|
+
| ---------------------- | ------------------------------------------------------------------------ |
|
|
65
|
+
| `cliproxy status` | HTTP reachability, usage stats, version |
|
|
66
|
+
| `cliproxy models` | List models served at /v1/models; optional `[provider]` filter |
|
|
67
|
+
| `cliproxy deploy` | Trigger deployment (GitHub Actions by default; `--local` for direct SSH) |
|
|
68
|
+
| `cliproxy config` | Get or set proxy configuration via the management API |
|
|
69
|
+
| `cliproxy keys` | List, add, or remove API keys via the management API |
|
|
70
|
+
| `cliproxy login` | Authenticate a provider (claude or codex) via SSH |
|
|
71
|
+
| `cliproxy monitor` | Probe Anthropic auth and send issue/Discord transition alerts |
|
|
72
|
+
| `cliproxy open` | Open an interactive TUI via SSH |
|
|
73
|
+
| `cliproxy reset-quota` | Reset quota for a CLIProxyAPI auth record |
|
|
74
|
+
| `cliproxy setup` | Interactive wizard to onboard a repo to CLIProxyAPI |
|
|
56
75
|
|
|
57
76
|
```bash
|
|
58
77
|
bunx @marcusrbrown/infra cliproxy status
|
|
@@ -68,10 +87,27 @@ bunx @marcusrbrown/infra cliproxy login claude
|
|
|
68
87
|
bunx @marcusrbrown/infra cliproxy login codex
|
|
69
88
|
bunx @marcusrbrown/infra cliproxy monitor
|
|
70
89
|
bunx @marcusrbrown/infra cliproxy open
|
|
90
|
+
bunx @marcusrbrown/infra cliproxy reset-quota
|
|
71
91
|
bunx @marcusrbrown/infra cliproxy setup
|
|
72
92
|
bunx @marcusrbrown/infra cliproxy setup --repo OWNER/REPO --harness opencode
|
|
73
93
|
```
|
|
74
94
|
|
|
95
|
+
### Broker
|
|
96
|
+
|
|
97
|
+
Manage the OIDC credential broker on `broker.fro.bot`.
|
|
98
|
+
|
|
99
|
+
| Subcommand | Description |
|
|
100
|
+
| --------------- | ------------------------------------------------------------------------ |
|
|
101
|
+
| `broker status` | HTTP reachability via `/healthz` |
|
|
102
|
+
| `broker deploy` | Trigger deployment (GitHub Actions by default; `--local` for direct SSH) |
|
|
103
|
+
| `broker logs` | Stream broker service logs (`--tail N` to limit lines) |
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
bunx @marcusrbrown/infra broker status
|
|
107
|
+
bunx @marcusrbrown/infra broker deploy
|
|
108
|
+
bunx @marcusrbrown/infra broker logs --tail 100
|
|
109
|
+
```
|
|
110
|
+
|
|
75
111
|
### Gateway
|
|
76
112
|
|
|
77
113
|
Manage the Fro Bot gateway on `gateway.fro.bot`.
|
|
@@ -108,6 +144,46 @@ bunx @marcusrbrown/infra umami deploy
|
|
|
108
144
|
bunx @marcusrbrown/infra umami logs --tail 50
|
|
109
145
|
```
|
|
110
146
|
|
|
147
|
+
### Dashboard
|
|
148
|
+
|
|
149
|
+
Manage the Fro Bot operator dashboard.
|
|
150
|
+
|
|
151
|
+
| Subcommand | Description |
|
|
152
|
+
| ------------------ | ------------------------------------------------------------------------ |
|
|
153
|
+
| `dashboard status` | SSH health check, `docker compose ps` service states |
|
|
154
|
+
| `dashboard deploy` | Trigger deployment (GitHub Actions by default; `--local` for direct SSH) |
|
|
155
|
+
| `dashboard logs` | Stream dashboard service logs (`--tail N` to limit lines) |
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
bunx @marcusrbrown/infra dashboard status
|
|
159
|
+
bunx @marcusrbrown/infra dashboard deploy
|
|
160
|
+
bunx @marcusrbrown/infra dashboard deploy --image-version 2026.06.47 # pin a CalVer release
|
|
161
|
+
bunx @marcusrbrown/infra dashboard logs dashboard --tail 100
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### VPN
|
|
165
|
+
|
|
166
|
+
Manage the WireGuard VPN egress box.
|
|
167
|
+
|
|
168
|
+
| Subcommand | Description |
|
|
169
|
+
| -------------------------- | ------------------------------------------------------------------------ |
|
|
170
|
+
| `vpn status` | SSH health check, `wg show wg0` interface state |
|
|
171
|
+
| `vpn deploy` | Trigger deployment (GitHub Actions by default; `--local` for direct SSH) |
|
|
172
|
+
| `vpn logs` | Stream WireGuard logs (`--tail N` to limit lines) |
|
|
173
|
+
| `vpn client add <name>` | Generate a keypair, assign a tunnel IP, write the client `.conf` |
|
|
174
|
+
| `vpn client list` | List peers (name, tunnel IP, public key) |
|
|
175
|
+
| `vpn client remove <name>` | Remove a peer |
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
bunx @marcusrbrown/infra vpn status
|
|
179
|
+
bunx @marcusrbrown/infra vpn deploy
|
|
180
|
+
bunx @marcusrbrown/infra vpn deploy --force-server-key # rotates the server key, invalidates all client configs
|
|
181
|
+
bunx @marcusrbrown/infra vpn logs --tail 100
|
|
182
|
+
bunx @marcusrbrown/infra vpn client add laptop
|
|
183
|
+
bunx @marcusrbrown/infra vpn client list
|
|
184
|
+
bunx @marcusrbrown/infra vpn client remove laptop
|
|
185
|
+
```
|
|
186
|
+
|
|
111
187
|
### Unified Status
|
|
112
188
|
|
|
113
189
|
```bash
|
|
@@ -117,7 +193,7 @@ bunx @marcusrbrown/infra status --json # machine-readable output
|
|
|
117
193
|
|
|
118
194
|
### MCP Bridge
|
|
119
195
|
|
|
120
|
-
|
|
196
|
+
Starts a stdio MCP server exposing a read-only allowlist of exactly 9 status commands as tools: `gateway status`, `cliproxy status`, `cliproxy models`, `keeweb status`, `umami status`, `dashboard status`, `vpn status`, `broker status`, and unified `status`. Every mutating command is deliberately excluded from the allowlist.
|
|
121
197
|
|
|
122
198
|
```bash
|
|
123
199
|
bunx @marcusrbrown/infra mcp
|