Post-Tyranny-Tech-Infrastru.../ansible/playbooks
Pieter fb90d77dbc feat: Add improved Nextcloud upgrade playbook (v2)
Complete rewrite of the upgrade playbook based on lessons learned
from the kikker upgrade. The v2 playbook is fully idempotent and
handles all edge cases properly.

Key improvements over v1:
1. **Idempotency** - Can be safely re-run after failures
2. **Smart version detection** - Reads actual running version, not just docker-compose.yml
3. **Stage skipping** - Automatically skips completed upgrade stages
4. **Better maintenance mode handling** - Properly enables/disables at right times
5. **Backup reuse** - Skips backup if already exists from previous run
6. **Dynamic upgrade path** - Only runs needed stages based on current version
7. **Clear status messages** - Shows what's happening at each step
8. **Proper error handling** - Fails gracefully with helpful messages

Files:
- playbooks/260123-upgrade-nextcloud-v2.yml (main playbook)
- playbooks/260123-upgrade-nextcloud-stage-v2.yml (stage tasks)

Testing:
- v1 playbook partially tested on kikker (manual intervention required)
- v2 playbook ready for full end-to-end testing

Usage:
  cd ansible/
  HCLOUD_TOKEN="..." ansible-playbook -i hcloud.yml \
    playbooks/260123-upgrade-nextcloud-v2.yml --limit <server> \
    --private-key "../keys/ssh/<server>"

The playbook will:
- Detect current version (v30/v31/v32)
- Skip stages already completed
- Create backup only if needed
- Upgrade through required stages
- Re-enable critical apps
- Update to 'latest' tag

🤖 Generated with Claude Code (https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-23 21:25:44 +01:00
..
260123-upgrade-nextcloud-stage-v2.yml feat: Add improved Nextcloud upgrade playbook (v2) 2026-01-23 21:25:44 +01:00
260123-upgrade-nextcloud-stage.yml fix: Correct docker_compose_v2 pull parameter syntax 2026-01-23 21:13:49 +01:00
260123-upgrade-nextcloud-v2.yml feat: Add improved Nextcloud upgrade playbook (v2) 2026-01-23 21:25:44 +01:00
260123-upgrade-nextcloud.yml fix: Restart containers after backup before upgrade stages 2026-01-23 21:03:13 +01:00
cleanup.yml fix: Resolve Authentik email delivery issues 2026-01-13 09:52:23 +01:00
configure-email.yml chore: Post-workshop state - January 23rd, 2026 2026-01-23 20:36:31 +01:00
deploy.yml fix: Correct docker_compose_v2 pull parameter syntax 2026-01-23 21:13:49 +01:00
fix-private-network.yml chore: Post-workshop state - January 23rd, 2026 2026-01-23 20:36:31 +01:00
setup-edge.yml feat: Add infrastructure roles for multi-tenant architecture 2026-01-20 19:05:51 +01:00
setup.yml chore: Post-workshop state - January 23rd, 2026 2026-01-23 20:36:31 +01:00
update-containers.yml chore: Post-workshop state - January 23rd, 2026 2026-01-23 20:36:31 +01:00
update-enrollment-flow.yml feat: Add playbook to update enrollment flow and fix brand default 2026-01-15 13:29:26 +01:00