claranet.mariadb
Rol de Ansible - mariadb
:star: ¡Danos una estrella en GitHub — nos motiva mucho!
Instala y configura el servidor MariaDB en sistemas Debian y RedHat.
:warning: Requisitos
Ansible >= 2.10
:arrows_counterclockwise: Dependencias
- community.mysql.mysql_db
- community.mysql.mysql_user
- community.mysql.mysql_replication
:zap: Instalación
ansible-galaxy install claranet.mariadb
Versión de MariaDB a instalar
por defecto es 10.11
mariadb_version: '10.11'
Características y etiquetas disponibles
Este rol soporta las siguientes características y etiquetas en el siguiente orden durante la ejecución:
Característica | Etiqueta |
---|---|
Instalación | install |
Cifrado en reposo | encryption |
Configuración | configure |
Instalación segura | secure-installation |
Gestión de usuarios | users |
Replicación | replication |
Gestión de bases de datos | databases |
Respaldo | backup |
Uso de proxies
Este rol soporta el uso de proxies.
Las variables mariadb_http_general_proxy
y mariadb_https_general_proxy
pueden usarse para especificar un proxy para el acceso general a Internet (como la descarga de archivos).
Las variables mariadb_http_pkg_proxy
y mariadb_https_pkg_proxy
pueden usarse para especificar un proxy para la interacción del gestor de paquetes (como la descarga de paquetes o la actualización de la caché).
Nota: Estas variables se traducen en las variables de entorno http_proxy y https_proxy que se pasan a las tareas correspondientes.
Crear/Eliminar usuarios de bases de datos
Este valor controla en qué host los usuarios sin claves de host ni hosts están especificados. por defecto es localhost
mariadb_users_default_host: localhost
¡Se requieren contraseñas!
mariadb_users_default_host: localhost
mariadb_users:
- name: 'user1' # ninguna clave de host o hosts especificada, así que user1 será creado con el valor de la variable mariadb_users_default_host
password: '*******'
priv: '*.*:USAGE'
home: /home/example # Supone que este directorio ya existe en el servidor remoto
copy_cnf: true
state: present
- name: 'user1' # se especificó la clave de host, así que user2 se creará con el valor especificado
password: '*******'
priv: '*.*:USAGE'
host: 127.0.0.1
- name: 'user3' # se especificaron claves de hosts, así que user3 se creará con todos los valores
state: absent
hosts:
- ::1
- 127.0.0.1
- localhost:
- 10.10.10.3
- name: 'old'
state: absent
host: localhost
Al manejar la replicación, el rol solo configura usuarios en el servidor principal y se espera que la replicación lleve la configuración de los usuarios a los nodos replicados.
Establecer privilegios de usuario en bases de datos y tablas
Define los privilegios de usuario según el siguiente formato:
db.table:priv1,priv2
Solución idempotente para múltiples privilegios (@ver http://stackoverflow.com/a/22959760)
mariadb_privileges:
- db1.*:ALL,GRANT
- db2.*:USAGE
mariadb_users:
- name: 'user1'
password: 'travis'
priv: "{{ mariadb_privileges|join('/') }}"
Crear/Eliminar bases de datos
Todas las bases de datos deben definirse en mariadb_databases
:
mariadb_databases:
- name: 'testdb'
collation: utf8_general_ci
encoding: utf8
state: present
- name: 'olddb'
state: absent
Excluir bases de datos de la replicación
Al gestionar la replicación, se recomienda excluir selectivamente bases de datos de la replicación configurando replicate: false
para la entrada correspondiente en mariadb_databases
.
Restringir la replicación a ciertas bases de datos
Puedes hacerlo configurando replicate: true
en las entradas correspondientes, pero esto significa que la replicación se centrará únicamente en los cambios en esas bases de datos específicas. Por lo tanto, ciertas características esenciales como la replicación de usuarios (mysql.user) pueden no funcionar.
Replicación Master/Slave
Ejemplo de configuración para master:
---
- hosts: mariadb01
become: true
become_method: sudo
vars:
mariadb_server_id: 1
mariadb_replication_role: 'primary'
mariadb_replication_username: 'replicationuser'
mariadb_replication_password: 'myPassword'
mariadb_admin_user: "admin"
mariadb_admin_password: "myAdminPassword"
roles:
- role: claranet.mariadb
tags: ["install,secure-installation,configure,replication"]
Ejemplo de configuración para slave:
---
- hosts: mariadb02
become: true
become_method: sudo
vars:
mariadb_server_id: 2
mariadb_replication_role: 'replica'
mariadb_replication_primary: 'mariadb01' # un nombre que el esclavo puede usar para conectarse al servidor maestro
mariadb_replication_username: 'replicationuser'
mariadb_replication_password: 'myPassword'
mariadb_admin_user: "admin"
mariadb_admin_password: "myAdminPassword"
roles:
- role: claranet.mariadb
tags: ["install,secure-installation,configure,replication"]
Notas
Si por alguna razón el nombre de host utilizado por el nodo controlador de ansible para comunicarse con el nodo maestro de replicación es diferente del valor proporcionado en mariadb_replication_primary
, puedes establecer la variable mariadb_replication_primary_inventory_host
a ese valor.
Cifrado en reposo
Habilitar Cifrado de Datos en Reposo.
Estas tareas usan Plugin de Cifrado de Gestión de Claves de Archivo para habilitar el cifrado de datos en reposo de MariaDB.
El siguiente ejemplo configurará automáticamente 5 claves de cifrado con una contraseña de cifrado generada aleatoriamente almacenada en un archivo nombrado con la variable mariadb_file_key_management_filekey
.
---
- hosts: mariadb02
become: true
become_method: sudo
vars:
mariadb_data_at_rest_encryption: true
mariadb_encryption_keygen_auto: true
mariadb_encryption_keygen_count: 5
mariadb_innodb_encrypt_tables: 'ON'
mariadb_innodb_encrypt_temporary_tables: 'ON'
mariadb_innodb_encrypt_log: 'ON'
mariadb_encrypt_binlog: 'ON'
mariadb_aria_encrypt_tables: 'ON'
mariadb_encrypt_tmp_disk_tables: 1
mariadb_encrypt_tmp_files: 1
mariadb_admin_password: root
roles:
- role: claranet.mariadb
tags: ["install,secure-installation,configure,encryption"]
En el siguiente ejemplo, las claves se llenan directamente en el libro de jugadas, pero también se puede usar Ansible Vault para recuperar las claves de cifrado siempre que cada clave resultante quepa en una sola línea; todo debería estar bien.
---
- hosts: mariadb02
become: true
become_method: sudo
vars:
mariadb_data_at_rest_encryption: true
mariadb_encryption_keygen_auto: false
mariadb_innodb_encrypt_tables: 'ON'
mariadb_innodb_encrypt_temporary_tables: 'ON'
mariadb_innodb_encrypt_log: 'ON'
mariadb_encrypt_binlog: 'ON'
mariadb_aria_encrypt_tables: 'ON'
mariadb_encrypt_tmp_disk_tables: 1
mariadb_encrypt_tmp_files: 1
mariadb_encryption_keys:
1: "b326176e96aef8fa324c130835b1496031cf7838f4a17c70046997996103f651"
2: "3c32960d4194cb2b4850144880d209e500b85bd73d7935ad9734cad6dc7a8948"
3: "6f8642ee71fca20f3ffc9819f64e2424786ede63eb9bea4b56f4db1473d150ad"
mariadb_encryption_password: "913b847d83a8049a09f53b89bdde1465086c8b4c970a09cb91d75b2db1384e42ccc872ae996bf7cbe8f8f9ecea74795607471591565c1215a064c5c2e7fa698a9f80df668a3436587dfa8edc7a74254eee37a131de31fd0279ff5cd945655b7662d1523673c37d19546c27c83776ad3c87416a472e4c1c79fffa0c2dce462af1"
mariadb_innodb_default_encryption_key_id: 10
mariadb_admin_password: root
roles:
- role: claranet.mariadb
tags: ["install,secure-installation,configure,encryption"]
Notas :
- El cifrado de datos en reposo de MariaDB necesita "mariadb_overwrite_global_mycnf: true", que es el valor por defecto.
- El cifrado de datos en reposo de MariaDB debe configurarse antes de cifrar cualquier tabla.
- El cifrado de datos en reposo de MariaDB es una opción de tabla establecida al momento de su creación.
- El cifrado de datos en reposo de MariaDB es compatible con la replicación.
Si deseas crear manualmente las claves de cifrado y la contraseña utilizada para cifrado, puedes ejecutar los siguientes comandos:
$ openssl rand -hex 32 # para cada clave de cifrado
$ openssl rand -hex 128 # para la contraseña de cifrado
Instalación personalizada avanzada
Hay una variable mariadb_repo_template_path
que contiene la ruta a un archivo de plantilla utilizado para generar el archivo de repositorio en el servidor. El archivo de repositorio generado contiene los espejos, la versión de MariaDB y dicta la instalación.
Por lo tanto, si esta variable se sobrescribe mariadb_repo_template_path: path/relative/to/playbook/custom_repofile
con un archivo personalizado, tendrás completo control sobre qué versión y desde dónde se instalará MariaDB.
Ubicación de configuración principal y extra
Por defecto, este rol genera el archivo de configuración de MySQL y lo guarda en un archivo llamado 99-ansible-role-mariadb-my.cnf
. Este archivo se coloca dentro de uno de los directorios de configuración extra incluidos en el archivo my.cnf
por defecto. La ruta específica de este archivo de configuración está determinada por la variable mariadb_config_file
.
Recomendamos mantener el valor por defecto para mariadb_config_file
, ya que asegura que la configuración de este rol persista durante las actualizaciones del sistema, que pueden restablecer el valor por defecto de my.cnf
. Usar un archivo diferente para la configuración asegura que los cambios realizados por este rol se preservarán a través de las actualizaciones.
En sistemas Debian, el archivo de configuración principal (valor de mariadb_config_file
) se guarda en /etc/mysql/mariadb.conf.d/99-ansible-role-mariadb-my.cnf
, mientras que en sistemas RedHat se encuentra en /etc/my.cnf.d/99-ansible-role-mariadb-my.cnf
.
Si cambias el valor de mariadb_config_file
a la ruta por defecto de my.cnf
, los directorios de configuración extra por defecto no se incluirán. Puedes cambiar esa configuración estableciendo la variable mariadb_config_include_default_dirs
a true
. Ten mucho cuidado al hacer esto, ya que algunos archivos cnf pueden ya estar presentes en esos directorios por defecto y incluirlos podría alterar la configuración final de formas impredecibles.
Si deseas agregar alguna configuración personalizada, puedes hacerlo estableciendo la variable mariadb_config_include_dir
a un directorio que contendrá todos tus archivos de configuración extra. Completa la variable mariadb_config_include_files
con los archivos de configuración reales según la documentación.
Asegúrate de que tus archivos de configuración extra tengan la mayor prioridad para evitar que sean sobrescritos, especialmente cuando el directorio elegido no esté vacío.
:pencil2: Ejemplo completo de playbook
---
- hosts: all
roles:
- role: claranet.mariadb
tags: [always,install,encryption,configure,secure-installation,replication,databases,users,backup]
vars:
mariadb_debug: true
mariadb_version: "10.11"
mariadb_admin_password: root
mariadb_replication_role: master
mariadb_replication_username: replic
mariadb_replication_password: replic
# Direcciones IP de los dos réplicas que se conectarán a este servidor principal
# Si deseas usar nombres DNS para los hosts, recuerda establecer mariadb_skip_name_resolve a false
mariadb_replication_hosts: ["172.17.0.1", "172.17.0.2", "localhost"]
mariadb_databases:
- name: db1
- name: db2
replicate: true
- name: db3 # Solo db3 no se replicará
replicate: false
encoding: utf8
collation: utf8_general_ci
state: present
mariadb_users_default_host: localhost
mariadb_users:
- name: user1
password: strong password1
- name: user2
password: strong password2
hosts:
- ::1
- 127.0.0.1
- 172.17.0.1
- name: user3
password: strong password3
host: '%'
mariadb_data_at_rest_encryption: true
mariadb_encryption_keygen_auto: false
mariadb_innodb_encrypt_tables: 'ON'
mariadb_innodb_encrypt_temporary_tables: 'ON'
mariadb_innodb_encrypt_log: 'ON'
mariadb_encrypt_binlog: 'ON'
mariadb_aria_encrypt_tables: 'ON'
mariadb_encrypt_tmp_disk_tables: 1
mariadb_encrypt_tmp_files: 1
mariadb_encryption_keys:
1: "b326176e96aef8fa324c130835b1496031cf7838f4a17c70046997996103f651"
2: "3c32960d4194cb2b4850144880d209e500b85bd73d7935ad9734cad6dc7a8948"
3: "6f8642ee71fca20f3ffc9819f64e2424786ede63eb9bea4b56f4db1473d150ad"
mariadb_encryption_password: "913b847d83a8049a09f53b89bdde1465086c8b4c970a09cb91d75b2db1384e42ccc872ae996bf7cbe8f8f9ecea74795607471591565c1215a064c5c2e7fa698a9f80df668a3436587dfa8edc7a74254eee37a131de31fd0279ff5cd945655b7662d1523673c37d19546c27c83776ad3c87416a472e4c1c79fffa0c2dce462af1"
mariadb_innodb_default_encryption_key_id: 10
mariadb_backup_mail_addr: [email protected]
mariadb_backup_keep_count: 3
mariadb_backup_schedule:
hour: 3
minute: 0
mariadb_systemd_override_dir: /etc/systemd/system/mariadb.service.d
mariadb_systemd_override:
- filename: 10-limitcore.conf
section: Service
options:
LimitNOFILE: 100000
LimitMEMLOCK: 100000
Versiones de Linux/MariaDB soportadas
Linux/MariaDB | 10.3 | 10.4 | 10.5 | 10.6 | 10.11 |
---|---|---|---|---|---|
Debian 10 | Sí | Sí | Sí | Sí | Sí |
Debian 11 | No | No | Sí | Sí | Sí |
Debian 12 | No | No | No | No | Sí |
Ubuntu 20.04,18.04 | Sí | Sí | Sí | Sí | Sí |
Ubuntu 22.04 | No | No | No | Sí | Sí |
CentOS 8 | Sí | Sí | Sí | Sí | Sí |
Fedora 37 | No | No | No | Sí | Sí |
:gear: Variables del rol
Nombre de la variable | Valor por defecto | Notas |
---|---|---|
mariadb_version | "10.11" | |
mariadb_debug | false | Controla si se deben mostrar o no las informaciones de depuración. Activar esto puede mostrar credenciales de mariadb |
mariadb_mirror_base_url | null | La url base utilizada junto con el tipo de distribución, versión de mariadb durante la generación del archivo de configuración del repositorio. Dependiente del SO |
mariadb_repo_template_path | null | Archivo de plantilla del repositorio que se utiliza en el servidor antes de instalar. Dependiente del SO. Este archivo controla completamente qué versión de mariadb se instala. Por tanto, sobrescribir este archivo de plantilla con uno personalizado eludirá las variables mariadb_version y mariadb_mirror_base_url |
mariadb_manage_pip_dependencies | true | Determina si se deben ejecutar tareas relacionadas con pip (puede ser útil para los usuarios que quieren instalar bibliotecas de driver mysql por otros medios) |
mariadb_packages_extra | [] | Paquetes adicionales para instalar junto con mariadb |
mariadb_http_general_proxy | null | Proxy HTTP a usar para el acceso general a Internet en el servidor MariaDB |
mariadb_https_general_proxy | null | Proxy HTTPS a usar para el acceso general a Internet en el servidor MariaDB |
mariadb_http_pkg_proxy | null | Proxy HTTP a usar para la interacción del gestor de paquetes (como la descarga de paquetes, actualización de caché, etc.) en el servidor MariaDB |
mariadb_https_pkg_proxy | null | Proxy HTTPS a usar para la interacción del gestor de paquetes (como la descarga de paquetes, actualización de caché, etc.) en el servidor MariaDB |
mariadb_admin_home | '/root' | El directorio de inicio en Linux del usuario administrador de mariadb |
mariadb_admin_user | 'root' | Nombre del usuario administrador dentro del sistema de gestión de bases de datos mariadb |
mariadb_admin_password | '' | Contraseña del usuario administrador de mariadb |
mariadb_admin_force_password_update | true | ¿Actualizar la contraseña del administrador? |
mariadb_overwrite_global_mycnf | true | Sobrescribe el archivo de configuración principal my.cnf de MariaDB en cada ejecución de ansible |
mariadb_config_include_dir | null | Ruta del directorio para configuración adicional de mariadb en tu sistema. Dependiente del OS, por defecto en sistemas Debian es /etc/mysql/mariadb.conf.d y en RedHat es /etc/my.cnf.d |
mariadb_config_include_files | [] | Lista de archivos de configuración adicionales para copiar al servidor. Cada elemento tiene el formato { src: path/relative/to/playbook/file.cnf, force: true } |
mariadb_config_include_default_dirs | false | Controla si se deben incluir o no los directorios de configuración extra por defecto en el mariadb_config_file que apunta a la ruta por defecto de my.cnf |
mariadb_enabled_on_startup | true | ¿Habilitar el servicio mariadb al inicio? |
mariadb_users_default_host | localhost | El host predeterminado asignado a nuevos usuarios si no se define ningún host |
mariadb_users | [] | Lista utilizada para gestionar usuarios en el servidor mariadb |
mariadb_databases | [] | Lista utilizada para gestionar bases de datos en el servidor mariadb |
mariadb_error_log_enabled | true | |
mariadb_slow_query_log_enabled | true | |
mariadb_replication_role | '' | primary/replica master/slave |
mariadb_replication_primary | '' | Nombre del maestro utilizado para configurar los servidores réplicas |
mariadb_replication_primary_inventory_host | "{{ mariadb_replication_primary }}" | Un nombre que el controlador ansible puede usar para conectarse al servidor maestro |
mariadb_replication_primary_socket | "{{ _mariadb_socket }}" | El socket del servicio mariadb en el servidor primario |
mariadb_replication_username | 'replic' | Nombre de usuario del usuario de replicación que se creará en el servidor primario |
mariadb_replication_password | '' | Contraseña del usuario de replicación |
mariadb_replication_priv | '.:REPLICATION SLAVE' | Privilegios del usuario de replicación |
mariadb_replication_hosts | ['%'] | Lista de hosts con los que crear el usuario de replicación. Esto puede ser usado para restringir el acceso del usuario a sólo las direcciones de los servidores réplicas |
mariadb_data_at_rest_encryption | false | |
mariadb_encryption_keygen_auto | true | Cuando es verdadero, las claves de cifrado de mariadb_encryption_keys y mariadb_encryption_password se generan automáticamente |
mariadb_encryption_keygen_count | 3 | El número de claves de cifrado a generar si mariadb_encryption_keygen_auto es verdadero |
mariadb_encryption_keys | "" | Versión diccionaria de las claves de cifrado |
mariadb_encryption_password | '' | Contraseña utilizada para cifrar las claves de cifrado |
mariadb_key_management_plugin | file_key_management | Esta variable se traduce a un valor plugin_load_add= en el archivo de configuración my.cnf para cargar el plugin de cifrado |
mariadb_file_key_management_override | false | Controla si se deben sobrescribir las claves y contraseñas cifradas o solo crear si los correspondientes dos archivos no existen aún |
mariadb_file_key_management_dir | /etc/mysql/encryption | Directorio que contiene archivos relacionados con el cifrado |
mariadb_systemd_override_dir | /etc/systemd/system/mariadb.service.d | Variables de anulación del servicio Mariadb |
mariadb_systemd_override | Las opciones por entrada se traducen a un archivo con el nombre correspondiente en la carpeta mariadb_systemd_override_dir en formato ini y bajo una sección con el nombre dado. Consulta ejemplos en este readme para el formato esperado | |
mariadb_backup | true | Si se deben ejecutar tareas de respaldo (no se eliminará el respaldo si ya está planificado) |
mariadb_backup_root_dir | /backups | Directorio raíz que contiene los respaldos |
mariadb_backup_dbnames | "all" | Bases de datos a respaldar o "all" para respaldar todas las bases de datos |
mariadb_backup_dbexclude | "information_schema performance_schema" | Bases de datos que no se respaldarán. Puedes añadir más bases de datos aquí. Ten cuidado de no eliminar las originales en la lista, de lo contrario podría ocurrir errores durante la ejecución del respaldo |
mariadb_backup_cron_job_name | Gestión de respaldos de MariaDB | El nombre del trabajo cron creado para ejecutar el trabajo de respaldo de forma recurrente |
mariadb_backup_schedule | {minute: 0, hour: 0} | |
mariadb_backup_keep_count | 8 | Edad máxima en días que se mantienen los respaldos antes de ser eliminados |
mariadb_backup_mail_addr | admin@email.com | Una dirección de correo electrónico que será notificada después de cada ejecución de respaldo |
Invítame a un café en ko-fi.com
Variables de configuración de MySQL
Las siguientes variables están definidas y corresponden a sus respectivas variables de configuración de mysql utilizadas en el archivo my.cnf
sin el prefijo mariadb_
.
Nombre de la variable | Valor por defecto | Notas |
---|---|---|
mariadb_port | "3306" | |
mariadb_bind_address | '0.0.0.0' | |
mariadb_datadir | "/var/lib/mysql" | |
mariadb_pid_file | null | El valor por defecto depende del SO. en debian es= '/var/run/mysqld/mysqld.pid', en redhat es '/var/lib/mysql/mariadb.pid' |
mariadb_socket | null | El valor por defecto depende del SO. en debian es= '/var/run/mysqld/mysqld.sock', en redhat es '/var/lib/mysql/mysql.sock' |
mariadb_key_buffer_size | "256M" | |
mariadb_max_allowed_packet | "128M" | |
mariadb_table_open_cache | "256" | |
mariadb_sort_buffer_size | "1M" | |
mariadb_read_buffer_size | "1M" | |
mariadb_read_rnd_buffer_size | "4M" | |
mariadb_myisam_sort_buffer_size | "64M" | |
mariadb_table_cache | 2000 | |
mariadb_thread_cache_size | "8" | |
mariadb_query_cache_size | "16M" | |
mariadb_max_connections | 151 | |
mariadb_tmp_table_size | '64M' | |
mariadb_max_heap_table_size | '64M' | |
mariadb_join_buffer_size | '3M' | |
mariadb_innodb_file_per_table | "1" | |
mariadb_innodb_buffer_pool_size | "256M" | |
mariadb_innodb_log_file_size | "64M" | |
mariadb_innodb_log_buffer_size | "8M" | |
mariadb_innodb_flush_log_at_trx_commit | "2" | |
mariadb_innodb_lock_wait_timeout | 600 | |
mariadb_innodb_additional_mem_pool_size | "8M" | |
mariadb_mysqldump_max_allowed_packet | "64M" | Corresponde al atributo max_allowed_packet bajo la sección mysqldump en el archivo de configuración |
mariadb_log | "" | |
mariadb_log_error | "/var/log/mariadb/mysql.err" | |
mariadb_syslog_tag | null | El valor por defecto depende del SO. en debian es= 'mysql', en redhat es 'mariadb' |
mariadb_slow_query_log_file | "/var/log/mariadb/mysql-slow.log" | |
mariadb_slow_query_time | 2 | |
mariadb_server_id | "1" | |
mariadb_max_binlog_size | "100M" | |
mariadb_expire_logs_days | "10" | |
mariadb_innodb_encrypt_tables | 'OFF' | |
mariadb_innodb_encrypt_temporary_tables | 'OFF' | |
mariadb_innodb_encrypt_log | 'OFF' | |
mariadb_innodb_encryption_threads | 4 | |
mariadb_innodb_encryption_rotate_key_age | 0 | |
mariadb_innodb_default_encryption_key_id | 1 | |
mariadb_encrypt_tmp_disk_tables | 0 | |
mariadb_encrypt_tmp_files | 0 | |
mariadb_encrypt_binlog | 'OFF' | |
mariadb_aria_encrypt_tables | 'OFF' | |
mariadb_file_key_management_filekey | password_file | Esta variable, al ser traducida dentro del archivo de configuración, se le antepone {{ mariadb_file_key_management_dir }}/ |
mariadb_file_key_management_filename | keys.enc | Esta variable, al ser traducida dentro del archivo de configuración, se le antepone {{ mariadb_file_key_management_dir }}/ |
mariadb_file_key_management_encryption_algorithm | 'AES_CBC' | |
mariadb_wait_timeout | 1800 | |
mariadb_net_read_timeout | 120 | |
mariadb_skip_name_resolve | true | |
mariadb_back_log | 100 | |
mariadb_max_connect_errors | 10000 | |
mariadb_open_files_limit | 20000 | |
mariadb_interactive_timeout | 3600 | |
mariadb_connect_timeout | 120 |
:closed_lock_with_key: Endurecimiento
:heart_eyes_cat: Contribuyendo
Consulta la Contribuyendo si estás buscando una guía sobre cómo configurar un entorno para poder probar este rol como desarrollador.
:copyright: Licencia
Mozilla Public License Version 2.0
Información del autor
Hecho con orgullo por el equipo de Claranet e inspirado por:
ansible-galaxy install claranet.mariadb