summaryrefslogtreecommitdiff
path: root/manifests/default_database.pp
diff options
context:
space:
mode:
Diffstat (limited to 'manifests/default_database.pp')
-rw-r--r--manifests/default_database.pp78
1 files changed, 41 insertions, 37 deletions
diff --git a/manifests/default_database.pp b/manifests/default_database.pp
index 1c99af5..7465eaf 100644
--- a/manifests/default_database.pp
+++ b/manifests/default_database.pp
@@ -1,45 +1,49 @@
# create default database
-# generate hashed password with:
-# ruby -r'digest/sha1' -e 'puts "*" + Digest::SHA1.hexdigest(Digest::SHA1.digest(ARGV[0])).upcase' PASSWORD
define mysql::default_database(
- $username = 'absent',
- $password,
- $password_is_encrypted = true,
- $privileges = 'all',
- $host = '127.0.0.1',
- $ensure = 'present'
+ $username = 'absent',
+ $password = 'absent',
+ $password_is_encrypted = true,
+ $privileges = 'all',
+ $host = '127.0.0.1',
+ $ensure = 'present'
) {
- $real_username = $username ? {
- 'absent' => $name,
- default => $username
+ $real_username = $username ? {
+ 'absent' => $name,
+ default => $username
+ }
+ mysql_database{"$name":
+ ensure => $ensure
+ }
+ if $password == 'absent' and $ensure != 'absent' {
+ info("we don't create the user for database: ${name}")
+ $grant_require = Mysql_database["$name"]
+ } else {
+ mysql_user{"${real_username}@${host}":
+ ensure => $ensure,
+ require => [
+ Mysql_database["$name"]
+ ],
}
- mysql_database{"$name":
- ensure => $ensure
- }
- case $password {
- 'absent': {
- info("we don't create the user for database: ${name}")
- $grant_require = Mysql_database["$name"]
- }
- default: {
- mysql_user{"${real_username}@${host}":
- password_hash => $password_is_encrypted ? {
- true => "$password",
- default => mysql_password("$password")
- },
- ensure => $ensure,
- require => [
- Mysql_database["$name"]
- ],
- }
- $grant_require = [
- Mysql_database["$name"],
- Mysql_user["${real_username}@${host}"]
- ]
- }
+ $grant_require = [
+ Mysql_database["$name"],
+ Mysql_user["${real_username}@${host}"]
+ ]
+ if $ensure == 'present' {
+ Mysql_user["${real_username}@${host}"]{
+ password_hash => $password ? {
+ 'trocla' => trocla("mysql_${real_username}",'mysql'),
+ default => $password_is_encrypted ? {
+ true => "$password",
+ default => mysql_password("$password")
+ },
+ },
+ }
}
+ }
+ if $ensure == 'present' {
mysql_grant{"${real_username}@${host}/${name}":
- privileges => "$privileges",
- require => $grant_require,
+ privileges => "$privileges",
+ require => $grant_require,
}
+ }
}