Getting started

Initial configuration

By default git is used as VCS. This can be changed by the inventory variables etckeeper__vcs.

Example inventory

## If you don’t what to track hashed passwords.
etckeeper__gitignore_group:
  - 'shadow'
  - 'shadow-'

In Ansible's inventory.

Example playbook

Here's an example playbook that uses the debops-contrib.etckeeper role:

---

- name: Put /etc under version control using etckeeper
  hosts: [ 'debops_service_etckeeper' ]
  become: True

  environment: '{{ inventory__environment | d({})
                   | combine(inventory__group_environment | d({}))
                   | combine(inventory__host_environment  | d({})) }}'

  roles:

    - role: debops-contrib.etckeeper
      tags: [ 'role::etckeeper' ]

This playbooks is shipped with this role under ./docs/playbooks/etckeeper.yml from which you can symlink it to your playbook directory. In case you use multiple DebOps Contrib roles, consider using the DebOps Contrib playbooks.

Ansible tags

You can use Ansible --tags or --skip-tags parameters to limit what tasks are performed during Ansible run. This can be used after a host was first configured to speed up playbook execution, when you are sure that most of the configuration is already in the desired state.

Available role tags:

role::etckeeper
Main role tag, should be used in the playbook to execute all of the role tasks as well as role dependencies.
role::etckeeper:vcs_config
Run tasks related to configuring VCS options.