Project

General

Profile

Evolution #8028

pouvoir lancer genconfig et eop dans deux instances différentes d'eoleflask

Added by Bruno Boiget almost 7 years ago. Updated almost 7 years ago.

Status:
Fermé
Priority:
Normal
Assigned To:
Category:
-
Start date:
Due date:
% Done:

100%

Estimated time:
8.00 h
Spent time:
Distribution:
EOLE 2.4

Description

Pour plus de sécurité, il serait souhaitable de pouvoir servir les application flask critiques (genconfig) dans une instance séparée des autres applications.

il faudrait pouvoir passer au 'loader' d'applications un sous répertoire de /etc/eole/flask ou lire les configurations des applications à charger.

nécessite plusieurs modifications:

- passage du paramètre et prise en compte dans loader.py (répertoire de configurations)
- voir comment on peut gérer l'activation ou non des applis via eflckcl
- modifier les fichiers apps.mk des applications pour mettre les fichiers de conf au bon endroit
- adapter la fonction de génération des clés secrètes d'applications si besoin
- gerer le lancement des instances gunicorn: en dur dans le script d'init eoleflask, ou automatiquement ?

à voir dans un deuxième temps:

- gérer aussi des sous-répertoire pour les fichiers statiques des application (/usr/share/eole/flask)


Related issues

Related to EOP - Anomalie #8015: EOP n'est pas accessible depuis l'extérieur Fermé 05/02/2014
Related to eole-genconfig - Tâche #8053: limiter genconfig l'instance 'eoleadmin' d'eoleflask Fermé 10/30/2014

Associated revisions

Revision 1e9c8450 (diff)
Added by Bruno Boiget almost 7 years ago

Gestion de sous répertoire de configuration pour eoleflask

ref #8028
ref #8015

Revision 697ec6c3 (diff)
Added by Bruno Boiget almost 7 years ago

Ajout des templates nginx/gunicorn pour les instances d'eoleflask

ref #8028

Revision fcb1411a (diff)
Added by Bruno Boiget almost 7 years ago

initialisation de la deuxième instance flask (eoleapps)

- ajout du script d'init pour eoleapps
- mise en place des fichiers de configuration nginx pour eoleapps

ref #8028

Revision 7a9b281e (diff)
Added by Bruno Boiget almost 7 years ago

Correction de repertoire non créés dans eoleflask.mk

ref #8028

Revision 726ce895 (diff)
Added by Bruno Boiget almost 7 years ago

correction typo dans postinst (ref #8028)

Revision c337d292 (diff)
Added by Bruno Boiget almost 7 years ago

correction eoleflask.mk + fix sur activation de la configuration nginx

ref #7968
ref #8028

History

#1 Updated by Bruno Boiget almost 7 years ago

  • Description updated (diff)

#2 Updated by Bruno Boiget almost 7 years ago

  • Status changed from Nouveau to Accepté
  • Assigned To set to Bruno Boiget
  • % Done changed from 0 to 80

Le fonctionnement mis en oeuvre pour l'instant est le suivant:

2 instances d'eoleflask sont mises en place avec des services différents:

- eoleflask : localhost:5000 (eventuellement, renommer le service eoleadmin pour plus de clarté)
- eoleapps : localhost:10000

la première instance fonctionne toujours de la même façon qu'avant et sert eoleauth/genconfig
la deuxième sert aussi eoleauth/genconfig mais n'est pas accessible à l'extérieur via nginx

genconfig est accessible dans les deux instances du fait qu'il est 'enabled' au niveau du répertoire /etc/eole/flask/enabled qui est commun à toutes les instances

pour terminer la séparation, il faut le désactiver et le réactiver seulement au niveau de /etc/eole/flask/eoleadmin/enabled/ de la manière suivante:

  1. eflkctl disable eolegenconfig
  2. eflkctl enable eolegenconfig eoleadmin
  3. service eoleflask restart
  4. service eoleapps restart

pour rendre eop accessible dans l'instance eoleapps:

  1. eflkctl disable eop (si déjà configuré)
  2. eflkctl enable eop eoleapps
  3. service eoleapps restart

il manquera ensuite à :

  • activer la configuration nginx d'eoleapps (déjà livrée dans /etc/nginx/sites-available)
  • ajouter une règle d'accès pour rendre eoleapps accessible de l'extérieur (nginx sert l'instance sur le port 3000)

pour limiter les risques de problèmes:

  • mettre une dépendance sur la version d'eole-flask-server pour pouvoir utiliser eflkctl avec un nom d'instance (paquets eole-genconfig et eole-eop)
  • vérifier que les ports choisis pour eoleapps sont convenables (10000 sur localhost pour flask, 3000 pour nginx)

#3 Updated by Bruno Boiget almost 7 years ago

décisions restant à prendre sur le fonctionnement:

  • lancement par défaut ou non de l'instance eoleapps (pour l'instant les 2 sont toujours lancés sur localhost)
  • ajouter une question dans applications web pour activer eoleapps via nginx dans le dictionnaire d'eoleflask ?
  • voir si des améliorations sont à prévoir sur eflkctl

attention au dépendances avec d'autres variables (activation d'eop forcée à non quand eoleapps n'est pas accessible via nginx ?)

#4 Updated by Philippe Caseiro almost 7 years ago

La partie infrastructure est résolus mais il reste des choses a faires (cf nouvelle demande)

#5 Updated by Philippe Caseiro almost 7 years ago

  • Status changed from Accepté to Résolu

#6 Updated by Philippe Caseiro almost 7 years ago

  • % Done changed from 80 to 100

#7 Updated by Philippe Caseiro almost 7 years ago

  • Status changed from Résolu to Fermé

Also available in: Atom PDF