Skip to content

feat(gateway): implement auto-update system#1

Open
thieung wants to merge 3 commits into
mainfrom
feat/goclaw-auto-update
Open

feat(gateway): implement auto-update system#1
thieung wants to merge 3 commits into
mainfrom
feat/goclaw-auto-update

Conversation

@thieung
Copy link
Copy Markdown
Owner

@thieung thieung commented Mar 24, 2026

Summary

  • Implement self-update system for binary deployments with checksum verification and rollback support
  • Add Docker Watchtower overlay for container-based auto-update
  • CLI command goclaw update for manual update checks
  • Fix timeout client usage for checksum download

Test plan

  • Test goclaw update command on binary deployment
  • Test Docker Watchtower overlay configuration
  • Verify checksum verification works correctly
  • Test rollback on failed update

thieung added 3 commits March 24, 2026 00:21
…er Watchtower overlay

Add self-update capability to GoClaw with:
- Internal binary download, SHA256 verification, and atomic swap (self_update.go)
- goclaw update CLI command with progress reporting
- Update checker background service integration
- Docker Watchtower overlay for containerized auto-updates
- Health endpoint reporting update download status
- Configuration support for update preferences

Files:
- NEW: internal/gateway/self_update.go — download, verify, swap logic
- NEW: cmd/update.go — goclaw update CLI command
- NEW: docker-compose.watchtower.yml — Watchtower overlay
- MODIFIED: internal/gateway/update_check.go — config & download support
- MODIFIED: internal/gateway/server.go — StartUpdateChecker config param
- MODIFIED: internal/gateway/router.go — health response tracking
- MODIFIED: internal/config/config.go — UpdateConfig struct
- MODIFIED: cmd/root.go — register updateCmd
- MODIFIED: cmd/gateway.go — startup swap + config passing
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant