aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/roles/etckeeper/handlers/commit.yml
diff options
context:
space:
mode:
authorEgor Tensin <Egor.Tensin@gmail.com>2023-09-11 18:01:37 +0200
committerEgor Tensin <Egor.Tensin@gmail.com>2023-09-12 10:17:24 +0200
commit3b7ba8532f31d221c0708e2d6733bccdd3935f91 (patch)
tree9ba4be99b8a6589d30f94a9fa029cd8ec56d23ef /roles/etckeeper/handlers/commit.yml
parentfix some ansible-lint warnings (diff)
downloadinfra-ansible-3b7ba8532f31d221c0708e2d6733bccdd3935f91.tar.gz
infra-ansible-3b7ba8532f31d221c0708e2d6733bccdd3935f91.zip
etckeeper: manage the ignore list
Diffstat (limited to 'roles/etckeeper/handlers/commit.yml')
-rw-r--r--roles/etckeeper/handlers/commit.yml24
1 files changed, 24 insertions, 0 deletions
diff --git a/roles/etckeeper/handlers/commit.yml b/roles/etckeeper/handlers/commit.yml
new file mode 100644
index 0000000..f48db8f
--- /dev/null
+++ b/roles/etckeeper/handlers/commit.yml
@@ -0,0 +1,24 @@
+- name: Get list of modified files
+ become: true
+ ansible.builtin.shell: |
+ set -o pipefail && \
+ git status --porcelain=v1 \
+ | cut -c 4- \
+ | grep -G -v '^{{ paths | map("regex_replace", "^/", "") | list | join("\|^") }}'
+ args:
+ chdir: /etc
+ register: git_status
+ changed_when: false
+ failed_when: git_status.rc not in [0, 1]
+
+- name: Fail if unexpected files were modified
+ ansible.builtin.fail:
+ msg: |
+ Unexpected files were modified:
+ {{ git_status.stdout }}
+ when: git_status.rc == 0
+
+- name: etckeeper commit
+ become: true
+ ansible.builtin.command: |
+ etckeeper commit '{{ commit_msg }}'