Compare commits
5 Commits
a8178194c3
...
master
Author | SHA1 | Date | |
---|---|---|---|
c0f2b31437 | |||
e4fccbface | |||
fbb43e8c7c | |||
3ffb13ba5b | |||
5b871f1c48 |
@@ -7,18 +7,18 @@ apt_distribution_sections: main
|
|||||||
|
|
||||||
apt_repositories: []
|
apt_repositories: []
|
||||||
# Exemple:
|
# Exemple:
|
||||||
# - name: sid
|
# - url: http://deb.debian.org/debian
|
||||||
# url: http://deb.debian.org/debian
|
|
||||||
# suites: sid
|
# suites: sid
|
||||||
# components: main
|
# components: main
|
||||||
# key_path: /usr/share/keyrings/debian-archive-keyring.gpg
|
# key_path: /usr/share/keyrings/debian-archive-keyring.gpg
|
||||||
# - name: incus
|
# - url: https://pkgs.zabbly.com/incus/stable
|
||||||
# url: https://pkgs.zabbly.com/incus/stable
|
|
||||||
# suites: bookworm
|
# suites: bookworm
|
||||||
# components: main
|
# components: main
|
||||||
# key_url: https://pkgs.zabbly.com/key.asc
|
# key_url: https://pkgs.zabbly.com/key.asc
|
||||||
# key_path: /etc/apt/keyrings/incus.asc
|
# key_path: /etc/apt/keyrings/incus.asc
|
||||||
|
|
||||||
|
apt_preferences: []
|
||||||
|
|
||||||
apt_remove: []
|
apt_remove: []
|
||||||
apt_install: []
|
apt_install: []
|
||||||
|
|
||||||
|
@@ -9,6 +9,11 @@
|
|||||||
ansible.builtin.import_tasks:
|
ansible.builtin.import_tasks:
|
||||||
file: repositories.yml
|
file: repositories.yml
|
||||||
|
|
||||||
|
- name: Importer les tâches d'ajout des préférences
|
||||||
|
ansible.builtin.import_tasks:
|
||||||
|
file: preferences.yml
|
||||||
|
when: apt_preferences | length > 0
|
||||||
|
|
||||||
- name: Exécuter les handlers
|
- name: Exécuter les handlers
|
||||||
meta: flush_handlers
|
meta: flush_handlers
|
||||||
|
|
||||||
|
24
tasks/preferences.yml
Normal file
24
tasks/preferences.yml
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
---
|
||||||
|
# tasks file for apt
|
||||||
|
|
||||||
|
- name: Construire la liste des règles
|
||||||
|
ansible.builtin.set_fact:
|
||||||
|
nftables_rules: "{{ nftables_rules + specific }}"
|
||||||
|
when: specific | length > 0
|
||||||
|
loop: "{{ lookup('ansible.builtin.varnames', '^nftables_rules_.+', wantlist=True) }}"
|
||||||
|
vars:
|
||||||
|
specific: "{{ lookup('ansible.builtin.vars', item, default='') }}"
|
||||||
|
|
||||||
|
- name: Ajouter le fichier de priorité
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: preferences.j2
|
||||||
|
dest: /etc/apt/preferences.d/{{ item.name }}
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: u=rw,g=r,o=r
|
||||||
|
when: apt_preferences | length > 0
|
||||||
|
loop: "{{ apt_preferences }}"
|
||||||
|
loop_control:
|
||||||
|
label: "{{ item.name }}"
|
||||||
|
become: true
|
||||||
|
notify: Mettre à jour le cache
|
@@ -1,15 +1,21 @@
|
|||||||
---
|
---
|
||||||
# tasks file for apt
|
# tasks file for apt
|
||||||
|
|
||||||
|
- name: Construire la liste des dépôts
|
||||||
|
ansible.builtin.set_fact:
|
||||||
|
apt_repositories: "{{ apt_repositories + specific }}"
|
||||||
|
when: specific | length > 0
|
||||||
|
loop: "{{ lookup('ansible.builtin.varnames', '^apt_repositories_.+', wantlist=True) }}"
|
||||||
|
vars:
|
||||||
|
specific: "{{ lookup('ansible.builtin.vars', item, default='') }}"
|
||||||
|
|
||||||
- name: Télécharger la clef du dépôt
|
- name: Télécharger la clef du dépôt
|
||||||
ansible.builtin.get_url:
|
ansible.builtin.get_url:
|
||||||
url: "{{ item.key_url }}"
|
url: "{{ item.key_url }}"
|
||||||
dest: "{{ item.key_path }}"
|
dest: "{{ item.key_path }}"
|
||||||
mode: u=rw,g=r,o=r
|
mode: u=rw,g=r,o=r
|
||||||
|
when: item.get('key_url', '') | length > 0
|
||||||
become: true
|
become: true
|
||||||
when:
|
|
||||||
- apt_repositories | length > 0
|
|
||||||
- item.get('key_url', '') | length > 0
|
|
||||||
loop: "{{ apt_repositories }}"
|
loop: "{{ apt_repositories }}"
|
||||||
loop_control:
|
loop_control:
|
||||||
label: "{{ item.name }}"
|
label: "{{ item.name }}"
|
||||||
@@ -22,19 +28,8 @@
|
|||||||
owner: root
|
owner: root
|
||||||
group: root
|
group: root
|
||||||
mode: u=rw,g=r,o=r
|
mode: u=rw,g=r,o=r
|
||||||
when: apt_repositories | length > 0
|
|
||||||
become: true
|
become: true
|
||||||
loop: "{{ apt_repositories }}"
|
loop: "{{ apt_repositories }}"
|
||||||
loop_control:
|
loop_control:
|
||||||
label: "{{ item.name }}"
|
label: "{{ item.name }}"
|
||||||
notify: Mettre à jour le cache
|
notify: Mettre à jour le cache
|
||||||
|
|
||||||
- name: Ajouter le fichier de priorité
|
|
||||||
ansible.builtin.template:
|
|
||||||
src: preferences.j2
|
|
||||||
dest: /etc/apt/preferences.d/40-debian
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
mode: u=rw,g=r,o=r
|
|
||||||
become: true
|
|
||||||
notify: Mettre à jour le cache
|
|
||||||
|
@@ -1,9 +1,10 @@
|
|||||||
# {{ ansible_managed }}
|
# {{ ansible_managed }}
|
||||||
|
|
||||||
Package: *
|
{% for item in apt_preferences %}
|
||||||
Pin: release a=testing
|
Package: {{ item.package }}
|
||||||
Pin-Priority: -10
|
Pin: {{ item.pin }}
|
||||||
|
Pin-Priority: {{ item.priority }}
|
||||||
|
{% if not loop.last %}
|
||||||
|
|
||||||
Package: *
|
{% endif %}
|
||||||
Pin: release a=unstable
|
{% endfor %}
|
||||||
Pin-Priority: -20
|
|
||||||
|
@@ -1,7 +1,12 @@
|
|||||||
# {{ ansible_managed }}
|
# {{ ansible_managed }}
|
||||||
|
|
||||||
|
{% for item in apt_repositories %}
|
||||||
Types: deb
|
Types: deb
|
||||||
URIs: {{ item.url }}
|
URIs: {{ item.url }}
|
||||||
Suites: {{ item.suites }}
|
Suites: {{ item.suites }}
|
||||||
Components: {{ item.components }}
|
Components: {{ item.components }}
|
||||||
Signed-By: {{ item.key_path }}
|
Signed-By: {{ item.key_path }}
|
||||||
|
{% if not loop.last %}
|
||||||
|
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
Reference in New Issue
Block a user