-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Decommission puppetmaster.theforeman.org #1805
Comments
How much storage is the backup? |
# du -csh backups/*
17G backups/ci
12G backups/ci-jenkins
352M backups/discourse
133M backups/puppetmaster
1.2G backups/redmine
12K backups/ssh
30G total
Looking into those directories I see a lot of So I think there's a lot of room to improve here. |
Thinking more about this: why are these executed on the controller at all? We should be building on nodes. |
I do see we exclude |
I too use restic, so strong 👍 |
Secrets have been moved. theforeman/theforeman-rel-eng#171 still need to be merged and I've emailed everyone to update their git remotes. As for restic: I have puppetized my own setup a bit (not 100%) so I'll try to publish that module so we can reuse it. |
In ekohl/puppet-restic#1 I made a start with this. |
I've deployed an initial version and after a few bumps it's been deployed on Redmine. TODO items:
After that backing up Jenkins is a good next step. Today |
voxpupuli/puppet-systemd#329 would be a prerequisite. Then puppet-restic can use it. |
6d54532 takes care of the Next step is to verify the backups contain good content and can be restored. Once that's done, manage the global SSH known host entry and apply it to Jenkins. |
The exclude path was wrong, so it also backed up all git repositories: b7bf7cc This decreased the backup from 2 GB to 632 MB.
#1838 includes that. |
Last week Jenkins was added. Yesterday I looked at Discourse. Turns out the Discourse backups we did make never contained the real files. So even though I hadn't verified the backups were made correctly, yesterday I turned off the server. 2bbdb33 & 0e68fdb mostly worked for Discourse. Just needs #1842 which I already did locally to verify the backups were correct. So now we will have good backups. Needs some further iteration, but that'll be captured in new issues. |
Via #1777, #1686 and #1685 most things were moved elsewhere.
Currently this remains:
/srv/backups
)/srv/secretsgit
)Backups
This implies it needs to be accessible from our various servers (CI, Discourse, Puppet, Foreman, Redmine). In picking a host we need to consider network access (IPv4, IPv6) and location. If we host the backup on the same physical server then there's point: if the hardware burns down it's lost.
It may be wise to consider multiple hosts as destinations.
Secrets
Similar to backups, there is the concern of network access. In addition to that all people with access need to update their remote. It's possible to make puppetmaster a CNAME to the new host, but I'd prefer to retire that name instead.
theforeman/theforeman-rel-eng#171 is where we document the secret storage, but it's good to reach out to everyone with access individually.
While doing so we can also remove people's access when they've moved on to different projects.
The text was updated successfully, but these errors were encountered: