diff options
Diffstat (limited to 'roles/apt_repo/tasks')
-rw-r--r-- | roles/apt_repo/tasks/main.yml | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/roles/apt_repo/tasks/main.yml b/roles/apt_repo/tasks/main.yml index 4c1d92f..bf9e3ea 100644 --- a/roles/apt_repo/tasks/main.yml +++ b/roles/apt_repo/tasks/main.yml @@ -1,5 +1,11 @@ - name: Set up repository become: true + vars: + # For some reason, if the key is in a weird format that requires + # running `gpg --dearmor`, you must save it with the .gpg extension + # instead of .asc. You can then completely skip the gpg step. Source: + # https://stackoverflow.com/q/71585303/514684 + apt_repo_key_path: '{{ apt_repo_keys_dir }}/{{ apt_repo_name }}{{ apt_repo_key_dearmor | ternary(".gpg", ".asc") }}' block: - name: Create keys directory ansible.builtin.file: @@ -7,30 +13,19 @@ mode: '755' state: directory - - name: Set key path - ansible.builtin.set_fact: - # For some reason, if the key is in a weird format that requires - # running `gpg --dearmor`, you must save it with the .gpg extension - # instead of .asc. You can then completely skip the gpg step. Source: - # https://stackoverflow.com/q/71585303/514684 - key_path: '{{ apt_repo_keys_dir }}/{{ apt_repo_name }}{{ apt_repo_key_dearmor | ternary(".gpg", ".asc") }}' - - name: 'Add key: {{ apt_repo_name }}' ansible.builtin.get_url: url: '{{ apt_repo_key_url }}' - dest: '{{ key_path }}' + dest: '{{ apt_repo_key_path }}' mode: '644' - name: Get host distro ansible.builtin.setup: gather_subset: [distribution_release] - - name: Set repository defaults - ansible.builtin.set_fact: - apt_repo_distro: '{{ apt_repo_distro | default(ansible_distribution_release) }}' - apt_repo_component: '{{ apt_repo_component | default("main") }}' - - name: 'Add repository: {{ apt_repo_name }}' ansible.builtin.apt_repository: - repo: 'deb [signed-by={{ key_path }}] {{ apt_repo_url }} {{ apt_repo_distro }} {{ apt_repo_component }}' + repo: 'deb [signed-by={{ apt_repo_key_path }}] {{ apt_repo_url }} {{ distro }} {{ apt_repo_component }}' filename: '{{ apt_repo_name }}' + vars: + distro: '{{ apt_repo_distro | default(ansible_distribution_release) }}' |