Compare commits

...

5 Commits

Author SHA1 Message Date
c0f2b31437 fix: Deploy repositories 2025-01-02 13:18:09 +01:00
e4fccbface fix: Remove unusefull name of repo 2024-06-07 10:51:58 +02:00
fbb43e8c7c feat: Use loop in templates 2024-06-05 13:26:41 +02:00
3ffb13ba5b Reapply "fix: Manage preference"
This reverts commit 5b871f1c48.
2024-06-05 10:20:11 +02:00
5b871f1c48 Revert "fix: Manage preference"
This reverts commit a8178194c3.
2024-06-03 18:59:09 +02:00
6 changed files with 54 additions and 24 deletions

View File

@@ -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: []

View File

@@ -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
View 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

View File

@@ -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

View File

@@ -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

View File

@@ -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 %}