Ansible

Table of Contents

1. Some of Ansible concepts

1.3. Modules

1.3.1. ansible.builtin.git

The Git module use HEAD as default branch which triggers ansible-lint warnings, use version: commit_hash or version: main

latest[git]: Result of the command may vary on subsequent runs.

2. Random tasks

Collection of tasks I’ve written over time

2.1. ASCII art

# https://github.com/ansible/ansible-lint/issues/497#issuecomment-477141267
# https://ansible.readthedocs.io/projects/lint/rules/no-changed-when/
- name: Alan | Bash | Create ASCII art for .bashrc template
  ansible.builtin.shell: |
    set -o pipefail
    figlet "{{ ansible_facts['hostname'] }}" | sed -e 's;^;#  ;' -e 's; *$;;'
  args:
    executable: /bin/bash
  register: ascii_art
  changed_when: ascii_art.rc != 0

2.2. Backup cronjob

- name: Alan | cron | Newsboat weekly backup
  tags: newsboat
  when: ansible_facts['hostname'] == 'framboise'
  ansible.builtin.cron:
    user: alan
    name: "Backup Newsboat {{ item.name }} every sunday at 15h{{ item.minute }}"
    minute: "{{ item.minute }}"
    hour: '15'
    weekday: '0'
    job: "/usr/bin/rsync -auq --delete {{ item.src }} {{ item.dest }}"
    state: present
  loop:
    - name: "configuration"
      minute: "10"
      src: "deneb:.config/newsboat/"
      dest: "/home/alan/backup/newsboat/config/"

    - name: "data"
      minute: "12"
      src: "deneb:.local/share/newsboat/"
      dest: "/home/alan/backup/newsboat/data/"

3. References

dim. 27 sept. 2026

Generated with Emacs 30.1 (Org mode 9.7.11)