kibatic.docker-systemd

kibatic.docker-systemd

Ce rôle permet de définir des fichiers d'unité en yml (similaire à docker compose) et de générer des unités systemd sur des hôtes distants. Cela peut être considéré comme un système d'orchestration très simple et léger mais puissant.

État de la construction Rôle Ansible

Exigences

  • Le démon Docker doit être installé sur le système hôte.

Installation

$ ansible-galaxy install kibatic.docker-systemd

Variables du rôle

# Volumes Docker par défaut montés sur chaque conteneur
# /etc/localtime est nécessaire pour partager le fuseau horaire de l'hôte avec les conteneurs
default_volumes:
  - /etc/localtime:/etc/localtime:ro
# Répertoire où toutes les données des conteneurs seront stockées : volumes, fichiers de configuration téléchargés, ...
container_data_home: '/home/cloud/containers'
# Options par défaut passées à docker run
default_docker_options: ''
# Étiquettes par défaut définies sur chaque conteneur
default_docker_labels: []
# Nom du réseau par défaut
default_network_name: default_network
# Unités à supprimer du système
removed_units: []

Exemple de Playbook

Inclure un exemple de la façon d'utiliser votre rôle (par exemple, avec des variables passées en paramètres) est toujours utile pour les utilisateurs :

- hosts:      my.awsome.host.example.com
  roles:      [ kibatic.docker-systemd ]
  vars_files: [ vars/units/my-awsome-service/units.yml ]
  tags:
    - my-awsome-service

# Cette ligne s'assure qu'un service supprimé n'est pas présent sur le système
- hosts: my.awsome.host.example.com
  roles: [ kibatic.docker-systemd ]
  vars:
    removed_units:
      - my-removed-service

Exemple d'Unité

systemd_units:
  - name: symfony_web
    image: my_awsome_symfony_image
    restart_unit: true # pour savoir si l'unité doit être redémarrée lors de l'exécution du rôle ou non (peut être dangereux sur des clusters SQL)
    host_copy: []
    environment:
      SYMFONY__DATABASE__HOST: symfony_db
      SYMFONY__DATABASE__USER: root
      SYMFONY__DATABASE__PASSWORD: root
      SYMFONY__DATABASE__NAME: demo

  - name: symfony_db
    image: mysql:5.5
    host_copy: []
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: demo

Licence

MIT

À propos du projet

Ansible role to provision docker services using systemd

Installer
ansible-galaxy install kibatic.docker-systemd
Licence
mit
Téléchargements
1.1k
Propriétaire
Ajoutez de l'intelligence à vos systèmes