2018-04-10 14:21:22 +02:00
<creole >
2018-04-10 16:15:28 +02:00
<files >
2018-04-10 16:43:06 +02:00
<file filelist= 'dbCluster' name= '/etc/mysql/conf.d/galera.cnf' rm= 'True' mkdir= 'True' />
2018-04-10 16:15:28 +02:00
<service_access service= 'mariadb' >
<port service_accesslist= 'mariadb' protocol= 'tcp' > 3306</port>
<tcpwrapper service_accesslist= 'mariadb' > mariadb</tcpwrapper>
</service_access>
<service_access service= 'galera' >
<port service_accesslist= 'dbCluster' protocol= 'tcp' > 4444</port>
<port service_accesslist= 'dbCluster' protocol= 'tcp' > 4567</port>
<port service_accesslist= 'dbCluster' protocol= 'tcp' > 4568</port>
<port service_accesslist= 'dbCluster' protocol= 'udp' > 4567</port>
<tcpwrapper service_accesslist= 'mariadb' > mariadb</tcpwrapper>
</service_access>
<service_restriction service= 'mariadb' >
<ip interface= 'ifMariaDBLimit' interface_type= "SymLinkOption" netmask= 'maskMariaDBLimit' netmask_type= 'SymLinkOption' ip_type= 'SymLinkOption' > ipMariaDBLimit</ip>
</service_restriction>
<service_restriction service= 'galera' >
2018-04-10 16:50:45 +02:00
<ip interface= 'ifDBCluster' interface_type= "SymLinkOption" netmask= '255.255.255.255' ip_type= 'SymLinkOption' > dbClusterMemberIP</ip>
2018-04-10 16:15:28 +02:00
</service_restriction>
</files>
2018-04-10 14:21:22 +02:00
<variables >
2018-04-10 16:15:28 +02:00
<family name= "Services" >
2018-04-10 16:43:06 +02:00
<variable name= "dbEnable" type= 'oui/non' description= 'Activer le serveur de base de données MariaDB' >
<value > non</value>
2018-04-10 16:15:28 +02:00
</variable>
</family>
2018-04-10 14:21:22 +02:00
<family name= "DataBase" >
2018-04-10 16:43:06 +02:00
<variable name= 'dbEnableCluster' type= 'oui/non' description= "Activer la mise en grappe MariaDB Galera ?" >
2018-04-10 16:15:28 +02:00
<value > non</value>
2018-04-10 16:50:45 +02:00
</variable>
<variable name= 'ipMariaDBLimit' type= 'network' description= "Adresse IP réseau autorisée pour les connexions distantes au serveur MySQL" multi= 'True' mandatory= 'True' />
<variable name= 'maskMariaDBLimit' type= 'netmask' description= "Masque du sous réseau pour les connexions distantes au serveur MySQL" mandatory= 'True' />
<variable name= 'ifMariaDBLimit' type= 'string' description= "Interface pour les connexions distantes au serveur MySQL" mandatory= 'True' >
<value > auto</value>
</variable>
<variable name= "dbCreateFixAdmin" type= 'oui/non' description= "Créer des comptes admin MySQL avec un mot de passe fixe" />
2018-04-10 14:21:22 +02:00
<variable name= "accName" type= 'string' description= "Nom du compte" multi= "True" />
<variable name= "accLimits" type= 'string' description= "Limiter les accès des comptes" >
<value > Default</value>
</variable>
<variable name= "accLimitTarget" type= "string" description= "Restriction d'accès à ces IP/noms d'hôtes (liste séparateur séparateur ',')" />
</family>
2018-04-10 16:15:28 +02:00
<family name= "Database Cluster" >
<variable name= 'ifDBCluster' type= 'string' description= "Interface réseau dédiée à la grappe BDD" />
2018-04-10 16:31:41 +02:00
<!-- FIXME : Fill this variable with nom_machine -->
<variable name= 'nodeName' type= 'string' description= "Nom du noeud local" />
2018-04-10 16:50:45 +02:00
<variable name= 'dbClusterMember' type= 'string' description= "Membre de la grappe BDD" multi= 'True' />
2018-04-10 16:15:28 +02:00
<variable name= 'dbClusterMemberIP' type= 'ip' description= "Adresse IP" />
2018-04-10 16:31:41 +02:00
<!-- Expert Variables -->
<variable name= 'dbClusterName' type= 'string' description= 'Nom de la grappe' >
<value > galera_cluster</value>
</variable>
<variable name= 'dbBinLogFormat' type= 'string' mode= 'expert' description= 'Format du binlog' >
<value > ROW</value>
</variable>
<variable name= 'dbDefaultStorage' type= 'string' mode= 'expert' description= 'Default storage engine' >
<value > innodb</value>
</variable>
<variable name= 'dbSSTMethod' type= 'string' mode= 'expert' description= 'Méthode SST' >
<value > rsync</value>
</variable>
<!-- End -->
2018-04-10 16:15:28 +02:00
</family>
2018-04-10 14:21:22 +02:00
<separators >
<separator name= 'dbCreateFixAdmin' > Comptes d'administration supplémentaires</separator>
</separators>
</variables>
<constraints >
2018-04-10 16:15:28 +02:00
<check name= 'valid_enum' target= 'ifDBCluster' >
<param > ['eth0', 'eth1', 'eth2', 'eth3', 'eth4']</param>
</check>
<group master= 'dbClusterMember' >
2018-04-10 16:43:06 +02:00
<slave > dbClusterMemberIP</slave>
2018-04-10 16:15:28 +02:00
</group>
2018-04-10 14:21:22 +02:00
<check name= 'valid_enum' target= 'accLimits' >
<param > ['Default','Custom']</param>
</check>
2018-04-10 16:15:28 +02:00
2018-04-10 14:21:22 +02:00
<group master= 'accName' >
<slave > accLimits</slave>
<slave > accLimitTarget</slave>
2018-04-10 16:50:45 +02:00
</group>
<group master= 'ipMariaDBLimit' >
<slave > maskMariaDBLimit</slave>
<slave > ifMariaDBLimit</slave>
2018-04-10 14:21:22 +02:00
</group>
2018-04-10 16:15:28 +02:00
2018-04-10 14:21:22 +02:00
<fill name= 'calc_multi_condition' target= 'accLimitTarget' >
<param > Default</param>
<param type= 'eole' name= 'condition_1' > accLimits</param>
<param name= 'default_match' > Default</param>
<param name= 'mismatch' > ""</param>
</fill>
2018-04-10 16:15:28 +02:00
2018-04-10 14:21:22 +02:00
<condition name= 'disabled_if_in' source= "dbCreateFixAdmin" >
<param > non</param>
<target type= 'variable' > accName</target>
<target type= 'variable' > accLimits</target>
<target type= 'variable' > accLimitTarget</target>
</condition>
2018-04-10 16:15:28 +02:00
<condition name= 'disabled_if_in' source= "dbEnableCluster" >
<param > non</param>
<target type= 'family' > Database Cluster</target>
<target type= 'service_accesslist' > dbCluster</target>
2018-04-10 16:43:06 +02:00
<target type= 'filelist' > dbCluster</target>
2018-04-10 16:15:28 +02:00
</condition>
<condition name= 'disabled_if_in' source= "dbEnable" >
<param > non</param>
<target type= 'family' > Database Cluster</target>
<target type= 'family' > Database</target>
<target type= 'service_accesslist' > dbCluster</target>
</condition>
2018-04-10 14:21:22 +02:00
</constraints>
<help />
</creole>