Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
C
capsuledb
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • gem
  • capsuledb
  • Wiki
  • Home

Last edited by Bertrand NÉRON Aug 22, 2017
Page history

Home

Admin guide

architecture générale

overview

  • Le projet capsuledb est hebergé sur couchdb.web.pasteur.fr (machine virtuelle CentOS release 6.6 (Final))
  • Le home du projet est /opt/macsydb/capsuledb
  • Le projet a été réalisé via une couchapp.
  • Le projet utilise donc couchdb comme serveur de base de données et comme serveur d'application web. couchdbKit (module python) est necessaire au parser pour remplir/mettre à jour les données et couchapp pour gérer l'application web
  • tous ces modules python ont été installés dans un virtualenv (pyhton2.6)
couchdb:
mkdir /opt/macsydb/capsuledb
$virtualenv capsule-env
source capsule-env/bin/activate
pip install couchapp

les sources capsuledb sont dans un repos git a l'adresse suivante: https://gitlab.pasteur.fr/gem/capsuledb/

un apache est en frontal et sert de reverse proxy a couchDB

arboresence du projet

/opt/macsydb (home des bases macsydb)
      |-> capsuledb (home du projet capsuledb)
           |-> capsule-env
           |-> capsuledb lien vers la version courante de capsuledb-xx
           |-> capsuledb-xx
                 |-> data ( data contient les données fournies par olaya un fichier d'info sur les replicons, un fichier d'info sur les systemes de secretion )
                 |-> src (l'application)
                     |-> parser (contient le script de peuplement/update des données dans la base couchdb)
                     |-> couchapp (contient la couchapp capsuledb )

config

TODO

couchdb

/opt/couchdb/etc/couchdb/local.ini l'authentification basic authent a été désactivée car une basic authent a été mise en place dans apache authentication_handlers = {couch_httpd_auth, null_authentication_handler}

apache

un virtualhost a été configuré dans l'apache central de couchdb.web.pasteur.fr (user group couchdb.couchdb) /etc/httpd/conf.d/txssdb.conf

ce virtualhost est en frontal et sert de reverse proxy a couchdb qui est bindé sur localhost:5984 seul les requettes http HEAD et GET sont autorisées pour prévenir toute modification de la base couchdb depuis l'exterieur une réécriture d'url permet de rediriger

http://macsydb.web.pasteur.fr -> /opt/front/index.html qui est une page statique de présentation des différentes bases

logs

TODO

apache

pour le moment avec tous les logs apache des différentes base sont mélangés

/var/log/httpd/macsydb_error_log
/var/log/httpd/macsydb_access_log

couchdb

/opt/couchdb/var/log/couchdb/couch.log

malheureusement seul 5 semaines de logs sont gardés

démarrage de capsuledb

sudo /etc/init.d/httpd start|stop|reload
sudo /etc/init.d/couchdb start|stop

(bien verifier que le server tourne)

curl http://127.0.0.1:5984/

(bug dans l'init script gentoo)

init du projet

création de la base couchdb

établir un tunnel ssh avec couchdb.web.pasteur.fr

ssh couchdb.web.pasteur.fr -L 12345:localhost:5984

dans un navigateur: http://localhost:12345/_utils/ se logger en tant qu'admin créer la base capsuledb

création du repertoire du projet

à l'avenir il risque d'y avoir plusieurs base semblables elles serons regroupes dans le repertoire macsydb chaque base aura son sous repertoire avec son virtualenv

cd /opt
mkdir macsydb
cd macsydb
mkdir capsuledb
cd capsuledb
virtualenv capsule-env
source /opt/macsydb/capsuledb/capsule-env/bin/acitvate

capsuledb est versionné sous git création d'une archive et copie de cette archive sur le serveur couchdb.web.pasteur.fr Attention l'archive ne contient pas le repertoire racine, il faut donc le creer sur couchdb.web.pasteur.fr avant d'extraire l'archive

sur une machine perso

git clone git@gitlab.pasteur.fr:gem/capsuledb.git
git archive --format=tar.gz --output=capsuledb-1.0.tar.gz  1.0
scp capsuledb-1.0.tar.gz couchdb.web.pasteur.fr:/opt/macsysdb/capsuledb/capsuledb/

initialisation de la couchapp

sur couchdb.web.pasteur.fr

 
cd /opt/macsydb/capsuledb/capsuledb
tar -xzf capsuledb-1.0.tar.gz
source /opt/macsydb/capsuledb/capsule-env/bin/activate
pip install -r capsuledb/requirements.txt
cd src/couchapp/
couchap init capsuledb

configuration de la couchapp par defaut éditer le fichier .couchapprc

 { "env": { "default": { "db": "http://localhost:5984/capsuledb" } } }

remplir la base avec l'application

couchapp push

remplir la base avec les données

cd parser
./parser.py -S http://localhost:5984 -d capsuledb -r ../../data/info_replicon.dat -s ../../data/info_syst.dat -f

le script va demander un login/mot de passe. Il faut fournir ceux d'un des admins de la base secreton (voir fichier de conf couchapp local.ini)

peuplement de la base/mise à jour des données

activer virtualenv :

source /opt/macsydb/capsuledb/capsule-env/bin/acitvate
cd ../../parser
./parser.py -S http://localhost:5984 -d txssdb  -r ../../data/info_replicon.dat -s ../../data/info_syst.dat -f

mise à jour de l'application web

activer virtualenv :

source /opt/macsydb/capsuledb/capsule-env/bin/acitvate
cd /opt/macsydb/capsuledb
cp capsuledb-x.x .
rm capsuledb
ln -s capsuledb-x.x capsuledb
cd txssdb/src/couchapp/capsuledb/
couchapp push

pour sortir de virtualenv :

deactivate
Clone repository
  • Home