From 56e22c16e8de8ae63f58bca359351e6f10c15af5 Mon Sep 17 00:00:00 2001 From: "Austin S. Hemmelgarn" Date: Tue, 6 Dec 2022 10:53:30 -0500 Subject: Cleanly reimplement system/edit-config.in. (#13702) * Cleanly reimplement system/edit-config.in - Added support for pulling config files from Docker containers. - Added auto-detection for Docker containers. - Use directory the script is in for target directory for config files instead of templating it in at build time. - Prefix error messages with `ERROR:`. - Robustly check for a valid editor _before_ invoking it. - Add support for actual command-line options, including a proper `--help` option. - Use prefix matching of absolute paths to determine file validity instead of blindly excluding certain path types. - If editing a non-existing file we do not provide a stock copy of, create an empty file instead of throwing an error. - Make the whole script properly modular. * Improve robustness of container autodetection. Instead of relying on the lack of certain directories on a host system, use some relatively standard checks to determine if we appear to be running in a container. * Auto-detect stock config paths at runtinme instead of hard-coding them at build time. THis will simplify testing of the script, as well as making it a bit more resilient to users moving things around. * Add an option to list known config files. * Fix container environment check to not require root. * Fix help output. * Fix path prefix check. * Fix file path handling. * Use correct variable when editing files. * Use correct path for `env`. * Source profile before running `set -e`. To prevent questionablly written profiles from causing the script to exit. * Produce columnar output when listing valid files. * Fix copy check. * Fix build issues. * fix build issues * formatting Co-authored-by: ilyam8 --- .gitignore | 1 - 1 file changed, 1 deletion(-) (limited to '.gitignore') diff --git a/.gitignore b/.gitignore index b90428a14f..c95976a219 100644 --- a/.gitignore +++ b/.gitignore @@ -126,7 +126,6 @@ system/netdata-updater.service !system/netdata.service.*.in system/netdata.plist system/netdata-freebsd -system/edit-config system/netdata.crontab system/install-service.sh -- cgit v1.2.3