Consider a three-tier configuration system #3
Labels
No Label
bug
data loss
design finalized
good first issue
new feature area
question / support
security
waiting for response
No Milestone
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: borgmatic-collective/borgmatic#3
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
It would be useful if borgmatic supported (3) tiers of configuration files.
That would provide a bit of flexibility so that the "postgres" user can do it's own "borgmatic" backups, without needing to be configured by the root user.
Down the road, maybe there are "job-specific" settings files under ~/.borgmatic.d/*.job
That way you could backup different parts of the system with different borgmatic settings.
Imported from Taiga issue 2 (to do). Created on 2015-07-26T14:08:10+0000 by Thomas Harold.
This would require some config file merging/overriding logic, but that shouldn't be too hard given the current approach with treating parsed config file contents as data blobs.
Comment on 2015-07-26T15:11:55+0000 by Dan Helfman.
Actually, thinking about this a little more, config value merging/overriding may not be necessary or desirable. It may be better to have overriding work at the whole-config-file granularity. So for instance if a ~/.borgmatic.conf exists, then that file would be used for all settings and /etc/borgmatic/config wouldn't be read at all.
Thoughts? How do most other programs do it?
Comment on 2015-07-30T02:52:28+0000 by Dan Helfman.
Speaking as a sys-admin:
There are definitely some settings that would be best to be defined at a
global level such as the following. That way I could set them once at the
server level and not have to re-specify them at the per-user or per-job
level.
desired)
Any or all of those could then be overridden at the user level (i.e. the
'postgres' user which backups the postgresql databases). i.e. issues with
backing up using the postgres user might want to alert a different set of
admins that the backups failed. And for a personal user like 'jsmith', who
is running personal borgmatic backups, those alerts should go to
jsmith@somewhereelse.
I might define a global Last-N of 10, but then decide that the backups done
while logged in as the postgres user should be checked with a Last-N of 25.
Or a specific backup which is really critical, might need a Last-N of 50.
Mostly it gives flexibility. But if Cronmatic will handle all the email
issues, then that just leaves smaller (and much fewer) settings like Last-N
and which verifications to do. So it does become less important because
I'm only re-defining a handful (no more then 4) variables at the per-user
or per-job level instead of a dozen or more.
Comment on 2015-08-03T10:44:18+0000 by Thomas Harold.
While this ticket isn't implemented, I'll note that /etc/borgmatic.d/ is now supported. Additionally, you can provide a list of configuration files or directories on the borgmatic command-line, and they'll all be run in succession.
Comment on 2017-07-30T18:24:38+0000 by Dan Helfman.
I'm closing this in favor of #148. Once implemented, that would allow you to set up your own means of configuration file merging and reuse.