define mysqldb_user( $user, $password ) { exec { "${name}": unless => "mysql -u${user} -p${password}", command => "/usr/bin/mysql -uroot -e \"CREATE USER '${user}'@'%' IDENTIFIED BY '${password}'; grant all privileges on *.* to '${user}'@'%';\"", require => Service["mysqld"], path => '/usr/bin', } } class phabricator::mysql( String $user, String $password ) { class { '::mysql::server': package_name => 'mariadb-server', remove_default_accounts => true, restart => true, override_options => { 'mysqld'=> { 'bind-address' => '127.0.0.1', 'max_allowed_packet' => '33554432', 'sql_mode' => 'STRICT_ALL_TABLES', 'innodb_buffer_pool_size' => '1600M', 'local_infile' => '0', } } } service{'mariadb': ensure => running, } mysqldb_user{'mysql-phabricator-user': user => $user, password => $password } }