Aller au contenu

Déploiement

Architecture

Serveur

Le serveur doit satisfaire les prérequis suivants : - OS Debian 12. - Avec le paquet ansible installé. - Et un utilisateur efalia sudoer.

Afin d'uniformiser les serveurs, nous utilisons notre image virtuelle dédiée pour :

Le disque virtuel utilisé par cette VM est dynamique (la taille physique augmente au fur et à mesure).

L'application utilise les ports 80 en HTTP et 443 en HTTP auxquels s'ajoute le port 22 pour le SSH. Ces ports doivent donc être configurés pour être accessibles.

Spécifications minimum

Afin de faire fonctionner l'application, il est nécessaire d'avoir 2 vcpu et 4Go de RAM.

Installation

L'installation se fait à distance via une connexion SSH directe, depuis le poste d'un développeur disposant de l'environnement Vagrant.

Installation sur une machine coupée d'internet

Il est très exceptionnellement possible d'installer l'application sur un serveur coupé d'internet.

Cette installation ne peut être réalisée qu'avec l'aval de la Direction d'Efalia dans son ensemble.

Configuration réseau du poste de déploiement

Il faut utiliser le VPN pour se connecter.

Création du manifeste

Créer le manifeste correspondant dans le QG en se basant sur le nom unique de l'instance et son environnement (ex: couleurs-primeurs-prod.json).

Configuration d'un proxy HTTP/S

La configuration (optionnelle) d'un proxy HTTP/S n'est pas encore complètement automatisée, il est donc nécessaire de suivre les instructions spécifiques.

Installation d'une instance

Le serveur sur lequel va être installé l'application doit avoir un accès HTTP/S aux domaines listés dans le document : https://repos.efalia.cloud/mgx/domaines.txt

Commande à lancer depuis Vagrant :

$ ./deploy/install-instance.sh ip.du.nouveau.serveur nom-instance

Avec l'ip et le nom unique de l'instance qui servira à se connecter au serveur de licence.

Il est possible d'ajouter :

  • un env client, entre prod (par défaut), preprod et test,
  • une branche spécifique à déployer (master par défaut),
  • un port SSH (22 par défaut).

Exemple :

$ ./deploy/install-instance.sh 198.168.0.17 francetv-rh preprod creation-script-automatisation-deploiement 2222

Configuration d'une instance

Après avoir installé une instance, il est possible de s'y connecter pour continuer la configuration (optionnelle) :

$ ssh efalia@ip.du.serveur.test

Modification du mdp par défaut

Après installation, il est OBLIGATOIRE de modifier le mdp par défaut, et de l'enregistrer dans le Vault Microsoft Azure correspondant :

Attention à bien respecter la règle de nommage :

  • Name : nom de la VM (CCISE76-DOC-PL1 par ex)
  • Secret value : password
  • Content type : login

Le lien vers le secret doit ensuite être ajouté dans le QG (champ "Connexion SSH" - "Lien vers le gestionnaire de mot de passe")

Compte administrateur

Toutes les installations sont fournies avec un compte administrateur qui a pour mot de passe administrateur. Le changement de mot de passe est requis à la premiere connexion.

Ajout d'un certificat SSL

Si l'instance est accessible depuis internet, il est possible d'utiliser Letsencrypt pour générer un certificat SSL.