hostctl 0.1.48 → 0.1.51
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 +37 -0
- package/dist/bin/hostctl.js +27020 -377
- package/dist/bin/hostctl.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +25181 -24940
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -49,6 +49,20 @@ Run straight from npm without installing globally:
|
|
|
49
49
|
npx hostctl run core.echo message:hello
|
|
50
50
|
```
|
|
51
51
|
|
|
52
|
+
### Containerized CLI (Docker)
|
|
53
|
+
|
|
54
|
+
Build an image and run `hostctl` from a container:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
docker build -t hostctl .
|
|
58
|
+
docker run --rm -it \
|
|
59
|
+
-v "$PWD:/work" \
|
|
60
|
+
-v "$HOME/.hostctl:/home/node/.hostctl" \
|
|
61
|
+
hostctl --help
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Mount SSH keys or AGE identities as needed (for example `-v "$HOME/.ssh:/home/node/.ssh:ro"` and `-e AGE_IDS="~/.hostctl/age/*.priv"`).
|
|
65
|
+
|
|
52
66
|
## Bootstrap identities, inventory, and secrets
|
|
53
67
|
|
|
54
68
|
1. **Generate AGE identities**
|
|
@@ -138,6 +152,29 @@ hostctl pkg remove hostctl-hello
|
|
|
138
152
|
Installed packages live under `~/.hostctl/packages` and can be run offline once cached.
|
|
139
153
|
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
154
|
|
|
155
|
+
Add `--json` to any `hostctl pkg` command for machine-readable output:
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
hostctl pkg list --json
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
```json
|
|
162
|
+
{
|
|
163
|
+
"count": 1,
|
|
164
|
+
"duplicates": [],
|
|
165
|
+
"packages": [
|
|
166
|
+
{
|
|
167
|
+
"name": "hostctl-hello",
|
|
168
|
+
"version": "1.2.3",
|
|
169
|
+
"description": "Example tasks",
|
|
170
|
+
"directory": "hostctl-hello",
|
|
171
|
+
"source": "https://github.com/monopod/hostctl-example",
|
|
172
|
+
"path": "/home/you/.hostctl/packages/hostctl-hello"
|
|
173
|
+
}
|
|
174
|
+
]
|
|
175
|
+
}
|
|
176
|
+
```
|
|
177
|
+
|
|
141
178
|
## Designing tasks
|
|
142
179
|
|
|
143
180
|
Define tasks with the `task` helper and a typed `TaskContext`:
|