summaryrefslogtreecommitdiffstats
path: root/cmd/ship/root_v2.go
Commit message (Collapse)AuthorAgeFilesLines
* Fix port collision bug, add --container-port flagClawd8 hours1-0/+2
| | | | | | | | | | | | Port allocation: - Use atomic flock-based allocation via /etc/ship/next_port - Prevents race conditions when multiple deploys run concurrently - Each app still gets its port stored in /etc/ship/ports/<name> Docker container port: - Add --container-port flag (default 80) - Template now uses {{.ContainerPort}} instead of hardcoded 80 - Supports containers that listen on 8080, 3000, etc.
* Remove v1 code, simplify state to just base_domainClawd8 hours1-0/+2
| | | | | | | | | - Delete all v1 commands (deploy, init, list, status, remove, etc.) - Delete v1 env/ and host/ subcommand directories - Simplify state.go: remove NextPort, Apps, AllocatePort, etc. - Local state now only tracks default_host + base_domain per host - Ports and deploys are tracked on the server (/etc/ship/ports/) - host init now creates minimal state.json
* Add --domain flag to v2 CLI flagsClawd23 hours1-0/+1
|
* Add --domain flag support to v2 deployClawd23 hours1-0/+1
| | | | | Allows specifying a custom domain instead of using the auto-generated subdomain pattern. Usage: ship . --domain bdw.to
* feat(v2): implement list, status, logs, remove commandsClawd45 hours1-47/+1
| | | | | | | | | | | - commands_v2.go: all subcommand implementations - list: enumerates deploys from /etc/ship/ports and /var/www - status: shows deploy details (type, port, running, TTL) - logs: fetches journalctl logs (or Caddy logs for static) - remove: full cleanup of all artifacts (service, caddy, files, docker) - All commands output JSON with proper error codes All core v2 commands now implemented
* feat(v2): implement ship host init with JSON outputClawd45 hours1-24/+4
| | | | | | | | | | | | - host_v2.go: full host initialization with JSON responses - Installs Caddy, Docker on Ubuntu/Debian - Creates /etc/ship/{env,ports,ttl} directories - Installs TTL cleanup timer (hourly systemd timer) - Cleanup script removes expired deploys completely - Preserves git deploy setup functionality (optional) - Added ErrInvalidArgs error code Critical 'host init' functionality preserved for v2
* feat(v2): add CLI structure and deploy orchestrationClawd45 hours1-0/+158
- cmd/ship/root_v2.go: new CLI with ship [PATH] as primary command - cmd/ship/deploy_v2.go: deploy orchestration with context struct - Placeholder implementations for static/docker/binary deploys - Placeholder subcommands (list, status, logs, remove, host) - Support for --name, --health, --ttl, --env flags - SHIP_PRETTY env var support Next: implement actual deploy flows