diff --git a/README.md b/README.md index b381fe0..1171851 100644 --- a/README.md +++ b/README.md @@ -23,3 +23,13 @@ roles: etckeeper_avoid_autocommits: true, etckeeper_mailto: root } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The role sets "root " as the default user/email in +etckeeper's git config. To change that set these options: + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +roles: + - { role: etckeeper, tags: ['system', 'etckeeper'], + etckeeper_user_name: "Charlie Root", + etckeeper_user_email: "charlie@corp.com" } +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/defaults/main.yml b/defaults/main.yml index bb6511a..a958897 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -1,2 +1,4 @@ --- etckeeper_avoid_autocommits: false +etckeeper_user_name: "root" +etckeeper_user_email: "root@{{ ansible_fqdn}}" diff --git a/tasks/etckeeper.yml b/tasks/etckeeper.yml index 48245eb..83013d6 100644 --- a/tasks/etckeeper.yml +++ b/tasks/etckeeper.yml @@ -30,6 +30,40 @@ - name: "etckeeper: Initialize" command: etckeeper init creates=/etc/.git/ + +- name: "check git user.name" + command: git config user.name + args: + chdir: /etc + warn: off + register: name_configured + ignore_errors: True + changed_when: False + +- name: "configure git user.name" + command: git config user.name "{{etckeeper_user_name}}" + args: + chdir: /etc + warn: off + when: name_configured.stdout != "{{etckeeper_user_name}}" + +- name: "check git user.email" + command: git config user.email + args: + chdir: /etc + warn: off + register: email_configured + ignore_errors: True + changed_when: False + +- name: "configure git user.email" + command: git config user.email "{{etckeeper_user_email}}" + args: + chdir: /etc + warn: off + when: email_configured.stdout != "{{etckeeper_user_email}}" + + - name: enable etckeeper commit mails template: src=post-commit-mail.j2 dest=/etc/.git/hooks/post-commit