diff --git a/manifests/keystone/auth.pp b/manifests/keystone/auth.pp new file mode 100644 index 00000000..b05475c7 --- /dev/null +++ b/manifests/keystone/auth.pp @@ -0,0 +1,44 @@ +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}", + } + +}