Files
ansible-pull/roles/base/tasks/ansible_setup.yml

111 lines
4.0 KiB
YAML

# ASC is not recommende need to dearmor file
- name: ansible setup | remove old source.list entry
lineinfile:
path: "/etc/apt/sources.list"
regexp: "deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main"
state: absent
when: ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu", "Linux Mint"]
- debug:
var: ansible_distribution_release
- debug:
var: equivalents[ansible_distribution_release]['ubuntu']
when: ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu", "Linux Mint"]
- name: ansible setup | get key
tags: ansible,ansible-setup
get_url:
url: "https://keyserver.ubuntu.com/pks/lookup?fingerprint=on&op=get&search=0x6125E2A8C77F2818FB7BD15B93C4A3FD7BB9C367" # required. HTTP, HTTPS, or FTP URL in the form (http|https|ftp)://[user[:pass]]@host.domain[:port]/path
dest: "/tmp/ansible-archive-keyring.asc" # Download to a temporary location
when: ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu", "Linux Mint"]
- name: ansible setup | dearmor GPG key and place in /usr/share/keyrings
ansible.builtin.command:
cmd: "gpg --dearmor -o /usr/share/keyrings/ansible-archive-keyring.gpg /tmp/ansible-archive-keyring.asc"
creates: "/usr/share/keyrings/ansible-archive-keyring.gpg"
when: ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu", "Linux Mint"]
# Hinweis: Der 'warn: false' Parameter wurde aufgrund eines Konflikts entfernt.
# Diese Aufgabe ist entscheidend für die moderne APT-Schlüsselverwaltung.
- name: ansible setup | remove repository - Debian
tags: ansible,ansible-setup
apt_repository:
repo: "deb [signed-by=/usr/share/keyrings/ansible-archive-keyring.gpg] http://ppa.launchpad.net/ansible/ansible/ubuntu {{ equivalents[ansible_distribution_release]['ubuntu'] }} main"
state: absent
update_cache: no
filename: ansible
when: ansible_distribution == "Debian"
- name: ansible setup | update repository - Debian
tags: ansible,ansible-setup
apt_repository:
repo: "deb [signed-by=/usr/share/keyrings/ansible-archive-keyring.gpg] http://ppa.launchpad.net/ansible/ansible/ubuntu {{ equivalents[ansible_distribution_release]['ubuntu'] }} main"
state: present
update_cache: yes
filename: ansible
when: ansible_distribution == "Debian"
- name: ansible setup | update repository - Ubuntu
tags: ansible,ansible-setup
apt_repository:
repo: "deb [signed-by=/usr/share/keyrings/ansible-archive-keyring.gpg] http://ppa.launchpad.net/ansible/ansible/ubuntu {{ ansible_distribution_release }} main"
state: present
update_cache: yes
filename: ansible
when: ansible_distribution == "Ubuntu"
- name: ansible setup | ensure ansible is the latest version
tags: ansible,ansible-setup
package:
name: ansible-core
state: latest
# - name: ansible setup | install required packages
# tags: ansible,ansible-setup,packages
# package:
# name:
# - "{{ dconf_package }}"
# - "{{ python_psutil_package }}"
# # Note: For Arch, the requirement is met by a dependency of systemd, only necessary on Debian-based
# - name: ansible setup | install acl package
# tags: ansible,ansible-setup,packages
# package:
# name: acl
# when: ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu", "Linux Mint"]
# - name: ansible:setup | create ansible log file
# tags: ansible,ansible-setup
# file:
# path: /var/log/ansible.log
# owner: rene
# group: ansible
# mode: 0664
# state: touch
# changed_when: False
# - name: ansible setup | add logrotate config for ansible log file
# tags: ansible-setup
# copy:
# src: files/ansible-setup/logrotate
# dest: /etc/logrotate.d/ansible
# owner: root
# group: root
# mode: 0644
# - name: ansible setup | remove default ansible directory (/etc/ansible) from host
# tags: ansible,ansible-setup
# file:
# path: /etc/ansible
# state: absent
# - name: ansible setup | generate provision script from template
# tags: ansible,ansible-setup,scripts
# template:
# src: provision.sh.j2
# dest: /usr/local/bin/provision
# owner: root
# group: root
# mode: 0755