kickstack/manifests/endpoint.pp
2013-07-10 21:11:18 +02:00

30 lines
974 B
Puppet

define kickstack::endpoint {
include pwgen
$servicename = $name
$factname = "${servicename}_keystone_password"
$classname = "${servicename}::keystone::auth"
# Grab the service's keystone user password from a kickstack fact and configure
# Keystone accordingly. If no fact has been set, generate a password.
$service_password = pick(getvar("${::kickstack::fact_prefix}${factname}"),pwgen())
# Installs the service user endpoint.
class { "${classname}":
password => "$service_password",
public_address => "${hostname}${::kickstack::keystone_public_suffix}",
admin_address => "${hostname}${::kickstack::keystone_admin_suffix}",
internal_address => "$hostname",
region => "$::kickstack::keystone_region",
require => Class['::keystone'],
}
kickstack::exportfact::export { "${factname}":
value => "${service_password}",
tag => "${servicename}",
require => Class["${classname}"]
}
}