Runbook: Update Service
Purpose
Update a running service with new images or configuration changes while minimizing downtime.
Prerequisites
- SSH access to odin
- Service compose directory under
~/ravenhelm/services/<service> - Maintenance window if the service is user-facing
Procedure
Step 1: Identify the service
# Confirm container is running
ssh ravenhelm@100.115.101.81 "docker ps | grep <service>"
Step 2: Pull latest changes
ssh ravenhelm@100.115.101.81 "cd ~/ravenhelm/services/<service> && docker compose pull"
If the update includes config changes tracked in git:
ssh ravenhelm@100.115.101.81 "cd ~/ravenhelm/services/<service> && git status"
Step 3: Apply the update
ssh ravenhelm@100.115.101.81 "cd ~/ravenhelm/services/<service> && docker compose up -d"
Step 4: Verify
ssh ravenhelm@100.115.101.81 "docker logs <service> --tail 100"
ssh ravenhelm@100.115.101.81 "docker ps | grep <service>"
Rollback
If the update fails, pin the previous image tag or revert configuration:
# Revert local config changes if needed
ssh ravenhelm@100.115.101.81 "cd ~/ravenhelm/services/<service> && git checkout -- ."
# Re-apply the previous tag and restart
ssh ravenhelm@100.115.101.81 "cd ~/ravenhelm/services/<service> && docker compose up -d"