diff options
| author | Clawd <ai@clawd.bot> | 2026-02-17 08:11:19 -0800 |
|---|---|---|
| committer | Clawd <ai@clawd.bot> | 2026-02-17 08:11:19 -0800 |
| commit | 6f02ec84a8299fc5577f147cc8741c8a4b162b64 (patch) | |
| tree | 020f3690e92732dcba723be0cfaef649f46de137 /TODO.md | |
| parent | 4b5a2656df13181b637c59c29ff31751e11cf22a (diff) | |
| parent | 05ea98df57599775c1d5bfea336012b075531670 (diff) | |
Merge agent-mode: v2 rewrite complete
- Removed all v1 code (-2800 lines)
- Simplified state to just default_host + base_domain
- Atomic port allocation via flock
- --container-port flag for Docker
- Custom domains shown in ship list
- Caddyfiles preserved on redeploy
- JSON output by default, --pretty for humans
Diffstat (limited to 'TODO.md')
| -rw-r--r-- | TODO.md | 44 |
1 files changed, 44 insertions, 0 deletions
| @@ -0,0 +1,44 @@ | |||
| 1 | # Ship TODO | ||
| 2 | |||
| 3 | ## Open | ||
| 4 | |||
| 5 | ### ~~Support custom Caddyfile~~ ✅ FIXED | ||
| 6 | **Fixed in:** commit b976b14 | ||
| 7 | |||
| 8 | - Caddyfile is only generated on first deploy | ||
| 9 | - Redeploys preserve existing Caddyfile (manual edits survive) | ||
| 10 | - SSH in and customize as needed, future deploys won't overwrite | ||
| 11 | |||
| 12 | --- | ||
| 13 | |||
| 14 | ### ~~ship list should show custom domains~~ ✅ FIXED | ||
| 15 | **Fixed in:** commit c1b0bb8 | ||
| 16 | |||
| 17 | - Reads actual domain from Caddyfile instead of assuming subdomain | ||
| 18 | - Works for both apps and static sites | ||
| 19 | |||
| 20 | --- | ||
| 21 | |||
| 22 | ## Fixed | ||
| 23 | |||
| 24 | ### ~~Port allocation collision bug~~ ✅ FIXED | ||
| 25 | **Fixed in:** commit d97bb6f | ||
| 26 | |||
| 27 | - Port allocation now uses atomic flock on `/etc/ship/next_port` | ||
| 28 | - Prevents race conditions when multiple deploys run concurrently | ||
| 29 | - Each app still gets its port stored in `/etc/ship/ports/<name>` | ||
| 30 | |||
| 31 | ### ~~Docker container port assumption~~ ✅ FIXED | ||
| 32 | **Fixed in:** commit d97bb6f | ||
| 33 | |||
| 34 | - Added `--container-port` flag (default 80) | ||
| 35 | - Template now uses `{{.ContainerPort}}` instead of hardcoded 80 | ||
| 36 | - Supports containers that listen on 8080, 3000, etc. | ||
| 37 | |||
| 38 | ### ~~ship host init doesn't create local state.json~~ ✅ FIXED | ||
| 39 | **Fixed in:** commit 6b2c047 | ||
| 40 | |||
| 41 | - Removed all v1 code (-2837 lines) | ||
| 42 | - Simplified `internal/state/state.go` to just `default_host` + `base_domain` | ||
| 43 | - `host init` now creates minimal state.json | ||
| 44 | - Ports/deploys tracked on server at `/etc/ship/ports/` | ||
