cookbook-openstack-database/templates/default/api-paste.ini.erb

48 lines
1.6 KiB
Plaintext

<%= node["openstack"]["database"]["custom_template_banner"] %>
[composite:trove]
use = call:trove.common.wsgi:versioned_urlmap
/: versions
/v1.0: troveapi
[app:versions]
paste.app_factory = trove.versions:app_factory
[pipeline:troveapi]
pipeline = faultwrapper tokenauth authorization contextwrapper ratelimit extensions troveapp
#pipeline = debug extensions troveapp
[filter:extensions]
paste.filter_factory = trove.common.extensions:factory
[filter:tokenauth]
paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory
auth_uri = <%= @identity_uri.to_s %>
auth_host = <%= @identity_admin_uri.host %>
auth_port = <%= @identity_admin_uri.port %>
auth_protocol = <%= @identity_admin_uri.scheme %>
admin_token = <%= @admin_token %>
# signing_dir is configurable, but the default behavior of the authtoken
# middleware should be sufficient. It will create a temporary directory
# in the home directory for the user the trove process is running as.
signing_dir = <%= node["openstack"]["database"]["api"]["auth"]["cache_dir"] %>
[filter:authorization]
paste.filter_factory = trove.common.auth:AuthorizationMiddleware.factory
[filter:contextwrapper]
paste.filter_factory = trove.common.wsgi:ContextMiddleware.factory
[filter:faultwrapper]
paste.filter_factory = trove.common.wsgi:FaultWrapper.factory
[filter:ratelimit]
paste.filter_factory = trove.common.limits:RateLimitingMiddleware.factory
[app:troveapp]
paste.app_factory = trove.common.api:app_factory
#Add this filter to log request and response for debugging
[filter:debug]
paste.filter_factory = trove.common.wsgi:Debug