From 8fe10c3bd2c46fd5b8b3d90cd3c954af7a69f5b4 Mon Sep 17 00:00:00 2001 From: zleyyij <75810274+zleyyij@users.noreply.github.com> Date: Tue, 10 Sep 2024 20:41:36 -0600 Subject: [PATCH] vault backup: 2024-09-10 20:41:36 --- software/Versioned config files.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/software/Versioned config files.md b/software/Versioned config files.md index 1df878f..e06371e 100644 --- a/software/Versioned config files.md +++ b/software/Versioned config files.md @@ -1,11 +1,15 @@ ## Solutions - Create a directory, eg `/etc/config` and store all of your config files there, then use a makefile to automatically generate symlinks and install them in the appropriate locations. A command is also created for removing said symlinks. (https://forums.freebsd.org/threads/version-control-for-configuration-files.70312/) - - I like this so far, it seems like one of the better options. + - I like this so far, it seems like one of the better options. If I'm allowed to be quirky, I'd rather use `just` than `make`, Makefile syntax makes my tummy hurt. - Using a filesystem that supports snapshots like zfs/btrfs and then creating snapshots (https://forums.FreeBSD.org/threads/version-control-for-configuration-files.70312/post-423330). - I don't like this very much, it depends too much on OS specific configuration and doesn't seem like it'd be as easily portable between machines. - Using a configuration management system like Ansible, Chef, or Puppet () - I feel like this would require a fair bit of initial setup but it seems robust -- Using a database like +- Using a database like Dolt or Terminus DB + - I think this would require a lot of work and we wouldn't reap the benefits at our scale. +- Using an orchestration system like kubernetes or hashicorp nomad to centralize config file/deployment management, from there version controlling configs would be easy (). + - I think this would be a good idea, but it's *a lot of work*, and I think maintaining it would continue to be a lot of work. + ## Notes I think one major issue with storing configs in a solution like git, is that you need to remember to push changes after every single config change. Maybe a cronjob could be configured to commit daily/weekly?