--- - 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"