Merge branch 'develop' into dist/risotto/risotto-2.8.0/develop

This commit is contained in:
Emmanuel Garette 2020-10-14 18:32:16 +02:00
commit 2aa6115491
1 changed files with 70 additions and 62 deletions

View File

@ -5,77 +5,82 @@ set -xe
# Import Cadoles seed # Import Cadoles seed
#======================================================================================================= #=======================================================================================================
cucchiaiata-cli v1.setting.source.create --source_name cadoles --source_directory /srv/risotto/seed/cadoles cucchiaiata-cli v1.setting.source.create --source_name Cadoles --source_directory /usr/share/risotto/seed/cadoles
#======================================================================================================= #=======================================================================================================
# Infrastructure # Infrastructure
#======================================================================================================= #=======================================================================================================
# Create a new user and set role 'server_rw' for the server dns.cadoles.com # Create a new user and set role 'server_rw' for the server dns.cadoles.com
cucchiaiata-cli v1.user.user.create --user_login gnunux --user_name gnunux --user_surname gnunux cucchiaiata-cli v1.user.user.create --login gnunux --name gnunux --surname gnunux --email egarette@cadoles.com
cucchiaiata-cli v1.user.role.create --user_login gnunux --role_name 'server_rw' --role_attribute 'Server.ServerName' --role_attribute_value dns.cadoles.com cucchiaiata-cli v1.user.role.create --user_login gnunux --role_name 'server_rw' --role_attribute 'Server.ServerName' --role_attribute_value dns.cadoles.com
# Sites and zone # Sites and zone
# + = = = = = = = = = = = = = = = = = = = = = = = + # + = = = = = = = = = = = +
# " SITE site_cluster " # " SITE site_cluster "
# " +-------------------+ " # " "---------+
# " | node1.cadoles.com | "-----------+ # " " |
# " +-------------------+ " +~~~~~~~~+ # + = = = = = = = = = = = + +~~~~~~~~~~+
# + = = = = = = = = = = = = = = = = = = = = = = = + ! ZONE ! # ! ZONE !
# ! pedago ! # ! internet !
# + = = = = = = = = = = = = = = = = = = = = = = = + +~~~~~~~~+ # + = = = = = = = = = = = + +~~~~~~~~~~+
# " SITE etab1 " | # " SITE etab1 " |
# " +-----------------+ "-----------+ # " "---------+
# " | dns.cadoles.com | " # " "
# " +-----------------+ " # + = = = = = = = = = = = +
# + = = = = = = = = = = = = = = = = = = = = = = = +
cucchiaiata-cli v1.infra.site.create --site_name site_cluster cucchiaiata-cli v1.infra.site.create --site_name site_cluster
cucchiaiata-cli v1.infra.site.create --site_name etab1 cucchiaiata-cli v1.infra.site.create --site_name etab1
# Zone # Zone
cucchiaiata-cli v1.infra.zone.create --zone_name pedago --sites_name etab1 site_cluster --network "192.168.1.0/24" --host_start "192.168.1.10" --host_end "192.168.1.100" --dns 192.168.1.1 --gateway 192.168.1.254 cucchiaiata-cli v1.infra.zone.create --zone_name internet --sites_name site_cluster etab1 --network "192.168.1.0/24" --host_start "192.168.1.10" --host_end "192.168.1.100" --dns 192.168.1.1 --gateway 192.168.1.254
# Servermodels # Servermodels
# -> base-fedora-32 (cadoles' servermodel) # -> base-fedora-32 (Cadoles)
# |-> sm_cluster (servermodel) # |-> sm_cluster (servermodel)
# | '-> node1.cadoles.com (server) # |
# | # '-> unbound (Cadoles)
# |-> aca (servermodel) + unbound (AS) + openssh (AS) # '-> unbound (servermodel) ----,
# | '-> etab1 (servermodel) -----------------, # |
# | |--> unbound_etab1 (servermodel) # -> openssh (Cadoles) |--> unbound_etab1 (servermodel)
# '-> unbound (servermodel) + unbound (AS) --' '-> dns.cadoles.com (server) # '-> aca (servermodel) |
## sm_cluster # '-> etab1 (servermodel) ------'
cucchiaiata-cli v1.setting.servermodel.create --servermodel_name sm_cluster --applicationservices base-fedora-32 cucchiaiata-cli v1.setting.servermodel.create --servermodel_name sm_cluster --applicationservices base-fedora-32
## ACA
cucchiaiata-cli v1.setting.servermodel.create --servermodel_name aca --applicationservices unbound openssh
## etab1
cucchiaiata-cli v1.setting.servermodel.create --servermodel_name etab1 --parents_name aca
## unbound
cucchiaiata-cli v1.setting.servermodel.create --servermodel_name unbound --applicationservices unbound cucchiaiata-cli v1.setting.servermodel.create --servermodel_name unbound --applicationservices unbound
## unbound_etab1 cucchiaiata-cli v1.setting.servermodel.create --servermodel_name aca --applicationservices openssh
cucchiaiata-cli v1.setting.servermodel.create --servermodel_name etab1 --parents_name aca
cucchiaiata-cli v1.setting.servermodel.create --servermodel_name unbound_etab1 --parents_name etab1 unbound cucchiaiata-cli v1.setting.servermodel.create --servermodel_name unbound_etab1 --parents_name etab1 unbound
# Servers # Servers
cucchiaiata-cli v1.infra.server.create --server_name node1.cadoles.com --servermodel_name sm_cluster --site_name site_cluster --zones_name pedago # + = = = = = = = = = = = = = = = = = = = = = = = +
cucchiaiata-cli v1.infra.server.create --server_name dns.cadoles.com --servermodel_name unbound_etab1 --site_name etab1 --zones_name pedago # " SITE site_cluster +-------------------+ "
# " | node1.cadoles.com |---------------+
# " +-------------------+ " |
# + = = = = = = = = = = = = = = = = = = = = = = = + +~~~~~~~~~~+
# ! ZONE !
# ! internet !
# + = = = = = = = = = = = = = = = = = = = = = = = + +~~~~~~~~~~+
# " SITE etab1 +-------------------+ " |
# " | dns.cadoles.com |---------------+
# " +-------------------+ "
# + = = = = = = = = = = = = = = = = = = = = = = = +
# Create a cluster # -> sm_cluster
cucchiaiata-cli v1.provider.factory.cluster.create --cluster_name cluster.cadoles.com --virtual_ip 192.168.1.1 --zone_name pedago # '-> node1.cadoles.com (server)
# Cluster description: # -> unbound_etab1
# +-----------------------------+ # '-> dns.cadoles.com (server)
# + cluster.cadoles.com + cucchiaiata-cli v1.infra.server.create --server_name node1.cadoles.com --site_name site_cluster --zones_name internet --servermodel_name sm_cluster
# + +--------------------+ + cucchiaiata-cli v1.infra.server.create --server_name dns.cadoles.com --site_name etab1 --zones_name internet --servermodel_name unbound_etab1
# + + node1.cadoles.com + +
# + +--------------------+ + # Create the cluster cluster.cadoles.com
# +-----------------------------+ # +-------------------------+ +-------------------------+
# | Nodes | | VMs |
# | +--------------------+ | | +--------------------+ |
# | | node1.cadoles.com | | <---- | + dns.cadoles.com + |
# | +--------------------+ | | +--------------------+ |
# | | | |
# +-------------------------+ +-------------------------+
cucchiaiata-cli v1.provider.factory.cluster.create --cluster_name cluster.cadoles.com --virtual_ip 192.168.1.1 --zone_name internet
cucchiaiata-cli v1.provider.factory.cluster.join --cluster_name cluster.cadoles.com --node_name node1.cadoles.com cucchiaiata-cli v1.provider.factory.cluster.join --cluster_name cluster.cadoles.com --node_name node1.cadoles.com
# Cluster execution: cucchiaiata-cli v1.provider.factory.server.add --cluster_name cluster.cadoles.com --server dns.cadoles.com --cpu 0.2 --vcpu 2 --memory 2
# +-----------------------------+
# + cluster.cadoles.com +
# + +--------------------+ +
# + + dns.cadoles.com + +
# + +--------------------+ +
# +-----------------------------+
cucchiaiata-cli v1.provider.factory.server.add --server dns.cadoles.com --cluster_name cluster.cadoles.com --cpu 0.2 --vcpu 2 --memory 2
#======================================================================================================= #=======================================================================================================
# Configuration # Configuration
@ -83,24 +88,23 @@ cucchiaiata-cli v1.provider.factory.server.add --server dns.cadoles.com --cluste
# Servermodel ACA # Servermodel ACA
S=$(cucchiaiata-cli v1.setting.session.servermodel.start --servermodel_name aca| jq -r .session_id) S=$(cucchiaiata-cli v1.setting.session.servermodel.start --servermodel_name aca| jq -r .session_id)
cucchiaiata-cli v1.setting.session.servermodel.configure --session_id "$S" --configuration.reseau.unbound_route_address 192.168.1.2 \ cucchiaiata-cli v1.setting.session.servermodel.configure --session_id "$S" --configuration.serveur_ssh.ssh_allow_networks admin.cadoles.com
--configuration.serveur_dns.unbound_allowed_client_cidr 192.168.1.0/24 \
--configuration.serveur_ssh.ssh_allow_networks admin.cadoles.com
cucchiaiata-cli v1.setting.session.servermodel.stop --session_id "$S" --save
# Servermodel etab1
S=$(cucchiaiata-cli v1.setting.session.servermodel.start --servermodel_name etab1 | jq -r .session_id)
cucchiaiata-cli v1.setting.session.servermodel.configure --session_id "$S" --configuration.reseau.unbound_domain_name dns.cadoles.com
cucchiaiata-cli v1.setting.session.servermodel.stop --session_id "$S" --save cucchiaiata-cli v1.setting.session.servermodel.stop --session_id "$S" --save
# Servermodel unbound # Servermodel unbound
S=$(cucchiaiata-cli v1.setting.session.servermodel.start --servermodel_name unbound| jq -r .session_id) S=$(cucchiaiata-cli v1.setting.session.servermodel.start --servermodel_name unbound| jq -r .session_id)
cucchiaiata-cli v1.setting.session.servermodel.configure --session_id "$S" --configuration.serveur_dns.unbound_local_zones cadoles.com cucchiaiata-cli v1.setting.session.servermodel.configure --session_id "$S" --configuration.serveur_dns.unbound_local_zones cadoles.com \
--configuration.reseau.unbound_route_address 192.168.1.2 \
--configuration.serveur_dns.unbound_allowed_client_cidr 192.168.1.0/24
cucchiaiata-cli v1.setting.session.servermodel.filter --session_id "$S" --namespace unbound cucchiaiata-cli v1.setting.session.servermodel.filter --session_id "$S" --namespace unbound
cucchiaiata-cli v1.setting.session.servermodel.configure --session_id "$S" --unbound.unbound_zone_cadoles_com.hostname_cadoles_com.hostname_cadoles_com toto titi \ cucchiaiata-cli v1.setting.session.servermodel.configure --session_id "$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.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.type_cadoles_com 1 CNAME \
--unbound.unbound_zone_cadoles_com.hostname_cadoles_com.cname_cadoles_com 1 toto.cadoles.com --unbound.unbound_zone_cadoles_com.hostname_cadoles_com.cname_cadoles_com 1 toto.cadoles.com
cucchiaiata-cli v1.setting.session.servermodel.stop --session_id "$S" --save
# Servermodel unbound_etab1
S=$(cucchiaiata-cli v1.setting.session.servermodel.start --servermodel_name unbound_etab1 | jq -r .session_id)
cucchiaiata-cli v1.setting.session.servermodel.configure --session_id "$S" --configuration.reseau.unbound_domain_name dns.cadoles.com
cucchiaiata-cli v1.setting.session.servermodel.stop --session_id "$S" --save cucchiaiata-cli v1.setting.session.servermodel.stop --session_id "$S" --save
# Server dns.cadoles.com # Server dns.cadoles.com
@ -109,6 +113,10 @@ cucchiaiata-cli v1.setting.session.server.configure --session_id "$S" --configur
cucchiaiata-cli v1.setting.session.server.validate --session_id $S cucchiaiata-cli v1.setting.session.server.validate --session_id $S
cucchiaiata-cli v1.setting.session.server.stop --session_id "$S" --save cucchiaiata-cli v1.setting.session.server.stop --session_id "$S" --save
#=======================================================================================================
# Deploy
#=======================================================================================================
# Generate configuration # Generate configuration
cucchiaiata-cli v1.setting.config.configuration.server.deploy --server dns.cadoles.com cucchiaiata-cli v1.setting.config.configuration.server.deploy --server dns.cadoles.com
cucchiaiata-cli v1.setting.template.generate --server dns.cadoles.com cucchiaiata-cli v1.setting.template.generate --server dns.cadoles.com