Some checks failed
Tests / Backend Tests (Python) (3.10) (push) Has been cancelled
Tests / Backend Tests (Python) (3.11) (push) Has been cancelled
Tests / Backend Tests (Python) (3.12) (push) Has been cancelled
Tests / Frontend Tests (JS) (push) Has been cancelled
Tests / Integration Tests (push) Has been cancelled
Tests / All Tests Passed (push) Has been cancelled
67 lines
2.2 KiB
YAML
67 lines
2.2 KiB
YAML
---
|
|
# Playbook pour l'installation et la configuration de Portainer CE
|
|
# Utilise l'approche basée sur les scripts init.sh et maj.sh du dépôt Git
|
|
|
|
- name: "Déploiement de Portainer CE"
|
|
hosts: all
|
|
become: true
|
|
vars:
|
|
# Configuration du dépôt Git
|
|
portainer_repo_url: "https://git.dracodev.net/Dockers/portainer.git"
|
|
portainer_repo_dir: "{{ ansible_user_dir }}/dev/git/outils/dockers/portainer"
|
|
repo_user: "bruno"
|
|
repo_pwd: "chab30"
|
|
|
|
# Option de mise à jour (true/false)
|
|
portainer_update: true
|
|
|
|
tasks:
|
|
# Créer le répertoire parent
|
|
- name: "Créer le répertoire parent pour le dépôt Portainer"
|
|
file:
|
|
path: "{{ portainer_repo_dir | dirname }}"
|
|
state: directory
|
|
mode: '0755'
|
|
recurse: true
|
|
|
|
# Cloner le dépôt Git
|
|
- name: "Cloner le dépôt Portainer"
|
|
git:
|
|
repo: "https://{{ repo_user }}:{{ repo_pwd }}@git.dracodev.net/Dockers/portainer.git"
|
|
dest: "{{ portainer_repo_dir }}"
|
|
version: main
|
|
update: yes
|
|
force: yes
|
|
|
|
# Installation initiale
|
|
- name: "Exécuter le script d'initialisation Portainer"
|
|
command: "bash ./init.sh"
|
|
args:
|
|
chdir: "{{ portainer_repo_dir }}"
|
|
when: not portainer_update
|
|
|
|
# Mise à jour
|
|
- name: "Exécuter le script de mise à jour Portainer"
|
|
command: "bash ./maj.sh"
|
|
args:
|
|
chdir: "{{ portainer_repo_dir }}"
|
|
when: portainer_update
|
|
|
|
# Vérification finale
|
|
- name: "Vérifier que Portainer est en cours d'exécution"
|
|
command: "docker ps --filter name=portainer --format {% raw %}'table {{.Names}}\t{{.Status}}\t{{.Ports}}'{% endraw %}"
|
|
register: portainer_status
|
|
changed_when: false
|
|
|
|
- name: "Afficher le statut de Portainer"
|
|
debug:
|
|
msg: "{{ portainer_status.stdout_lines }}"
|
|
|
|
- name: "Message de succès"
|
|
debug:
|
|
msg: |
|
|
Portainer CE a été déployé avec succès !
|
|
Le script maj.sh a configuré automatiquement le firewall (UFW/Firewalld/iptables).
|
|
Interface Web HTTPS : https://{{ ansible_default_ipv4.address }}:9443
|
|
Interface Web HTTP : http://{{ ansible_default_ipv4.address }}:9000
|
|
Edge Agent : {{ ansible_default_ipv4.address }}:8000 |