-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Labels
Description
Parent Epic
Part of #232 - Percona Server Puppet Integration
Migrated from infrahouse/terraform-aws-percona-server#31
Description
Puppet manifests for complete Percona Server configuration management.
Responsibilities
- Install Percona Server packages
- Configure my.cnf with GTID settings
- Create replication user
- Create backup user (XtraBackup)
- Create monitoring user
- Bootstrap master or configure replica
Main Manifest Structure
class percona::server {
include percona::repo
include percona::install
include percona::config
include percona::users
include percona::bootstrap
include percona::target_group_registration
}Configuration Template (my.cnf)
file { '/etc/mysql/percona-server.conf.d/cluster.cnf':
ensure => file,
content => template('percona/cluster.cnf.erb'),
notify => Service['mysql'],
}Key Configuration Items
server-id: Unique per instance (derived from IP or instance ID)gtid_mode: ONenforce_gtid_consistency: ONlog_bin: mysql-binbinlog_format: ROWlog_slave_updates: ON
User Creation
mysql_user { 'repl@%':
password_hash => mysql_password($repl_password),
}
mysql_grant { 'repl@%/*.*':
privileges => ['REPLICATION SLAVE'],
table => '*.*',
}Acceptance Criteria
- Percona Server installed correctly
- my.cnf configured with GTID
- All required users created
- Service running and healthy
- Configuration idempotent