Repository for the development and deployment of METADoRe in Docker containers

docker build: adding .env config file 3 months ago
elastic_utils build: adding config.sh config file 3 months ago
README.md Gestion de la connexion EZMeta en http 7 months ago
README.md

Metadore

===============

Module pour la création et le lancement des containers ELK, nifi, python pour le projet métadore

Déploiement des conteneurs docker

  • ELK :

    • Créer et placer les certificats aux emplacement décrit dans le docker-compose.yml
    • Modifier le .env si nécessaire, en particulier les valeurs suivantes :
      • ES_JVM_MEMORY : total de mémoire alloué à la JVM pour Elasticsearch, il est conseiller de ne pas dépasser la RAM totale disponible divisée par 2
    • A partir du dossier /docker/elk : docker-compose up -d
  • Nifi :

    • Créer et placer le trustore et le keystore aux emplacement décrit dans le docker-compose.yml
    • Modifier le .env si nécessaire, en particulier les valeurs suivantes :
      • NIFI_JVM_HEAP_INIT : total de mémoire minimum alloué à la JVM pour Nifi, il est conseiller de ne pas dépasser la RAM totale disponible divisée par 2
      • NIFI_JVM_HEAP_MAX : total de mémoire maximum alloué à la JVM pour Nifi, il est conseiller de ne pas dépasser la RAM totale disponible divisée par 2
    • A partir du dossier /docker/nifi : docker-compose up -d
  • API Python :

    • Modifier le fichier conf.json si nécessaire, en particulier les valeurs suivantes :
      • urlESMetadore : l'URL de l'Elasticsearch de MetaDore
      • urlESEZMeta : l'URL de l'Elasticsearch de EZMeta
      • PasswordESMetadore : mot de passe utilisé pour l'utilisateur 'elastic' pour la connexion à l'Elasticsearch de MetaDore
      • UserESEZMeta : identifiant utilisé pour la connexion à l'Elasticsearch de EZMeta
      • PasswordESEZMeta : mot de passe utilisé pour l'utilisateur définie dans 'UserESEZMeta' pour la connexion à Elasticsearch de EZMeta
      • caCertPathMetadore : chemin absolu vers le CA du certificat utilisé pour exposer ElasticSearch de MetaDore
      • caCertPathEZMeta : chemin absolu vers le CA du certificat utilisé pour exposer ElasticSearch de EZMeta, à laisser vide si la connexion est en http
      • indexReseda : nom de l'index dans ElasticSearch de EZMeta contenant les données des personnes Reseda
      • indexResedaStructure : nom de l'index dans ElasticSearch de EZMeta contenant les données des strucutures Reseda
    • Modifier le .env si nécessaire, en particulier les valeurs suivantes :
      • VERSION_PYTHON_API : version de l'image docker à builder (à mettre à jours en cas de mise à jours des fichiers sources python)
      • CERTFILE : nom du fichier certificats pour exposé l'api en https
      • KEYFILE : nom du fichier key associé au certificat
      • NB_WORKERS : nombre de workers devant être démmarré pour l'api, cela permet la parallélisation des traitements, il est conseillé de ne pas dépasser 2 fois le nombre de CPUs de la machine
    • Dans le cas d'un premier lancement (volumes non encore créés), il faut :
      • Démarrer le conteneur avec la commande docker-compose up -d dans le dossier /docker/python
      • Déplacer le fichier conf.json dans le volume docker nouvellement créé : /var/lib/docker/volumes/metadore_api_conf/_data
      • Redémmarrer le conteneur avec la commande docker restart api
    • Dans le cas d'une mise à jours, il faut :
      • Augmenter le numéro de version de l'api dans le fichier .env
      • Comparer le contenu du fichier conf.json dans le volumes docker et dans les sources ; le mettre à jour dans le conteneur si nécessaire
      • Démarrer le conteneur avec la commande docker-compose up -d dans le dossier /docker/python