1
0
Fork 0
This repository has been archived on 2024-02-17. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
2022-05-18 15:08:14 +02:00
ansistrano_tasks Some ansible lint fix 2022-05-17 15:45:42 +02:00
host_vars Update README.md 2022-05-18 15:08:14 +02:00
roles Update README.md 2022-05-18 15:08:14 +02:00
.gitignore Create roles 2022-05-02 17:37:08 +02:00
ansible.cfg Create roles 2022-05-02 17:37:08 +02:00
archi-project.png update project 2021-05-26 17:49:02 +02:00
hosts.yml Some ansible lint fix 2022-05-17 15:45:42 +02:00
playbook-app.yml Some ansible lint fix 2022-05-17 15:45:42 +02:00
playbook-server.yml Create playbooks 2022-05-02 17:37:21 +02:00
playbook.yml Create playbooks 2022-05-02 17:37:21 +02:00
README.md Update README.md 2022-05-18 15:08:14 +02:00
subject.md Create roles 2022-05-02 17:37:08 +02:00

Ansible Project

Florian Charlaix P1905458 | DevOps 1

Roles

APT

Installe les dépendances générales avec APT

  • zip
  • unzip
  • acl

MariaDB

Install et configure MariaDB. Crée une base de données, un utilisateur et mot de passe avec les variables :

  • db_name: Nom de la base de données
  • db_user: Nom de l'utilisateur
  • db_password: Mot de passe de l'utilisateur

PHP

Install, configure PHP et ses dépendances pour ProjectSend.

NodeJS

Installe et met en place NodeJS et NPM. Cela crée aussi le dossier npm pour l'utilisateur www-data

Nginx

Install et configure Nginx. Met en place la configuration pour ProjectSend.

  • gzip: Activer ou non gzip

ansistrano.deploy

Ce rôle fourni par la communauté permet de gérer le déploiement atomique.

Il utilise les tags du GitHub afin de gérer la version.

Une fois installer, la configuration pour la base de données est effectué et les dépendances installer et/ou compiler grace aux taches dans ansistrano_tasks.

Setup

  • Mettre en place les bons hosts dans hosts.yml et les host_vars correspondents
  • Exécuter le playbook principale
ansible-playbook playbook.yml

Schema

graph TB;
    subgraph Playbook
        playbook.yml --> playbook-server.yml;
        playbook.yml --> playbook-app.yml;
    end
    subgraph Roles
        playbook-server.yml --- apt(apt);
        playbook-server.yml --- mariadb(mariadb);
        playbook-server.yml --- php(php);
        playbook-server.yml --- nodejs(nodejs);
        playbook-server.yml --- nginx(nginx);
        playbook-app.yml --- ansistrano.deploy(ansistrano.deploy);
    end
    subgraph Hooks
        ansistrano.deploy --- after_update.yml([after_update.yml]);
        after_update.yml --> configure.yml([configure.yml]);
        after_update.yml --> dependencies.yml([dependencies.yml]);
    end

VM

  • Ip: 192.168.140.142
  • Utilisateur: ubuntu
  • Clé privée :
-----BEGIN OPENSSH PRIVATE KEY-----
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
-----END OPENSSH PRIVATE KEY-----