Outils pour utilisateurs

Outils du site


amipo

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
amipo [2018/11/11 10:52] – [Vagrant] bigMaxamipo [2020/02/07 14:05] (Version actuelle) bigMax
Ligne 1: Ligne 1:
-====== AMIPO ======+====== L'AMIPO : déGAFAMisons Internet ======
 L'AMIPO est l'Association de Maintien de l'Informatique Paysanne Orléanaise, elle s'inscrit dans la dynamique [[https://chatons.org|CHATONS]] initiée par Framasoft. L'AMIPO est l'Association de Maintien de l'Informatique Paysanne Orléanaise, elle s'inscrit dans la dynamique [[https://chatons.org|CHATONS]] initiée par Framasoft.
  
  
-===== Archi cible pour fin 2018 ===== +===== Liste des choses en place ===== 
-Liste des services que je pense pouvoir faire fonctionner d'ici fin 2018 : +  * Architecture web 
-  * Frontal nginx +  * La Homepage AMIPO : https://www.amipo.fr 
-  * Homepage +  * Un serveur Prometheus pour héberger des métriques systemes. 
-  * Grafana +  * Un serveur Grafana pour construire des visualisation de métriques temporelles : https://www.amipo.fr/garafana 
-  * Prometheus +  * Un environnement de Dev déployable en local : [[ amipo_dev ]] 
-  * Vagrant déploiement local+  * Un déploiement automatisé sur les environnements de Stage et de Prod 
 +  * Un serveur InfluxDb pour heberger des métriques temporelles 
 +  * Un serveur VerneMQ pour fournir un broker MQTT [[ amipo_mqtt ]]
  
-===== Environnement de Dev =====+===== Liste des services à fournir à l'avenir ===== 
 +  * Un service d'intégration de métriques temporelles dans Prometheus pour conserver des données de capteurs (LaPerco) 
 +  * Des backups 
 +  * Serveur turtl : un service de prise de note chiffré de bout en bout 
 +  * Serveur jirafeau : un service d'échange de fichiers 
 +  * Serveur nextcloud : un service pour synchroniser et partager ses agenda et ses contacts
  
-==== Vagrant ==== +===== Organisation ===== 
-Nous utilisons Vagrant pour construire l'environnement de DevL'environnement de Dev doit est déployable par chaucun sur son propre ordinateur personnel, de façon homogène, standard et automatiséePour celaVagrant créé et gère des Machines Virtuelles sur lesquels sera déployé l'environnement de Dev. +Nous utilisons [[ https://mxbossard.framaboard.org/?controller=BoardViewController&action=show&project_id=1 | Framaboard ]] pour lister les choses à fairedécouper le travail en petites tâches testable et suivre notre avancé.
-\\ \\  +
-Liste des VMs : +
-  * Controller ("Tour de controlle" qui permet de lancer les playbooks Ansible) +
-  * Amipo1 (Image du serveur de Production)+
  
-=== Synoptique du déploiement === +{{tag>amipo realisations_logicielles système_exploitation}}
-  - Création de la VM Controller avec Debian Stretch +
-  - Ajout de l'IP de la VM Controller dans le fichier /etc/hosts de la machine hote +
-  - Installation de Ansible via un provider Vagrant (installation managée par Vagrant) +
-  - Déploiement de l'environnement du Controller avec Ansible +
-  - Création d'un volume disk autonome séparé de la VM pour la (pas détruit à la destruction de la VM) +
-  - Création de la VM Amipo1 avec Debian Stretch +
-  - Ajout de l'IP de la VM Amipo1 dans le fichier /etc/hosts de la machine hote +
-  - Installation minimal d'Amipo1 pour que le Controller puisse déployer sur Amipo1 +
-  - Déploiement de l'environnement d'Amipo1 via le playbook Ansible depuis le Controller +
- +
-=== A positionner === +
-  * root dev cert +
-  * ssh keys +
-  *  +
- +
- +
-===== Playbooks ansible ===== +
-Pour automatiser le déploiement des outils sur tous les environnements, nous allons créer des playbooks ansible. +
-Buts : +
-  * Pouvoir reproduire l'installation d'un service de manière automatisée +
-  * Faciliter le developpement en proposant un moyen d'installer facilement l'environnement sur une machine personelle +
-  * Faciliter la maintenance +
-  * Faciliter la diffusion la sécurisation et l'amélioration des déploiements +
- +
-Liste des playbooks ansible à réaliser en adéquation avec la cible fin 2018 : +
-  * Déploiement de nginx +
-  * Configuration de nginx +
-  * Génération des certificats ssl +
-  * Configuration de l'architecture web (nom de domaine, sous domaine, server blocks (virtual hosts), dns, ...) +
-  * Sécurisation du serveur +
-  * Déploiement de la homepage +
-  * Déploiement de Grafana +
-  * Configuration de Grafana +
-  * Déploiement de Prometheus +
-  * Configuration de Prometheus +
- +
-Points difficiles : +
-  * Configuration de nginx +
-  * Configuration de l'architecture web +
-  * Déploiement de la homepage +
-  * Génération des certificats ssl +
-  * Sécurisation du serveur +
- +
-==== Configuration de nginx ==== +
-  * Garde t'on la config externalisé et versionné avec git ? Ou bien passe t'elle directement versionné dans le playbook ansible ? +
- +
-==== Configuration de l'architecture web ==== +
-Le principe est de découplé la configuration de nginx et la configuration relative à l'archi web. +
-  * 2 repertoires courants pour héberger les server blocks sites-available et sites-enabled +
-  * Permettre de déployer un location block sur un server block déjà existant sans modifier le server block. +
- +
-Idée :  +
-  * www.amipo.fr est décrit dans un seul fichier dans sites-available pour faire simple.  +
-  * le server block de www.amipo.fr inclut tous les fichiers de la forme locations-enabled/www.amipo.fr_* +
-  * ces fichiers décrivent chacun un location block +
-  * lors du déploiement de la homepage ou d'une quelconque autre app, on déploie le fichier contenant le location block dans le repertoire locations-available. +
-  * Attention, cette idée permet de déployer une location qui intercepterait toute les autres. Cela peut etre une feature pour une page de maintenance par exemple. +
- +
-==== Déploiement de la homepage ==== +
-  * Réussir à déployer le site en étant le moins invasif possible sur la configuration de nginx. +
- +
-==== Generation des certificats ssl ==== +
-  * Installation de certbot en prod et en stagging +
-  * Génération de certificat avec openssl en dev +
-  * Maintenance / conservation du certificat racine de l'Amipo +
- +
-==== Sécurisation du serveur ==== +
-  * Installation de fail2ban +
-  * Configuration de iptables +
-  *  +
- +
- +
- +
- +
-{{tag>amipo realisations_logicielles architectures_informatiques}}+
amipo.1541933534.txt.gz · Dernière modification : 2018/11/11 10:52 de bigMax