Les paquets sont installés par des rôles dédiés (gestionnaires de paquets)
This commit is contained in:
parent
0604af785f
commit
8655facec4
|
@ -1,11 +1,11 @@
|
|||
hostname: fr.tild3.org
|
||||
roles: [ webserver, rust, ssg ]
|
||||
roles: [ webserver ]
|
||||
peers:
|
||||
- name: tilde.netlib.re
|
||||
client_key: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEHsVZvvVX3VPj2sWxrb8LJrn3650aoLAZgbY7+CB+NU"
|
||||
server_key: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHUAIuwEhFXTDfOEG+hQ2d/xeUwsgPJQF7oeNYr1ZXnG"
|
||||
packages:
|
||||
debian: [ subversion, mercurial, htop, tmux, vim, emacs, mutt, weechat, elinks, rsync, dnsutils, make, g++, libssl-dev, mosh, gopher ]
|
||||
debian: [ subversion, mercurial, htop, tmux, vim, emacs, mutt, weechat, elinks, rsync, dnsutils, make, g++, libssl-dev, mosh, gopher, sl ]
|
||||
rust: [ lsd ]
|
||||
ssg: [ zola, ttbp ]
|
||||
users:
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
# Les rôles dont le nom est préfixé d'un . ne sont pas faits pour être activés dans la config
|
||||
|
||||
- name: Installer le serveur
|
||||
hosts: all
|
||||
roles:
|
||||
- common
|
||||
- .common
|
||||
|
||||
|
|
|
@ -11,12 +11,6 @@
|
|||
name: [ certbot, tor, sudo ]
|
||||
update_cache: yes
|
||||
|
||||
- name: Installer les paquets définis dans la config
|
||||
apt:
|
||||
state: present
|
||||
name: "{{ packages.debian }}"
|
||||
when: packages is defined and packages.debian is defined
|
||||
|
||||
- name: setup certbot with contact email
|
||||
copy:
|
||||
src: ../files/letsencrypt_cli.ini
|
||||
|
@ -25,13 +19,17 @@
|
|||
- include: tor.yml
|
||||
|
||||
- name: Générer les comptes utilisateurices
|
||||
include: users/main.yml
|
||||
include_tasks: users/main.yml
|
||||
when: users is defined
|
||||
|
||||
- name: Activer le peering
|
||||
include: peering/main.yml
|
||||
when: peers is defined
|
||||
|
||||
- name: Installer des paquets supplémentaires
|
||||
include_tasks: packages.yml
|
||||
when: packages is defined
|
||||
|
||||
- name: Exécuter les rôles définis dans la config
|
||||
include_role:
|
||||
name: "{{ current_role }}"
|
|
@ -0,0 +1,10 @@
|
|||
# Quand packages est vide, on arrive pas ici
|
||||
|
||||
# Les gestionnaires de paquets sont des rôles qui commencent par .
|
||||
- name: Exécuter les gestionnaires de paquets
|
||||
include_role:
|
||||
# Chaque gestionnaire de paquets peut estimer que sa liste n'est pas vide
|
||||
name: ".{{ current_role.key }}"
|
||||
loop: "{{ packages | dict2items }}"
|
||||
loop_control:
|
||||
loop_var: current_role
|
|
@ -0,0 +1,4 @@
|
|||
- name: Installer les paquets Debian définis dans la config
|
||||
apt:
|
||||
state: present
|
||||
name: "{{ packages.debian }}"
|
|
@ -50,5 +50,3 @@
|
|||
cmd: "cargo install {{ item }}"
|
||||
creates: "/usr/local/bin/{{ item }}"
|
||||
loop: "{{ packages.rust }}"
|
||||
when: packages is defined and packages.rust is defined
|
||||
|
|
@ -1,9 +1,12 @@
|
|||
# Pour l'instant, il n'est pas possible d'avoir un paquet qui ne porte pas le nom de son binaire
|
||||
# parce qu'on vérifie que le binaire est installé
|
||||
# A terme, ça sera à chaque paquet de vérifier lui-même s'il est installé
|
||||
|
||||
- name: Vérifier quels SSG sont installés
|
||||
stat:
|
||||
path: "/usr/local/bin/{{ item }}"
|
||||
loop: "{{ packages.ssg }}"
|
||||
register: ssg_exists
|
||||
when: packages is defined and packages.ssg is defined
|
||||
|
||||
- name: "Installer les générateurs de sites statiques activés dans la config"
|
||||
include: "{{ item.item }}/main.yml"
|
Loading…
Reference in New Issue