<img src=“https://travis-ci.org/rackerlabs/puppet-repose.png?branch=master” alt=“Build Status” />
This module provides a re-usable and environment agnostic control of Repose Power Proxy
Note: This version supports Repose 9+ only.
# Setup the basic information about the API you are putting Repose in front of
$app_name = 'myapp'
$api_protocol = 'https'
$api_host = "api-internal.${::domain}"
$api_port = '443'
$api_uri = "${api_protocol}://${api_host}/${app_name}"
$repose_nodes = [ "repose-n01.${::domain}",
"repose-n02.${::domain}" ]
# Your service account for verifying identities against keystone
$auth = {
'user' => 'service_admin',
'pass' => 'somepassword',
'uri' => 'https://keystone.${::domain}/v2.0',
}
$client_maps = [ ".*/${app_name}/(\d+)" ]
$white_lists = [ '/application\.wadl$' ]
# Your http logging definitions
$log_files = [
{ 'id' => 'http',
'format' => 'Response Code Modifiers=%200,201U\tModifier Negation=%!401a\tRemote IP=%a\tLocal IP=%A\tResponse Size(bytes)=%b',
},
]
# Your definitions for the system model
$filters = {
10 => { 'name' => 'slf4j-http-logging' },
20 => { 'name' => 'client-auth',
'uri-regex' => "/${app_name}/.*" },
30 => { 'name' => 'default-router' },
}
$endpoints = [
{ 'id' => $app_name,
'protocol' => $api_protocol,
'hostname' => $api_host,
'root-path' => '',
'port' => $api_port,
'default' => true,
},
]
# Bringing it all together
class { 'repose':
ensure => 'present',
}
repose::filter::slf4j_http_logging { 'default':
log_files => $log_files,
}
repose::filter::client_auth_n { 'default':
auth => $auth,
client_maps => $client_maps,
white_lists => $white_lists,
}
repose::filter::system_model { 'default':
app_name => $app_name,
nodes => $repose_nodes,
filters => $filters,
endpoints => $endpoints,
}
class { 'repose': ensure => absent }
git clone https://github.com/rackerlabs/puppet-repose.git /etc/puppet/modules/repose
Must have:
-
pdk 1.17.0+
git clone https://github.com/rackerlabs/puppet-repose.git cd puppet-repose pdk test unit --verbose
- Alex Schultz
- Greg Swift
- Josh Bell
- Cory Ringdahl