aboutsummaryrefslogtreecommitdiff
path: root/terraform/ansible/roles/apt-repos/tasks/repo.yml
diff options
context:
space:
mode:
Diffstat (limited to 'terraform/ansible/roles/apt-repos/tasks/repo.yml')
-rw-r--r--terraform/ansible/roles/apt-repos/tasks/repo.yml28
1 files changed, 28 insertions, 0 deletions
diff --git a/terraform/ansible/roles/apt-repos/tasks/repo.yml b/terraform/ansible/roles/apt-repos/tasks/repo.yml
new file mode 100644
index 0000000..135aeac
--- /dev/null
+++ b/terraform/ansible/roles/apt-repos/tasks/repo.yml
@@ -0,0 +1,28 @@
+- name: "apt-key add {{ item.key }} (key url)"
+ apt_key:
+ id: "{{ item.value.key_id }}"
+ url: "{{ item.value.key_url }}"
+ state: "{{ state }}"
+ when: item.value.key_url is defined and item.value.key_id is defined
+
+- name: "apt-key add {{ item.key }} (keyserver)"
+ apt_key:
+ id: "{{ item.value.key_id }}"
+ keyserver: "{{ item.value.keyserver }}"
+ state: "{{ state }}"
+ when: item.value.keyserver is defined and item.value.key_id is defined
+
+- name: "add repo {{ item.key }}"
+ when: item.value.url is defined and state == "present"
+ copy:
+ dest: "/etc/apt/sources.list.d/{{ item.key }}.list"
+ content: |
+ deb {{ item.value.url }} {{ item.value.distro }} {{ item.value.sections }}
+ notify: apt update
+
+- name: "remove repo {{ item.key }}"
+ when: state == "absent"
+ file:
+ path: "/etc/apt/sources.list.d/{{ item.key }}.list"
+ state: absent
+ notify: apt update