|
|
|
---
|
|
|
|
- name: "install etckeeper (fedora)"
|
|
|
|
dnf: name={{ item }} state=present
|
|
|
|
with_items:
|
|
|
|
- git
|
|
|
|
- etckeeper
|
|
|
|
when: ansible_distribution == 'Fedora'
|
|
|
|
- name: "install etckeeper (debian)"
|
|
|
|
apt: name={{ item }} state=present
|
|
|
|
with_items:
|
|
|
|
- git
|
|
|
|
- etckeeper
|
|
|
|
when: ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu'
|
|
|
|
|
|
|
|
|
|
|
|
- block:
|
|
|
|
- name: "package manager is dnf"
|
|
|
|
set_fact: highlevel_package_manager='dnf'
|
|
|
|
- name: "lowlevel package manager is rpm"
|
|
|
|
set_fact: lowlevel_package_manager='rpm'
|
|
|
|
when: ansible_distribution == 'Fedora'
|
|
|
|
- block:
|
|
|
|
- name: "package manager is apt"
|
|
|
|
set_fact: highlevel_package_manager='apt'
|
|
|
|
- name: "lowlevel package manager is dpkg"
|
|
|
|
set_fact: lowlevel_package_manager='dpkg'
|
|
|
|
when: ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu'
|
|
|
|
- name: "configure"
|
|
|
|
template: src=etckeeper.conf.j2
|
|
|
|
dest=/etc/etckeeper/etckeeper.conf
|
|
|
|
|
|
|
|
|
|
|
|
- name: "make sure bzr repository is absent"
|
|
|
|
file: path=/etc/.bzr state=absent
|
|
|
|
- name: "initialize git repository"
|
|
|
|
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 commit mails"
|
|
|
|
template: src=post-commit-mail.j2
|
|
|
|
dest=/etc/.git/hooks/post-commit
|
|
|
|
mode=0755
|
|
|
|
when: etckeeper_mailto is defined
|