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 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 ## ACA ./script/cucchiaiata servermodel.create -n aca -d Aca -p base -s eole -r last ./script/cucchiaiata session.servermodel.start -s aca S=xxxxxxxxxxxxxxxxxxxxxx ### verif ./script/cucchiaiata session.servermodel.get -s $S -n creole.reseau.unbound_route_address ./script/cucchiaiata session.servermodel.get -s $S -n creole.reseau.unbound_domain_name ./script/cucchiaiata session.servermodel.get -s $S -n creole.serveur_dns.unbound_local_zones ./script/cucchiaiata session.servermodel.get -s $S -n creole.reseau.unbound_ip_address_cidr ./script/cucchiaiata session.servermodel.configure -s $S --creole.reseau.unbound_route_address 192.168.1.2 ./script/cucchiaiata session.servermodel.configure -s $S --creole.serveur_dns.unbound_allowed_client_cidr 192.168.1.0/24 ./script/cucchiaiata session.servermodel.stop -s $S -a ## etab1 ./script/cucchiaiata servermodel.create -n etab1 -d "Etab 1" -p aca -s internal -r last ./script/cucchiaiata session.servermodel.start -s etab1 S=xxxxxxxxxxxxxxxxxxxxxx ./script/cucchiaiata session.servermodel.configure -s $S --creole.reseau.unbound_domain_name test.cadoles.com ./script/cucchiaiata session.servermodel.stop -s $S -a ## unbound ./script/cucchiaiata servermodel.create -n unbound -d "generic unbound configuration" -s eole -r last ./script/cucchiaiata session.servermodel.start -s unbound S=xxxxxxxxxxxxxxxxxxxxxx ./script/cucchiaiata session.servermodel.configure -s $S --creole.serveur_dns.unbound_local_zones cadoles.com ./script/cucchiaiata session.servermodel.filter -s $S -n unbound ./script/cucchiaiata session.servermodel.configure -s $S --unbound.unbound_zone_cadoles_com.hostname_cadoles_com.hostname_cadoles_com toto titi ./script/cucchiaiata session.servermodel.configure -s $S --unbound.unbound_zone_cadoles_com.hostname_cadoles_com.ip_cadoles_com 0 192.168.1.25 ./script/cucchiaiata session.servermodel.configure -s $S --unbound.unbound_zone_cadoles_com.hostname_cadoles_com.type_cadoles_com 1 CNAME ./script/cucchiaiata session.servermodel.configure -s $S --unbound.unbound_zone_cadoles_com.hostname_cadoles_com.cname_cadoles_com 1 toto.cadoles.com ./script/cucchiaiata session.servermodel.stop -s $S -a ## unbound_etab1 ./script/cucchiaiata servermodel.create -n unbound_etab1 -d "unbound configuration for etab1" -p etab1 unbound -s internal -r last ### verif ./script/cucchiaiata session.servermodel.start -s unbound_etab1 S=xxxxxxxxxxxxxxxxxxxxxx XXXXX # Create a server ./script/cucchiaiata server.create -s test.cadoles.com -d description -m unbound_etab1 -r last ./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 ./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 # OpenSSH ./script/cucchiaiata applicationservice.dependency.add -n local_aca -a openssh -s eole -r last