Skip to content

Percona Server Puppet configuration management #236

@akuzminsky

Description

@akuzminsky

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

  1. Install Percona Server packages
  2. Configure my.cnf with GTID settings
  3. Create replication user
  4. Create backup user (XtraBackup)
  5. Create monitoring user
  6. 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: ON
  • enforce_gtid_consistency: ON
  • log_bin: mysql-bin
  • binlog_format: ROW
  • log_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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions