Skip to content

v0.6.0 — Operations

Choose a tag to compare

@mcansem mcansem released this 20 Jul 22:40

Sixth release of the infra repository: Operations - backup, restore, update, cleanup, and manual deploy tooling.

Added

  • scripts/backup.sh - local, verified, rotated backups per host role (pg_dump -Fc for Postgres, volume tars for jenkins_home/portainer_data/registry_data); off-host replication is documented (docs/backup.md), not scripted, since the destination varies per deployment
  • scripts/restore.sh - destructive, so it's a dry run unless --yes-i-am-sure is passed; validates Postgres connectivity and table presence after a restore
  • scripts/update.sh - on-demand apt upgrade + docker compose pull/up per role, image prune, idempotent logrotate config install
  • scripts/cleanup.sh - periodic docker system prune/build-cache prune, never touches volumes
  • scripts/deploy.sh - manual/fallback counterpart to vars/standardDeployPipeline.groovy's SSH deploy stage (pull infra config -> tag rollback images -> pull -> up -> wait-for-healthy -> roll back on failure), for when Jenkins isn't the one triggering deployment
  • scripts/logrotate/infra-nginx.conf for the file-based nginx logs added in v0.5.0
  • Real content for docs/backup.md and docs/restore.md (stubs since v0.1.0), including a disaster-recovery walkthrough

Fixed

  • Two internal-consistency gaps caught while writing this phase: docs/roadmap.md still showed v0.5.0 as "In Progress" after it had already shipped; docs/project-specification.md's Operations section was missing restore.sh/cleanup.sh

Notes

  • None of these scripts have been run against a live host yet - restore.sh and deploy.sh both have their own built-in safety gates for that first real run (explicit confirmation flag, automatic image rollback on failed healthcheck respectively)

What's next

v0.7.0 - Observability (Uptime Kuma, Prometheus, Grafana, Node Exporter, cAdvisor, alerting, monitoring dashboards).

Full changelog: CHANGELOG.md