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' />
2019-03-04 09:54:28 +01:00
2018-05-17 10:14:01 +02:00
<service servicelist= 'bdd' > mariadb</service>
<service_access service= 'mariadb' >
2019-03-04 09:54:28 +01:00
<port protocol= 'tcp' > 3306</port>
<tcpwrapper > mariadb</tcpwrapper>
2018-05-17 10:14:01 +02:00
</service_access>
2019-03-04 09:54:28 +01:00
<service_restriction service= 'mariadb' >
<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_access service= 'galera' >
2019-03-04 09:54:28 +01:00
<port service_accesslist= 'dbCluster' protocol= 'tcp' > 3306</port>
2018-05-17 10:14:01 +02:00
<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>
</service_access>
<service_restriction service= 'galera' >
2019-02-19 16:51:14 +01:00
<ip interface= 'ifDBCluster' interface_type= "SymLinkOption" netmask= '255.255.255.255' ip_type= 'SymLinkOption' > dbClusterMember</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' >
2019-02-19 16:37:00 +01:00
<value > oui</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>
2019-02-19 16:37:00 +01:00
<family name= "MariaDB" icon= 'mysql-alt' >
2018-05-17 10:14:01 +02:00
<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 ',')" />
2020-07-02 19:07:19 +02:00
<variable name= "create_db" type= 'oui/non' description= "Créer des bases de données" >
<value > non</value>
</variable>
</family>
<family name= "MariaDB Databases" >
<variable name= "db_name" type= 'string' description= 'Nom de la base de donnée' multi= "True" />
<variable name= "db_admin_user" type= 'string' description= "Nom de l'utilisateur gestionnaire de la base de données" />
2018-05-17 10:14:01 +02:00
</family>
<!-- Tunning -->
2019-02-19 16:37:00 +01:00
<family name= "MariaDB Tunning" mode= "expert" icon= 'mysql-alt' >
2018-05-17 10:14:01 +02:00
<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>
2019-02-19 16:37:00 +01:00
<family name= "Grappe MariaDB" icon= 'mysql-alt' >
2018-05-17 10:14:01 +02:00
<variable name= 'dbClusterPosition' type= 'string' description= "Rôle dans la grappe" mandatory= 'True' />
<variable name= 'dbClusterName' type= 'string' description= 'Nom de la grappe' >
<value > galera_cluster</value>
</variable>
2019-02-19 17:21:46 +01:00
<variable name= 'ifDBCluster' type= 'string' description= "Interface réseau dédiée à la grappe BDD" mandatory= 'True' />
<variable name= 'dbClusterMember' type= 'domain' description= "Nom de domaine des membres de la grappe" multi= "True" mandatory= 'True' />
2019-03-04 09:54:28 +01:00
<variable name= "dbClusterMemberIndex" description= "Index du serveur dans la liste des membres de la grappe" type= "number" mandatory= "True" />
2019-02-19 16:37:00 +01:00
<!-- Expert Variables -->
2018-05-17 10:14:01 +02:00
<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>
2019-02-19 16:37:00 +01:00
<variable name= 'dbClusterGcacheSizeMb' type= 'number' mode= 'expert' description= "Write-set Cache Size (gcache.size)" >
2018-05-17 10:14:01 +02:00
<value > 128</value>
</variable>
<!-- End -->
</family>
<separators >
<separator name= 'dbCreateFixAdmin' > Comptes d'administration supplémentaires</separator>
2020-07-02 19:07:19 +02:00
<separator name= 'create_db' > Ajouter des bases de données</separator>
2018-05-17 10:14:01 +02:00
</separators>
</variables>
<constraints >
2020-07-02 19:07:19 +02:00
<check name= "valid_ipnetmask" target= "maskMariaDBLimit" level= "warning" >
2019-02-19 10:02:40 +01:00
<param type= 'eole' > ipMariaDBLimit</param>
</check>
2019-02-19 16:51:14 +01:00
<check name= 'valid_enum' target= 'dbBinLogFormat' >
2019-02-19 16:37:00 +01:00
<param > ['ROW', 'STATEMENT', 'MIXED', 'NONE']</param>
</check>
2018-05-17 10:14:01 +02:00
<check name= 'valid_enum' target= 'ifDBCluster' >
<param > ['eth0', 'eth1', 'eth2', 'eth3', 'eth4']</param>
</check>
<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>
2020-07-02 19:07:19 +02:00
<group master= 'db_name' >
<slave > db_admin_user</slave>
</group>
2018-05-17 10:14:01 +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>
<condition name= 'disabled_if_in' source= "dbEnable" >
<param > non</param>
2019-02-19 16:37:00 +01:00
<target type= 'family' > MariaDB</target>
<!-- target type='family'>Grappe MariaDB</target -->
<target type= 'family' > MariaDB Tunning</target>
2018-05-17 10:14:01 +02:00
<target type= 'filelist' > dbTunning</target>
<target type= 'filelist' > dbMariaDB</target>
2019-02-19 16:37:00 +01:00
<!-- target type='filelist'>dbCluster</target -->
2018-05-17 10:14:01 +02:00
<target type= 'servicelist' > bdd</target>
</condition>
2020-07-02 19:07:19 +02:00
<condition name= 'disabled_if_in' source= 'create_db' >
<param > non</param>
<target type= 'family' > MariaDB Databases</target>
</condition>
2018-05-17 10:14:01 +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>
<condition name= 'disabled_if_in' source= "dbEnableCluster" >
<param > non</param>
2019-02-19 16:37:00 +01:00
<target type= 'family' > Grappe MariaDB</target>
2018-05-17 10:14:01 +02:00
<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>