211 lines
9.0 KiB
XML
211 lines
9.0 KiB
XML
<creole>
|
|
<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>
|
|
<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'>
|
|
<ip interface='ifDBCluster' interface_type="SymLinkOption" netmask='255.255.255.255' ip_type='SymLinkOption'>dbClusterMemberIP</ip>
|
|
</service_restriction>
|
|
</files>
|
|
<variables>
|
|
<family name="Services">
|
|
<variable name="dbEnable" type='oui/non' description='Activer le serveur de base de données MariaDB'>
|
|
<value>non</value>
|
|
</variable>
|
|
</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>
|
|
<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>
|
|
</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>
|
|
<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 Cluster</target>
|
|
<target type='family'>Database</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>
|
|
|
|
<condition name='disabled_if_in' source="dbClusterPosition">
|
|
<param>Node</param>
|
|
<target type='variable'>dbCreateFixAdmin</target>
|
|
<target type='variable'>accName</target>
|
|
<target type='variable'>accLimits</target>
|
|
<target type='variable'>accLimitTarget</target>
|
|
</condition>
|
|
</constraints>
|
|
<help/>
|
|
</creole>
|