Files
ansible-general/roles/apt_repository/tasks/main.yml
2023-09-04 02:13:17 +03:00

49 lines
1.3 KiB
YAML

---
- name: Install dependencies
ansible.builtin.apt:
name:
- apt-transport-https
- ca-certificates
- gnupg
update_cache: true
- name: Initialize repo_options
ansible.builtin.set_fact:
repo_options: []
- name: Add arch to repo_options
ansible.builtin.set_fact:
repo_options: "{{ repo_options + ['arch=' + repo_arch] }}"
when: repo_arch | length > 0
- name: Esnure /etc/apt/keyrings exists
ansible.builtin.file:
path: /etc/apt/keyrings
state: directory
mode: "0755"
- name: Remove legacy repo {{ repo_name }}
ansible.builtin.apt_repository:
repo: >
deb {{ '[' + repo_options | join(' ') + '] ' if repo_options | length > 0 else '' }}{{ repo_url }} {{ repo_suite }} {{ repo_components | join(' ') }}
filename: "{{ repo_name }}"
state: absent
- name: Get repo signing key
ansible.builtin.get_url:
url: "{{ repo_key_url }}"
dest: /etc/apt/keyrings/{{ repo_name }}.asc
mode: "0644"
register: repo_key
- name: Add signed-by to repo_options
ansible.builtin.set_fact:
repo_options: "{{ repo_options + ['signed-by=' + repo_key.dest] }}"
- name: Add repo {{ repo_name }}
ansible.builtin.apt_repository:
repo: "deb [{{ repo_options | join(' ') }}] {{ repo_url }} {{ repo_suite }} {{ repo_components | join(' ') }}"
filename: "{{ repo_name }}"
mode: "0644"