hostctl 0.1.47 → 0.1.49
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 +23 -1
- package/dist/bin/hostctl.js +348 -282
- package/dist/bin/hostctl.js.map +1 -1
- package/dist/index.d.ts +0 -4
- package/dist/index.js +187 -123
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -138,6 +138,29 @@ hostctl pkg remove hostctl-hello
|
|
|
138
138
|
Installed packages live under `~/.hostctl/packages` and can be run offline once cached.
|
|
139
139
|
Use `pkg install` for npm registry names (scoped + versioned) or git URLs. Local directories should be run directly without installing (`hostctl run ./path/to/pkg task args`); this avoids polluting the manifest with workstation paths and keeps the install story aligned with reproducible npm/git sources.
|
|
140
140
|
|
|
141
|
+
Add `--json` to any `hostctl pkg` command for machine-readable output:
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
hostctl pkg list --json
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
```json
|
|
148
|
+
{
|
|
149
|
+
"count": 1,
|
|
150
|
+
"duplicates": [],
|
|
151
|
+
"packages": [
|
|
152
|
+
{
|
|
153
|
+
"name": "hostctl-hello",
|
|
154
|
+
"version": "1.2.3",
|
|
155
|
+
"description": "Example tasks",
|
|
156
|
+
"directory": "hostctl-hello",
|
|
157
|
+
"source": "https://github.com/monopod/hostctl-example",
|
|
158
|
+
"path": "/home/you/.hostctl/packages/hostctl-hello"
|
|
159
|
+
}
|
|
160
|
+
]
|
|
161
|
+
}
|
|
162
|
+
```
|
|
163
|
+
|
|
141
164
|
## Designing tasks
|
|
142
165
|
|
|
143
166
|
Define tasks with the `task` helper and a typed `TaskContext`:
|
|
@@ -206,7 +229,6 @@ Key `TaskContext` capabilities (see [`docs/task-api.md`](docs/task-api.md) for d
|
|
|
206
229
|
- **Version mismatch**: keep `package.json`, `src/version.ts`, and `jsr.json` in sync before releasing.
|
|
207
230
|
- **SSH failures**: verify inventory entries (hostname, user, auth) and only pass `-r` when you intend remote execution.
|
|
208
231
|
- **Secrets**: when inventories are encrypted, ensure `AGE_IDS` includes the private keys so `hostctl` can decrypt secrets.
|
|
209
|
-
- **Environment drift**: run `hostctl runtime` to inspect prerequisites or `hostctl runtime install` to bootstrap them.
|
|
210
232
|
|
|
211
233
|
## Developer workflow
|
|
212
234
|
|