diff options
Diffstat (limited to 'src/roles/snap')
-rw-r--r-- | src/roles/snap/meta/main.yml | 3 | ||||
-rw-r--r-- | src/roles/snap/tasks/main.yml | 27 |
2 files changed, 30 insertions, 0 deletions
diff --git a/src/roles/snap/meta/main.yml b/src/roles/snap/meta/main.yml new file mode 100644 index 0000000..4516fa1 --- /dev/null +++ b/src/roles/snap/meta/main.yml @@ -0,0 +1,3 @@ +dependencies: + - role: common + - {role: etckeeper, when: etc_versioned} diff --git a/src/roles/snap/tasks/main.yml b/src/roles/snap/tasks/main.yml new file mode 100644 index 0000000..cce49b0 --- /dev/null +++ b/src/roles/snap/tasks/main.yml @@ -0,0 +1,27 @@ +- name: As root user + become: true + block: + - name: Check for changes in /etc + ansible.builtin.command: git status --porcelain=v1 + args: + chdir: /etc + register: git_status + changed_when: false + failed_when: false + + - name: All changes in /etc are snap changes? + ansible.builtin.shell: | + set -o pipefail && \ + git status --porcelain=v1 \ + | cut -c 4- \ + | grep -G -v '^systemd/system/' \ + | grep -G -v '/snap\.\|snap-' + args: + chdir: /etc + register: only_snap + changed_when: false + failed_when: false + + - name: Commit changes in /etc + ansible.builtin.command: etckeeper commit 'after snap run' + when: git_status.stdout and only_snap.rc != 0 |