I'd like to propose adding a feature to ORT/t3c to track config changes in a git repo.
My plan is to add a flag `--git` with the options yes/no/auto, defaulting to `auto`. With 'auto' a repo will be committed to if it exists, but not created. With 'yes' the repo will be created and committed to. With 'no' no git operations will be performed. The idea is, people who want to start using it can either add `--git=yes` to their server automation (whatever's running ORT/t3c, like cron or ansible), or simply run it as a one-time command on each server (like with Ansible Push). After that, if the repo exists, it will automatically be used. Defaulting to auto will prevent any manual runs from accidentally not committing to the repo if they forget the flag, but will also avoid creating the repo if it doesn't exist, which some users may not desire. Finally, a 'no' option allows any users who are already using git to manage config and want to continue doing so outside ORT/t3c without ATC breaking and injecting new commits, to do so. I believe this will be a big benefit for operations, especially debugging production issues. For example: - in an emergency, halt any automation and git checkout to a previous known good configuration - use git to see how files changed over time, and see when a breaking change occurred - search git, to see all previous values for a particular setting - correlate historical config changes with CDN traffic behavioral changes PR is here: https://github.com/apache/trafficcontrol/pull/5648 Does anyone have any objections or concerns with this? Does anyone have their ATS config directory as a git repo today? Will the above options break anyone? If nobody comments in 72 hours, I'll assume Lazy Consensus. Thanks,
