aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/roles/etckeeper
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--roles/etckeeper/defaults/main.yml2
-rw-r--r--roles/etckeeper/tasks/main.yml33
2 files changed, 35 insertions, 0 deletions
diff --git a/roles/etckeeper/defaults/main.yml b/roles/etckeeper/defaults/main.yml
new file mode 100644
index 0000000..077855f
--- /dev/null
+++ b/roles/etckeeper/defaults/main.yml
@@ -0,0 +1,2 @@
+git_name: Egor Tensin
+git_email: Egor.Tensin@gmail.com
diff --git a/roles/etckeeper/tasks/main.yml b/roles/etckeeper/tasks/main.yml
new file mode 100644
index 0000000..cbf245c
--- /dev/null
+++ b/roles/etckeeper/tasks/main.yml
@@ -0,0 +1,33 @@
+- name: Check if /etc is versioned
+ become: true
+ ansible.builtin.file:
+ path: /etc/.git/config
+ state: file
+ register: etc_versioned
+ ignore_errors: true
+
+- when: etc_versioned
+ block:
+ - name: Check etckeeper is available
+ ansible.builtin.command: etckeeper --version
+ register: etckeeper_installed
+ changed_when: false
+ failed_when: false
+
+ - name: Fail if /etc is versioned, but not by etckeeper
+ ansible.builtin.fail:
+ msg: /etc is versioned, but etckeeper doesn't seem to be installed.
+ when: not etckeeper_installed
+
+ - name: Configure /etc repository
+ become: true
+ community.general.git_config:
+ scope: local
+ repo: /etc
+ name: '{{ item.name }}'
+ value: '{{ item.value }}'
+ loop:
+ - name: user.name
+ value: '{{ git_name }}'
+ - name: user.email
+ value: '{{ git_email }}'