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
{{ message }}
Repository navigation
Commit 91c98f2
Browse filesBrowse the repository at this point in the historyBrowse files
rozsival-agent
committed
refactor: replace bin scripts with one bashly-generated devbox cli
Copy file name to clipboardExpand all lines: .agents/skills/devbox-deploy/SKILL.md
+30-29Lines changed: 30 additions & 29 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,49 +1,50 @@
1
1
---
2
2
name: devbox-deploy
3
-
description: Pushes repo changes out to the devbox and applies them - ./bin/push, choosing between up, rebuild and bootstrap for the file you actually changed, ./bin/sync-identities for the identity registry, rehearsing the rsync, and verifying with doctor. Use this whenever someone wants to deploy, redeploy, sync or "push to the devbox", has edited the Dockerfile, docker-compose.yml, container/, home/, .env or identities.conf and wants it live, is bumping a pinned tool version, asks whether a redeploy will wipe their keys or projects, or needs to restart, roll back or back up the devbox.
3
+
description: Pushes repo changes out to the devbox and applies them - ./bin/devbox deploy, choosing between up, rebuild and bootstrap for the file you actually changed, ./bin/devbox syncidentities for the identity registry, rehearsing the rsync, and verifying with doctor. Use this whenever someone wants to deploy, redeploy, sync or "push to the devbox", has edited the Dockerfile, docker-compose.yml, container/, home/, .env or identities.conf and wants it live, is bumping a pinned tool version, asks whether a redeploy will wipe their keys or projects, or needs to restart, roll back or back up the devbox.
4
4
---
5
5
6
6
# devbox deploy
7
7
8
-
Deploying is two easily-conflated steps: **sync the repo** to the workstation (`bin/push`, laptop side),**apply it** to
9
-
the running container (`bin/devbox`, workstation side) - picking the wrong one is usually
10
-
why a change seems to do nothing. Syncing the *identity registry* is a separate, third step (`bin/sync-identities`): it
11
-
never travels with `bin/push`, since `identities.conf` is gitignored, hand-held
12
-
state, not repo content.
8
+
Deploying is two easily-conflated steps: **sync the repo** to the workstation (`devbox deploy`, laptop side),
9
+
**apply it** to the running container (`devbox up` and friends, workstation side) - picking the wrong one is
10
+
usually why a change seems to do nothing. Syncing the *identity registry* is a separate, third step
11
+
(`devbox sync identities`): it never travels with `devbox deploy`, since `identities.conf` is gitignored,
12
+
hand-held state, not repo content.
13
13
14
14
Full reference: `docs/cli.md` (flags), `docs/operations.md` (restart, backup, troubleshooting).
15
15
16
16
## The common case
17
17
18
18
```bash
19
-
./bin/push<workstation> --up # rsync, then ./bin/devbox up on the host
19
+
./bin/devbox deploy<workstation> --up # rsync, then ./bin/devbox up on the host
20
20
```
21
21
22
-
`bin/push` is `rsync -az --delete` excluding `.git`, `.env`, `data/`, `.DS_Store` - host defaults to
23
-
`$DEVBOX_HOST`then `<workstation>`, remote to `$DEVBOX_REMOTE_PATH` then `~/devbox`.
22
+
`devbox deploy` is `rsync -az --delete` excluding `.git`, `.env`, `data/`, `.DS_Store` - host defaults to
23
+
`$DEVBOX_HOST`(environment or `.push.env`), remote to `$DEVBOX_REMOTE_PATH` then `~/devbox`.
24
24
25
25
`--up` runs remote `up` over `ssh -t` so the live-session prompt reaches a human; an agent has none, so
26
26
`up` refuses instead - correct, not an obstacle. Check `./bin/devbox sessions` first; if connected, sync
27
27
files, report the pending step and whose session dies, let the user decide. `--force` needs an explicit
28
28
go-ahead: it kills shells/panes with no client-side message.
29
29
30
-
`bin/devbox` only runs on the workstation, driving the local Docker daemon. From the laptop that's
31
-
`ssh <workstation> 'cd ~/devbox && ./bin/devbox <cmd>'`, or just `--up`.
30
+
The workstation commands (`up`, `down`, `rebuild`, `bootstrap`, ...) only run on the workstation, driving the
31
+
local Docker daemon, and `deploy`/`sync`/`agent install` only on the laptop. From the laptop that's
32
+
`ssh <workstation> 'cd ~/devbox && ./bin/devbox <cmd>'`, or just `deploy --up`.
0 commit comments