system-config/playbooks/zuul
Ian Wienand 8361ab701c
backups: add retirement and purge lists
This adds a retirement and purge list to the borg management role.

The idea here is that when a backed-up host is shut-down, we add its
backup user to the retired list.  On the next ansible run the user
will be disabled on the backup-server and the backup repo marked as
retired.  On the next prune, we will trim the backup to only the last
run to save space.  This gives us a grace period to restore if we
should need to.

When we are sure we don't want the data, we can put it in the purge
list, and the backup repo is removed on the next ansible run (hosts
can go straight into this if we want).  This allows us to have a
review process/history before we purge data.

To test, we create a fake "borg-retired" user on the backup-server,
and give it a simple backup.  This is marked as retired, which is
reflected in the testinfra run of the prune script.  Similarly a
"borg-purge" user is created, and we ensure it's backup dir is
removed.

Documentation is updated.

Change-Id: I5dff0a9d35b11a1f021048a12ecddce952c0c13c
2024-11-08 22:30:49 +11:00
..
gerrit Add gerrit 3.9 image builds 2023-12-01 13:59:50 -08:00
infra-puppet-apply Use ensure-virtualenv in legacy puppet jobs 2020-06-15 13:22:02 -05:00
infra-puppet-beaker-rspec Convert ssh keys for ruby net-ssh if necessary 2020-08-19 16:28:08 -07:00
roles Reference bastion through prod_bastion group 2022-11-04 09:18:35 +11:00
templates backups: add retirement and purge lists 2024-11-08 22:30:49 +11:00
bootstrap-and-test-review.yaml Add Gerrit 3.5 to 3.6 upgrade testing 2022-06-22 10:58:17 -07:00
bootstrap-test-review.yaml system-config-run-review : add review priority and backport labels 2023-03-16 13:55:54 +11:00
lists3-alias-logs.yaml Add a mailman3 list server 2022-11-11 23:20:19 +00:00
run-base-post.yaml Reference bastion through prod_bastion group 2022-11-04 09:18:35 +11:00
run-base-pre.yaml Stop using backend hostname in zuul testinfra tests 2020-06-10 14:48:40 -07:00
run-base.yaml backups: add retirement and purge lists 2024-11-08 22:30:49 +11:00
run-lists-post.yaml Remove the old mailing list server 2023-10-20 18:10:08 +00:00
run-production-bootstrap-bridge-add-rootkey.yaml Reference bastion through prod_bastion group 2022-11-04 09:18:35 +11:00
run-production-bootstrap-bridge.yaml run-production-bootstrap-bridge: use add-bastion-host 2022-11-04 09:17:48 +11:00
run-production-playbook-post.yaml infra-prod: don't encrypt logs if they are being published 2023-01-12 15:58:12 +11:00
run-production-playbook.yaml Reference bastion through prod_bastion group 2022-11-04 09:18:35 +11:00
test_gerrit_renames.yaml Improve repo rename functional testing 2021-08-02 14:12:57 -07:00
test_gitea_renames.yaml Improve repo rename functional testing 2021-08-02 14:12:57 -07:00
test-lists3.yaml Add a mailman3 list server 2022-11-11 23:20:19 +00:00
test-review.yaml Add Gerrit 3.5 to 3.6 upgrade testing 2022-06-22 10:58:17 -07:00
upgrade-review.yaml Add Gerrit 3.10 upgrade testing 2024-06-04 13:30:19 -07:00