98a13bc212
This adds the CORS support middleware to CloudKitty, allowing a deployer to optionally configure rules under which a javascript client may break the single-origin policy and access the API directly. For CloudKitty, we used the same gabbi fixtures and harnesses created for ceilometer. A custom gabbi-paste.ini was created so that the API tests run against the full wsgi application, and appropriate fixtures and tests were created to correctly simulate the configuration state. Hooks to ensure that cloudkitty's required HTTP headers are represented both in the runtime defaults, and in the automatically generated config file, have also been added. OpenStack CrossProject Spec: http://specs.openstack.org/openstack/openstack-specs/specs/cors-support.html Oslo_Middleware Docs: http://docs.openstack.org/developer/oslo.middleware/cors.html OpenStack Cloud Admin Guide: http://docs.openstack.org/admin-guide-cloud/cross_project_cors.html DocImpact: Add link to CORS configuration in admin cloud guide. Change-Id: I3ef96ca6c78c5e369fb09425871d0a57bf15ad8a
71 lines
2.2 KiB
INI
71 lines
2.2 KiB
INI
[metadata]
|
|
name = cloudkitty
|
|
summary = Rating as a Service component for OpenStack
|
|
description-file =
|
|
README.rst
|
|
author = OpenStack
|
|
author-email = openstack-dev@lists.openstack.org
|
|
home-page = http://www.openstack.org/
|
|
classifier =
|
|
Environment :: OpenStack
|
|
Intended Audience :: Information Technology
|
|
Intended Audience :: System Administrators
|
|
License :: OSI Approved :: Apache Software License
|
|
Operating System :: POSIX :: Linux
|
|
Programming Language :: Python
|
|
Programming Language :: Python :: 2
|
|
Programming Language :: Python :: 2.7
|
|
Programming Language :: Python :: 3
|
|
Programming Language :: Python :: 3.4
|
|
|
|
[files]
|
|
packages =
|
|
cloudkitty
|
|
|
|
[entry_points]
|
|
console_scripts =
|
|
cloudkitty-api = cloudkitty.cli.api:main
|
|
cloudkitty-dbsync = cloudkitty.cli.dbsync:main
|
|
cloudkitty-processor = cloudkitty.cli.processor:main
|
|
cloudkitty-storage-init = cloudkitty.cli.storage:main
|
|
cloudkitty-writer = cloudkitty.cli.writer:main
|
|
|
|
oslo.config.opts =
|
|
cloudkitty.common.config = cloudkitty.common.config:list_opts
|
|
|
|
oslo.config.opts.defaults =
|
|
cloudkitty.common.config = cloudkitty.common.defaults:set_cors_middleware_defaults
|
|
|
|
cloudkitty.collector.backends =
|
|
fake = cloudkitty.collector.fake:CSVCollector
|
|
ceilometer = cloudkitty.collector.ceilometer:CeilometerCollector
|
|
meta = cloudkitty.collector.meta:MetaCollector
|
|
|
|
cloudkitty.tenant.fetchers =
|
|
fake = cloudkitty.tenant_fetcher.fake:FakeFetcher
|
|
keystone = cloudkitty.tenant_fetcher.keystone:KeystoneFetcher
|
|
|
|
cloudkitty.transformers =
|
|
CloudKittyFormatTransformer = cloudkitty.transformer.format:CloudKittyFormatTransformer
|
|
CeilometerTransformer = cloudkitty.transformer.ceilometer:CeilometerTransformer
|
|
|
|
cloudkitty.rating.processors =
|
|
noop = cloudkitty.rating.noop:Noop
|
|
hashmap = cloudkitty.rating.hash:HashMap
|
|
pyscripts = cloudkitty.rating.pyscripts:PyScripts
|
|
|
|
cloudkitty.storage.backends =
|
|
sqlalchemy = cloudkitty.storage.sqlalchemy:SQLAlchemyStorage
|
|
|
|
cloudkitty.output.writers =
|
|
osrf = cloudkitty.writer.osrf:OSRFBackend
|
|
|
|
[build_sphinx]
|
|
all_files = 1
|
|
build-dir = doc/build
|
|
source-dir = doc/source
|
|
|
|
[global]
|
|
setup-hooks =
|
|
pbr.hooks.setup_hook
|