aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/roles/etckeeper
diff options
context:
space:
mode:
authorEgor Tensin <Egor.Tensin@gmail.com>2023-09-04 21:31:18 +0200
committerEgor Tensin <Egor.Tensin@gmail.com>2023-09-04 21:31:45 +0200
commite2d23269a1847107bda7918eeb24cf66b376c9ba (patch)
treeddeb9ab58df45cf0a975e554c7ee08c829b0ac8d /roles/etckeeper
parentv0.0.25 (diff)
downloadinfra-ansible-e2d23269a1847107bda7918eeb24cf66b376c9ba.tar.gz
infra-ansible-e2d23269a1847107bda7918eeb24cf66b376c9ba.zip
import roles etckeeper, pacman, rate_mirrors
Diffstat (limited to 'roles/etckeeper')
-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 }}'