Dalet DBaaS Variables
Here's an exhaustive list of Dalet DBaaS (database-as-a-service) public API variables.
All listed variables are meant to be overridable by platform specifics.
MariaDB Database
Generics
dalet_dbaas_mariadb_enabled
dalet_dbaas_mariadb_enabled
Defines whether MariaDB server must be installed on this particular host.
dalet_dbaas_mariadb_enabled: false
dalet_dbaas_mariadb_application_registry
dalet_dbaas_mariadb_application_registry
Defines container registry where to pull image from.
dalet_dbaas_mariadb_application_registry: registry.services.ooflex.net
dalet_dbaas_mariadb_upgrade_enabled
dalet_dbaas_mariadb_upgrade_enabled
Defines whether MariaDB upgrade-in-place are enabled.
Default is disabled to prevent database server restart and service interruption.
Must be explicitly turned on at runtime to perform upgrade tasks.
dalet_dbaas_mariadb_upgrade_enabled: false
dalet_dbaas_mariadb_group_name
dalet_dbaas_mariadb_group_name
Defines Ansible inventory group name from which MariaDB instance(s) belong(s) to.
dalet_dbaas_mariadb_group_name: dbaas
dalet_dbaas_mariadb_memlimit
dalet_dbaas_mariadb_memlimit
Defines default MariaDB memory. Automatically calculated via dalet_dbaas_mariadb_innodb_buffer_pool_size.
dalet_dbaas_mariadb_memlimit: "{{ ((dalet_dbaas_mariadb_innodb_buffer_pool_size | human_to_bytes * 2) / (1024 * 1024)) | int }}m"
dalet_dbaas_mariadb_port
dalet_dbaas_mariadb_port
Port for MariaDB server endpoint (defaults to standard 3306).
dalet_dbaas_mariadb_port: 3306
dalet_dbaas_mariadb_base_dir
dalet_dbaas_mariadb_base_dir
Defines MariaDB base location (compose and and configuration files will be stored below).
dalet_dbaas_mariadb_base_dir: /opt/mariadb
dalet_dbaas_mariadb_data_dir
dalet_dbaas_mariadb_data_dir
Defines MariaDB work directory for data.
dalet_dbaas_mariadb_data_dir: /var/lib/mysql
dalet_dbaas_mariadb_admin_user
dalet_dbaas_mariadb_admin_user
Username for MariaDB admin account (defaults to root).
dalet_dbaas_mariadb_admin_user: root
dalet_dbaas_mariadb_admin_password
dalet_dbaas_mariadb_admin_password
Password for MariaDB admin account.
SENSITIVE: It is highly recommended for password to be encrypted with Vault/SOPS.
Defaults to a vault-encrypted vault_dalet_dbaas_mariadb_admin_password secret variable, if unspecified.
dalet_dbaas_mariadb_admin_password: ""
dalet_dbaas_mariadb_exporter_user
dalet_dbaas_mariadb_exporter_user
Username for MariaDB metrics exporter account (defaults to mysqldexporter).
dalet_dbaas_mariadb_exporter_user: mysqldexporter
dalet_dbaas_mariadb_exporter_password
dalet_dbaas_mariadb_exporter_password
Password for MariaDB metrics exporter account.
SENSITIVE: It is highly recommended for password to be encrypted with Vault/SOPS.
Defaults to a vault-encrypted vault_dalet_dbaas_mariadb_exporter_password secret variable, if unspecified.
dalet_dbaas_mariadb_exporter_password: ""
dalet_dbaas_mariadb_replication_master
dalet_dbaas_mariadb_replication_master
Optional overrides for replication topology. Useful for mixed deployments (e.g. RDS primary + EC2 replica)
dalet_dbaas_mariadb_replication_master: ""
dalet_dbaas_mariadb_replication_slave
dalet_dbaas_mariadb_replication_slave
Optional overrides for replication topology. Useful for mixed deployments (e.g. RDS primary + EC2 replica)
dalet_dbaas_mariadb_replication_slave: ""
dalet_dbaas_mariadb_replication_user
dalet_dbaas_mariadb_replication_user
Username for MariaDB replication account (defaults to 'repl).
dalet_dbaas_mariadb_replication_user: repl
dalet_dbaas_mariadb_replication_password
dalet_dbaas_mariadb_replication_password
Password for MariaDB replication account.
SENSITIVE: It is highly recommended for password to be encrypted with Vault/SOPS.
Defaults to a vault-encrypted vault_dalet_dbaas_mariadb_replication_password secret variable, if unspecified.
dalet_dbaas_mariadb_replication_password: ""
dalet_dbaas_mariadb_replication_mode
dalet_dbaas_mariadb_replication_mode
Defines MariaDB replication mode between cluster instances.
Accepted values:
- none: Default. Instance is standalone and not meant to be replicated
- master_slave: A secondary instance will keep active synchronization with elected primary.
Failover remains manual operation.
- master_master: Each MariaDB instance will be keep active synchronization with the other peer.
Requires a Virtual IP (VIP) to be associated with cluster so clients will only connect to one single instance.
Failover is automatic.
dalet_dbaas_mariadb_replication_mode: none
dalet_dbaas_mariadb_replication_source
dalet_dbaas_mariadb_replication_source
Defines how MariaDB replication should be handled between peers.
Supported options are:
- binlog: Uses legacy binary logs positionning for replication replay.
- gtid: Default. Uses global transaction identifiers for replication replay.
NOTE: This option is only required in master/slave mode. Master/Master replication enforces GTID usage.
dalet_dbaas_mariadb_replication_source: gtid
dalet_dbaas_mariadb_replication_reset
dalet_dbaas_mariadb_replication_reset
Defines whether MariaDB replication must be momentarily turned off.
Default is disabled to keep previously setup replication active.
Must be explicitly turned on at runtime to perform replication configuration reset.
dalet_dbaas_mariadb_replication_reset: false
Fine Tuning Parameters
These parameters allow for more fine-tuning of MariaDB engine, allowing for memory/performance/workload optimizations.
dalet_dbaas_mariadb_compatiblity_emulation
dalet_dbaas_mariadb_compatiblity_emulation
Defines some legacy compatilibty emulation mode to support old behavior of MariaDB versions.
Refer to to MariaDB knowledge base for supported emulation modes.
dalet_dbaas_mariadb_compatiblity_emulation: ""
dalet_dbaas_mariadb_name_resolution_enabled
dalet_dbaas_mariadb_name_resolution_enabled
Defines whether hostnames should be resolved (defaults: true).
If disabled, all host values in GRANT tables must be IP addresses (or localhost).
dalet_dbaas_mariadb_name_resolution_enabled: true
dalet_dbaas_mariadb_character_set
dalet_dbaas_mariadb_character_set
Defines MariaDB character set encoding (defaults to utf8).
dalet_dbaas_mariadb_character_set: utf8
dalet_dbaas_mariadb_innodb_buffer_pool_size
dalet_dbaas_mariadb_innodb_buffer_pool_size
Defines MariaDB's InnoDB buffer pool size in bytes.
Range from 1 GB to 8192 PB.
dalet_dbaas_mariadb_innodb_buffer_pool_size: 8192M
dalet_dbaas_mariadb_replication_binlog_file_size
dalet_dbaas_mariadb_replication_binlog_file_size
Defines the size in bytes of each InnoDB redo log file in the log group.
Larger values mean less disk I/O due to less flushing checkpoint activity, but also slower recovery from a crash.
It can safely be set higher to reduce checkpoint flushing, even larger than dalet_dbaas_mariadb_innodb_buffer_pool_size parameter.
Range from 1 MB to 512 GB.
dalet_dbaas_mariadb_replication_binlog_file_size: 2048M
dalet_dbaas_mariadb_replication_binlog_expiration_days
dalet_dbaas_mariadb_replication_binlog_expiration_days
Defines replication binary logs replication expiration period, in days (defaults: 10).
This defines the maximum out-of-sync delay between master and slave instances.
After this timeframe, a slave requires a full synchronization (vs. incremental).
dalet_dbaas_mariadb_replication_binlog_expiration_days: 10
dalet_dbaas_mariadb_replication_skipped_errors
dalet_dbaas_mariadb_replication_skipped_errors
Optional, defines some specific MariaDB replication errors that can be bypassed (e.g. 1032, 1062)
Master -> Slave replication mechanism will resume.
NOTE: See list of error codes.
WARNING: While this allows increase replication capability, some transactions might be lost.
dalet_dbaas_mariadb_replication_skipped_errors: []
dalet_dbaas_mariadb_limits_max_connections
dalet_dbaas_mariadb_limits_max_connections
Defines the maximum number of allowed client connections.
Each connection thread from the pool consumes about 200 KB of memory.
Defaults to 800.
dalet_dbaas_mariadb_limits_max_connections: 800
dalet_dbaas_mariadb_limits_max_packet_size
dalet_dbaas_mariadb_limits_max_packet_size
Defines the maximum size of client/server packet message buffers.
Range from 1 KB to 1 GB, defaults to 16 MB.
dalet_dbaas_mariadb_limits_max_packet_size: 16M
dalet_dbaas_mariadb_limits_max_prepared_statements
dalet_dbaas_mariadb_limits_max_prepared_statements
Defines the maximum number of prepared statements on the server.
Can help prevent certain forms of denial-of-service attacks.
If set to 0, no prepared statements are permitted on the server.
Range from 0 to 4294967295.
dalet_dbaas_mariadb_limits_max_prepared_statements: 125000