summaryrefslogtreecommitdiffstats
path: root/PROGRESS.md
blob: 49ca21682f2308f46622afcef229599ea9a1e0e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# Ship v2 Rebuild Progress

Tracking rebuilding ship for agent-first JSON interface.

## Status: READY FOR TESTING

## Completed
- [x] Design docs (SHIP_V2.md, SPEC.md)
- [x] JSON output types and helpers (`internal/output`)
- [x] Auto-detection logic (`internal/detect`)
- [x] Error codes and exit codes
- [x] New CLI structure (`ship [PATH]` as primary)
- [x] Deploy orchestration with placeholder implementations

## Current Phase: Subcommand Implementations
- [x] Static site deploy (rsync + Caddyfile)
- [x] Docker deploy (build + systemd + Caddy)
- [x] Binary deploy (scp + systemd + Caddy)
- [x] Health check implementation
- [x] TTL support (server-side)
- [x] Port allocation (server-side)

## Upcoming
- [ ] Testing with real deploys
- [ ] Remove v1 code after validation

## Wiring
- v2 is now the default interface
- Set `SHIP_V1=1` to use legacy v1 (human-formatted output)

## Completed Recently
- [x] `ship list` - enumerate all deploys from /etc/ship/ports and /var/www
- [x] `ship status NAME` - show deploy status, port, type, TTL
- [x] `ship logs NAME` - show journalctl logs (or Caddy logs for static)
- [x] `ship remove NAME` - full cleanup of all deploy artifacts

## Completed Recently
- [x] TTL cleanup timer (server-side systemd timer)
- [x] `ship host init` with JSON output
- [x] Docker + Caddy installation
- [x] Cleanup script for expired TTL deploys

## Commits
- `5b88935` feat(v2): add output and detect packages
- `8094639` feat(v2): add CLI structure and deploy orchestration

---

## Notes
- Branch: `agent-mode`
- Keep v1 code for reference until v2 is working
- Test with real deploys before merging to main