Projet Risotto ============== Démarrer le server de l'API Risotto : ``` python3 script/server.py ``` Accéder à un message : ``` wget http://localhost:8080/v1/config.session.server.start ``` Démarrer un serveur LemonLDAP de test ``` docker pull coudot/lemonldap-ng echo "127.0.0.1 auth.example.com manager.example.com test1.example.com test2.example.com" >> /etc/hosts docker run -d --add-host reload.example.com:127.0.0.1 -p 80:80 coudot/lemonldap-ng ``` Démarrer un serveur postgresql de test ``` docker run -dt -p 5432:5432 --name postgres postgres:11-alpine docker exec -ti postgres bash psql -U postgres -h localhost -c "CREATE ROLE risotto WITH LOGIN PASSWORD 'risotto';" psql -U postgres -h localhost -c "CREATE DATABASE risotto;" psql -U postgres -h localhost -c "GRANT ALL ON DATABASE risotto TO risotto;" psql -U postgres -h localhost -c "CREATE EXTENSION hstore;" risotto ``` Gestion de la base de données avec Sqitch ``` cpanm --quiet --notest App::Sqitch sqitch init risotto --uri https://forge.cadoles.com/Infra/risotto --engine pg ``` Commande : # Empty database: su - postgres psql -U postgres risotto drop table log; drop table userrole; drop table release; drop table source; drop table server; drop table servermodel; drop table applicationservice; drop table roleuri; drop table risottouser; drop table uri; psql -U postgres tiramisu drop table value; drop table property; drop table permissive; drop table information; drop table session; # Import EOLE ./script/cucchiaiata source.create -n eole -u http://localhost ./script/cucchiaiata source.release.create -s eole -n 2.7.1.1 -d last ./script/cucchiaiata applicationservice.dataset.updated -s eole -r last ./script/cucchiaiata servermodel.dataset.updated -s eole -r last # Create a server ./script/cucchiaiata server.create -s test -d description -m eolebase -n eole -r last # Configure the server ./script/cucchiaiata session.server.start -s test S=xxxxxxxxxxxxxxxxxxxxxx ./script/cucchiaiata session.server.configure -s $S --creole.reseau.unbound_ip_address_cidr 192.168.1.1/24 --creole.reseau.unbound_route_address 192.168.1.2 --creole.serveur_dns.unbound_allowed_client_cidr 192.168.1.0/24 --creole.serveur_dns.unbound_local_zones cadoles.com ./script/cucchiaiata session.server.configure -s $S --creole.reseau.unbound_domain_name test.cadoles.com ./script/cucchiaiata session.server.filter -s $S -n unbound ./script/cucchiaiata session.server.configure -s $S --unbound.unbound_zone_cadoles_com.hostname_cadoles_com.hostname_cadoles_com toto titi --unbound.unbound_zone_cadoles_com.hostname_cadoles_com.ip_cadoles_com 0 192.168.1.25 --unbound.unbound_zone_cadoles_com.hostname_cadoles_com.type_cadoles_com 1 CNAME --unbound.unbound_zone_cadoles_com.hostname_cadoles_com.cname_cadoles_com 1 toto.cadoles.com ./script/cucchiaiata session.server.validate -s $S ./script/cucchiaiata session.server.stop -s $S -a # Generate configuration ./script/cucchiaiata config.configuration.server.deploy -s test ./script/cucchiaiata template.generate -s test # Create a new user and set role 'server_rw' for this server ./script/cucchiaiata user.create -l gnunux -n gnunux -s gnunux ./script/cucchiaiata user.role.create -u gnunux -n 'server_rw' -a 'Server.ServerName' -v test # Heritage ./script/cucchiaiata servermodel.create -n aca -d Aca -p eolebase -s eole -r last ./script/cucchiaiata session.servermodel.start -s aca ./script/cucchiaiata session.servermodel.configure -s $S --creole.reseau.unbound_domain_name test.cadoles.com