Description:
Explore and implement an optional, GitHub-aware auto-update mechanism for keypers. This would help node operators stay up-to-date with the latest releases, especially when releases include both image updates and configuration or script changes that cannot be handled by tools like Watchtower alone.
Goals
- Investigate how best to implement a lightweight, GitHub-aware auto-updater
- Select and implement the most practical approach for deployments using Docker Compose
- Ensure the solution is opt-in, safe, and easy to integrate
Context
Tools like Watchtower are useful for automatically pulling new Docker images, but they fall short for our release model because:
- Releases are GitHub-based, not solely Docker image–based
- Changes may include updates to
.env, configuration scripts, or deployment logic
- Human intervention may still be needed for certain migrations
Proposed Solution
Implement a custom auto-update script that:
- Periodically checks the latest GitHub release in the shutter keyper deployment repo
- Compares it to the last applied version (stored locally)
- If new:
- Logs or notifies the operator
- Optionally runs the update instructions
- Stores the updated version tag to prevent re-application
Deliverables
- A production-ready update script
- Update instructions for keyper operators who want to enable it
- Fallback instructions for manual override
Description:
Explore and implement an optional, GitHub-aware auto-update mechanism for keypers. This would help node operators stay up-to-date with the latest releases, especially when releases include both image updates and configuration or script changes that cannot be handled by tools like Watchtower alone.
Goals
Context
Tools like Watchtower are useful for automatically pulling new Docker images, but they fall short for our release model because:
.env, configuration scripts, or deployment logicProposed Solution
Implement a custom auto-update script that:
Deliverables