aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/roles/apt_ppa
diff options
context:
space:
mode:
Diffstat (limited to 'roles/apt_ppa')
-rw-r--r--roles/apt_ppa/README.md3
-rw-r--r--roles/apt_ppa/defaults/main.yml1
-rw-r--r--roles/apt_ppa/tasks/main.yml19
3 files changed, 23 insertions, 0 deletions
diff --git a/roles/apt_ppa/README.md b/roles/apt_ppa/README.md
new file mode 100644
index 0000000..f7ce92c
--- /dev/null
+++ b/roles/apt_ppa/README.md
@@ -0,0 +1,3 @@
+This role is used to enable an Ubuntu PPA repository; can be used on Debian as
+well. It downloads the repository key and adds the repository in
+/etc/apt/sources.list.d.
diff --git a/roles/apt_ppa/defaults/main.yml b/roles/apt_ppa/defaults/main.yml
new file mode 100644
index 0000000..72e0753
--- /dev/null
+++ b/roles/apt_ppa/defaults/main.yml
@@ -0,0 +1 @@
+ppa_keys_dir: /etc/apt/keyrings
diff --git a/roles/apt_ppa/tasks/main.yml b/roles/apt_ppa/tasks/main.yml
new file mode 100644
index 0000000..e6f3f04
--- /dev/null
+++ b/roles/apt_ppa/tasks/main.yml
@@ -0,0 +1,19 @@
+- 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 }}'