From bbace95c25f2d22163b04d8d3ebd535c7eddfc60 Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Tue, 15 Aug 2023 21:44:16 +0200 Subject: factor out apt repository setup to apt_repo --- roles/apt_ppa/defaults/main.yml | 1 - roles/apt_ppa/tasks/main.yml | 27 ++++++++------------------- roles/apt_repo/README.md | 2 ++ roles/apt_repo/defaults/main.yml | 2 ++ roles/apt_repo/tasks/main.yml | 23 +++++++++++++++++++++++ 5 files changed, 35 insertions(+), 20 deletions(-) delete mode 100644 roles/apt_ppa/defaults/main.yml create mode 100644 roles/apt_repo/README.md create mode 100644 roles/apt_repo/defaults/main.yml create mode 100644 roles/apt_repo/tasks/main.yml (limited to 'roles') diff --git a/roles/apt_ppa/defaults/main.yml b/roles/apt_ppa/defaults/main.yml deleted file mode 100644 index 72e0753..0000000 --- a/roles/apt_ppa/defaults/main.yml +++ /dev/null @@ -1 +0,0 @@ -ppa_keys_dir: /etc/apt/keyrings diff --git a/roles/apt_ppa/tasks/main.yml b/roles/apt_ppa/tasks/main.yml index e6f3f04..01d6809 100644 --- a/roles/apt_ppa/tasks/main.yml +++ b/roles/apt_ppa/tasks/main.yml @@ -1,19 +1,8 @@ -- name: Set up repository - become: true - block: - - name: Create keys directory - ansible.builtin.file: - path: '{{ ppa_keys_dir }}' - mode: '755' - state: directory - - - name: 'Add key: {{ ppa_name }}' - ansible.builtin.get_url: - url: 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x{{ ppa_key }}' - dest: '{{ ppa_keys_dir }}/{{ ppa_name }}.asc' - mode: '644' - - - name: 'Add repository: {{ ppa_name }}' - ansible.builtin.apt_repository: - repo: 'deb [signed-by={{ ppa_keys_dir }}/{{ ppa_name }}.asc] https://ppa.launchpadcontent.net/{{ ppa_owner }}/{{ ppa_name }}/ubuntu {{ ppa_distro }} main' - filename: '{{ ppa_name }}' +- name: Set up PPA repository + ansible.builtin.include_role: + name: apt_repo + vars: + apt_repo_name: '{{ ppa_name }}' + apt_repo_key_url: 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x{{ ppa_key }}' + apt_repo_url: 'https://ppa.launchpadcontent.net/{{ ppa_owner }}/{{ ppa_name }}/ubuntu' + apt_repo_distro: '{{ ppa_distro }}' diff --git a/roles/apt_repo/README.md b/roles/apt_repo/README.md new file mode 100644 index 0000000..1e9451e --- /dev/null +++ b/roles/apt_repo/README.md @@ -0,0 +1,2 @@ +This role is used to enable a 3rd-party repository on Ubuntu/Debian. It +downloads a key file from the web and adds an entry in /etc/apt/sources.list.d. diff --git a/roles/apt_repo/defaults/main.yml b/roles/apt_repo/defaults/main.yml new file mode 100644 index 0000000..0877adf --- /dev/null +++ b/roles/apt_repo/defaults/main.yml @@ -0,0 +1,2 @@ +apt_repo_keys_dir: /etc/apt/keyrings +apt_repo_component: main diff --git a/roles/apt_repo/tasks/main.yml b/roles/apt_repo/tasks/main.yml new file mode 100644 index 0000000..25069bb --- /dev/null +++ b/roles/apt_repo/tasks/main.yml @@ -0,0 +1,23 @@ +- name: Set up repository + become: true + block: + - name: Create keys directory + ansible.builtin.file: + path: '{{ apt_repo_keys_dir }}' + mode: '755' + state: directory + + - name: Set key path + ansible.builtin.set_fact: + key_path: '{{ apt_repo_keys_dir }}/{{ apt_repo_name }}.asc' + + - name: 'Add key: {{ apt_repo_name }}' + ansible.builtin.get_url: + url: '{{ apt_repo_key_url }}' + dest: '{{ key_path }}' + mode: '644' + + - 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 }}' + filename: '{{ apt_repo_name }}' -- cgit v1.2.3