Module apt / yum (paquets)
# apt pour Debian/Ubuntu
- name: Installer plusieurs paquets
apt:
name:
- nginx
- curl
- htop
state: present
update_cache: yes
# yum pour CentOS/RHEL
- name: Installer un paquet avec yum
yum:
name: httpd
state: latest
Module service / systemd
# Gerer un service
- name: Demarrer et activer Nginx
service:
name: nginx
state: started
enabled: yes
# Avec systemd (plus d'options)
- name: Redemarrer un service avec systemd
systemd:
name: nginx
state: restarted
daemon_reload: yes
Module user (utilisateurs)
# Creer un utilisateur
- name: Creer l'utilisateur deploy
user:
name: deploy
shell: /bin/bash
groups: sudo,www-data
append: yes
create_home: yes
# Ajouter une cle SSH
- name: Ajouter la cle SSH de deploy
authorized_key:
user: deploy
key: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"
state: present
Module file (fichiers et repertoires)
# Creer un repertoire
- name: Creer le repertoire de l'application
file:
path: /opt/myapp
state: directory
owner: deploy
group: deploy
mode: "0755"
# Creer un lien symbolique
- name: Lien symbolique vers la config
file:
src: /opt/myapp/config.yml
dest: /etc/myapp/config.yml
state: link
# Supprimer un fichier
- name: Supprimer un fichier temporaire
file:
path: /tmp/old-file.txt
state: absent
State matters : Les valeurs courantes de state sont present, absent, latest, started, stopped, restarted, directory, link.