June
f16f8697c2
Because of how Ansible local relative search paths work, the global "files" and "templates" directories need to be next to the playbooks. However its not intuitive to look into the "playbooks" directory to find the files and templates for a host. Therefore move them out of the "playbooks" directory into the root directory and add symlinks so everything still works. Similarly for local roles, they also need to be next to the playbooks. So for a nicer structure, move the "roles" directory out into the root directory as well and add a symlink so everything still works. Also see: https://docs.ansible.com/ansible/latest/playbook_guide/playbook_pathing.html#resolving-local-relative-paths https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_reuse_roles.html#storing-and-finding-roles
33 lines
998 B
YAML
33 lines
998 B
YAML
---
|
|
- name: Check OS family
|
|
ansible.builtin.fail:
|
|
msg: "Can only add apt repositories on Debian-based systems!"
|
|
when: ansible_facts.os_family != "Debian"
|
|
|
|
- name: Install required apt packages for adding an apt repository
|
|
become: true
|
|
ansible.builtin.apt:
|
|
name:
|
|
- ca-certificates
|
|
- gnupg
|
|
|
|
- name: Install apt-transport-https if https repository
|
|
become: true
|
|
ansible.builtin.apt:
|
|
name: apt-transport-https
|
|
when: add_apt_repository__https_repo
|
|
|
|
- name: Add repository signing key to keychain
|
|
become: true
|
|
when: add_apt_repository__keyring_url is defined and add_apt_repository__keyring_path is defined
|
|
ansible.builtin.apt_key:
|
|
url: "{{ add_apt_repository__keyring_url }}"
|
|
keyring: "{{ add_apt_repository__keyring_path }}"
|
|
state: present
|
|
|
|
- name: Add repository and update cache
|
|
become: true
|
|
ansible.builtin.apt_repository:
|
|
repo: "{{ add_apt_repository__repo }}"
|
|
filename: "{{ add_apt_repository__filename }}"
|
|
update_cache: true
|