45 lines
1.2 KiB
Puppet
45 lines
1.2 KiB
Puppet
class swift::keystone::auth(
|
|
$auth_name = 'swift',
|
|
$password = 'swift_password',
|
|
$address = '127.0.0.1',
|
|
$port = '8080'
|
|
) {
|
|
|
|
keystone_user { $auth_name:
|
|
ensure => present,
|
|
password => $password,
|
|
}
|
|
keystone_user_role { "${auth_name}@services":
|
|
ensure => present,
|
|
roles => 'admin',
|
|
require => Keystone_user[$auth_name]
|
|
}
|
|
|
|
keystone_service { $auth_name:
|
|
ensure => present,
|
|
type => 'object-store',
|
|
description => 'Openstack Object-Store Service',
|
|
}
|
|
keystone_endpoint { $auth_name:
|
|
ensure => present,
|
|
region => 'RegionOne',
|
|
public_url => "http://${address}:${port}/v1/AUTH_%(tenant_id)s",
|
|
admin_url => "http://${address}:${port}/",
|
|
internal_url => "http://${address}:${port}/v1/AUTH_%(tenant_id)s",
|
|
}
|
|
|
|
keystone_service { "${auth_name}_s3":
|
|
ensure => present,
|
|
type => 's3',
|
|
description => 'Openstack S3 Service',
|
|
}
|
|
keystone_endpoint { "${auth_name}_s3":
|
|
ensure => present,
|
|
region => 'RegionOne',
|
|
public_url => "http://${address}:${port}",
|
|
admin_url => "http://${address}:${port}",
|
|
internal_url => "http://${address}:${port}",
|
|
}
|
|
|
|
}
|