2018-04-10 14:21:22 +02:00
<creole >
2018-05-17 10:14:01 +02:00
<files >
<file filelist= 'dbMariaDB' name= '/etc/mysql/conf.d/mariadb.cnf' rm= 'True' mkdir= 'True' />
<file filelist= 'dbCluster' name= '/etc/mysql/conf.d/galera.cnf' rm= 'True' mkdir= 'True' />
<file filelist= 'dbTunning' name= '/etc/mysql/conf.d/tunning.cnf' rm= 'True' mkdir= 'True' />
<service servicelist= 'bdd' > mariadb</service>
<service_access service= 'mariadb' >
<port service_accesslist= 'mariadb' protocol= 'tcp' > 3306</port>
2018-04-10 16:15:28 +02:00
<tcpwrapper service_accesslist= 'mariadb' > mariadb</tcpwrapper>
2018-05-17 10:14:01 +02:00
</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>
2018-04-10 16:15:28 +02:00
<tcpwrapper service_accesslist= 'mariadb' > mariadb</tcpwrapper>
2018-05-17 10:14:01 +02:00
</service_access>
2018-04-10 16:15:28 +02:00
2018-05-17 10:14:01 +02:00
<service_restriction service= 'mariadb' >
2018-04-10 16:15:28 +02:00
<ip interface= 'ifMariaDBLimit' interface_type= "SymLinkOption" netmask= 'maskMariaDBLimit' netmask_type= 'SymLinkOption' ip_type= 'SymLinkOption' > ipMariaDBLimit</ip>
</service_restriction>
2018-05-17 10:14:01 +02:00
<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>
2018-05-17 10:14:01 +02:00
</files>
<variables >
<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>
2018-06-22 16:44:19 +02:00
<variable name= "dbEnableBackup" type= 'oui/non' description= 'Activer la sauvegarde sur le serveur de base de données MariaDB' >
<value > non</value>
</variable>
2018-05-17 10:14:01 +02:00
</family>
<family name= "Database" >
<variable name= 'dbEnableCluster' type= 'oui/non' description= "Activer la mise en grappe MariaDB Galera ?" >
<value > non</value>
</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" />
<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 ',')" />
<variable name= "dbClusterGcacheSizeMb" type= "number" description= "FIXME Gcachesize" >
<value > 128</value>
</variable>
</family>
<!-- Tunning -->
<family name= "Database Tunning" mode= "expert" >
<variable name= "dbInnoDBBufferPoolPercentage" type= "number" description= "Pourcentage de mémoire à dédier à MariaDB" >
<value > 20</value>
</variable>
2018-06-21 15:57:17 +02:00
<variable name= "dbInnoDBLogBufferSize" type= 'number' description= "Taille du tampon utilisé pour écrire les fichiers de transaction innodb sur le disque (en Mo)" >
<value > 8</value>
</variable>
<variable name= 'dbInnoDBLogFileSize' type= 'number' description= "Taille des fichiers de transaction InnoDB" >
<value > 6</value>
</variable>
2018-09-03 12:05:07 +02:00
<variable name= 'dbInnoDBLockWaitTimeout' type= 'number' description= "Nombre de millisecondes d'attente avant de fermer la connection en lock (innodb_lock_wait_timeout)" >
<value > 120</value>
</variable>
2018-05-17 10:14:01 +02:00
<variable name= "dbMaxConnections" type= "number" description= "Nombre de connection maximum pour le serveur de bases de données (max_connections)" >
<value > 100</value>
</variable>
<variable name= "dbThreadCacheSize" type= "number" description= "Nombre de threads mis en cache par le serveur MariaDB" >
<value > 16</value>
</variable>
<variable name= "dbCacheQueryEnable" type= "oui/non" description= "Activer la mise en cache des requêtes" >
<value > non</value>
</variable>
<variable name= "dbQueryCacheLimit" type= "string" description= "Taille maximum des résultats de requêtes à mettre en cache" >
<value > 900K</value>
</variable>
<variable name= "dbQueryCacheMinRestUnit" type= "string" description= "Taille des blocks du cache des requêtes" >
<value > 2K</value>
</variable>
<variable name= "dbQueryCacheSize" type= "string" description= "Taille maximum du cache des requêtes" >
<value > 80M</value>
</variable>
<variable name= "dbTmpTableSize" type= "string" description= "Taille maximum des tables internes stockées en mémoire" >
<value > 64M</value>
</variable>
<variable name= "dbEnableSlowQueryLogs" type= "oui/non" description= "Journaliser les requêtes lentes (Slow Query)" >
<value > non</value>
</variable>
<variable name= "dbSlowQueryLogFile" type= "string" description= "Fichier de journalisation des requêtes lentes" >
<value > /var/log/mysql/slow-query.log</value>
</variable>
<variable name= "dbSlowQueryLogTime" type= "number" description= "Durée à partir de laquelle une requête est considérée comme lente (en secondes)" >
<value > 1</value>
</variable>
<variable name= "dbWaitTimeout" type= "number" description= "Durée maximum d'inactivité d'une session (en secondes)" >
<value > 20</value>
</variable>
<variable name= "dbAutoOptimizeAndRepare" type= "oui/non" description= "Activer l'autoréparation et optimisation de toutes les bases de données" >
<value > non</value>
</variable>
2018-06-21 10:47:27 +02:00
<variable name= "dbMaxAllowedPacket" type= 'number' description= "Taille maximum d'un paquet (en Mo)" >
<value > 32</value>
</variable>
2018-06-21 13:32:37 +02:00
<variable name= 'dbInteractiveTimeout' type= 'number' description= "Nombre de secondes d'attente avant de fermer la connection en mode interactif" >
<value > 28800</value>
</variable>
2018-05-17 10:14:01 +02:00
</family>
<family name= "Database Cluster" >
<variable name= 'dbClusterPosition' type= 'string' description= "Rôle dans la grappe" mandatory= 'True' />
<variable name= 'ifDBCluster' type= 'string' description= "Interface réseau dédiée à la grappe BDD" />
<!-- FIXME : Fill this variable with nom_machine -->
<variable name= 'nodeName' type= 'string' description= "Nom du noeud local" />
<variable name= 'dbClusterMember' type= 'string' description= "Membre de la grappe BDD" multi= 'True' />
<variable name= 'dbClusterMemberIP' type= 'ip' description= "Adresse IP" />
<!-- 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>
<variable name= 'dbClusterGcacheSize' type= 'number' mode= 'expert' description= "Write-set Cache Size (gcache.size)" >
<value > 128</value>
</variable>
<!-- End -->
</family>
<separators >
<separator name= 'dbCreateFixAdmin' > Comptes d'administration supplémentaires</separator>
</separators>
</variables>
<constraints >
2019-02-19 10:02:40 +01:00
<check name= "valid_ipnetmask" target= "maskMariaDBLimit" level= "warning" >
<param type= 'eole' > ipMariaDBLimit</param>
</check>
2018-05-17 10:14:01 +02:00
<check name= 'valid_enum' target= 'ifDBCluster' >
<param > ['eth0', 'eth1', 'eth2', 'eth3', 'eth4']</param>
</check>
<group master= 'dbClusterMember' >
<slave > dbClusterMemberIP</slave>
</group>
<check name= 'valid_enum' target= 'accLimits' >
<param > ['Default','Custom']</param>
</check>
<check name= 'valid_enum' target= 'dbClusterPosition' >
<param > ['Leader','Node']</param>
</check>
<group master= 'accName' >
<slave > accLimits</slave>
<slave > accLimitTarget</slave>
</group>
<group master= 'ipMariaDBLimit' >
<slave > maskMariaDBLimit</slave>
<slave > ifMariaDBLimit</slave>
</group>
<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>
<condition name= 'disabled_if_in' source= "dbEnable" >
<param > non</param>
<target type= 'family' > Database</target>
<target type= 'family' > Database Cluster</target>
<target type= 'family' > Database Tunning</target>
<target type= 'service_accesslist' > dbCluster</target>
<target type= 'filelist' > dbTunning</target>
<target type= 'filelist' > dbMariaDB</target>
<target type= 'filelist' > dbCluster</target>
<target type= 'servicelist' > bdd</target>
</condition>
<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>
<condition name= 'disabled_if_in' source= "dbEnableCluster" >
<param > non</param>
<target type= 'family' > Database Cluster</target>
<target type= 'service_accesslist' > dbCluster</target>
<target type= 'filelist' > dbCluster</target>
</condition>
<condition name= 'disabled_if_in' source= "dbCacheQueryEnable" >
<param > non</param>
<target type= 'variable' > dbQueryCacheLimit</target>
<target type= 'variable' > dbQueryCacheMinRestUnit</target>
<target type= 'variable' > dbQueryCacheSize</target>
</condition>
<condition name= 'disabled_if_in' source= "dbEnableSlowQueryLogs" >
<param > non</param>
<target type= 'variable' > dbSlowQueryLogTime</target>
<target type= 'variable' > dbSlowQueryLogFile</target>
</condition>
</constraints>
<help />
2018-04-10 14:21:22 +02:00
</creole>