diff options
author | Dong Ma <winterma.dong@gmail.com> | 2015-09-17 15:19:12 +0800 |
---|---|---|
committer | Michael Krotscheck <krotscheck@gmail.com> | 2016-01-14 09:46:07 -0800 |
commit | 45e1d22607785e5d7bbc5f2a58f7cf8aa4761426 (patch) | |
tree | 15100baa68f9cb12b03203195e1dd61e7c4f99d7 /etc | |
parent | 333024b69aa7810e78aef85e5171cfd6dbd6b740 (diff) | |
download | ceilometer-45e1d22607785e5d7bbc5f2a58f7cf8aa4761426.tar.gz |
Added CORS support to Ceilometer
This adds the CORS support middleware to Ceilometer, allowing a deployer
to optionally configure rules under which a javascript client may
break the single-origin policy and access the API directly. Included
are Ceilometer's custom headers, so that anyone activating this
middleware does not have to explicitly enable them.
The paste.ini method of deploying the middleware was
chosen, because it needs to be able to annotate responses created
by keystonemiddleware.
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
Change-Id: I90d2a53c40e3c353abe3cf37bd7deb3a07aeb043
Diffstat (limited to 'etc')
-rw-r--r-- | etc/ceilometer/api_paste.ini | 8 | ||||
-rw-r--r-- | etc/ceilometer/ceilometer-config-generator.conf | 1 |
2 files changed, 8 insertions, 1 deletions
diff --git a/etc/ceilometer/api_paste.ini b/etc/ceilometer/api_paste.ini index 95d50c56..cfb0c38a 100644 --- a/etc/ceilometer/api_paste.ini +++ b/etc/ceilometer/api_paste.ini @@ -5,7 +5,7 @@ # Remove authtoken from the pipeline if you don't want to use keystone authentication [pipeline:main] -pipeline = request_id authtoken api-server +pipeline = cors request_id authtoken api-server [app:api-server] paste.app_factory = ceilometer.api.app:app_factory @@ -16,3 +16,9 @@ paste.filter_factory = keystonemiddleware.auth_token:filter_factory [filter:request_id] paste.filter_factory = oslo_middleware:RequestId.factory +[filter:cors] +paste.filter_factory = oslo_middleware.cors:filter_factory +oslo_config_project = ceilometer +latent_allow_headers = X-Auth-Token, X-Identity-Status, X-Roles, X-Service-Catalog, X-User-Id, X-Tenant-Id, X-OpenStack-Request-ID +latent_expose_headers = X-Auth-Token, X-Subject-Token, X-Service-Token, X-OpenStack-Request-ID +latent_allow_methods = GET, PUT, POST, DELETE, PATCH
\ No newline at end of file diff --git a/etc/ceilometer/ceilometer-config-generator.conf b/etc/ceilometer/ceilometer-config-generator.conf index 222df01f..4fc80454 100644 --- a/etc/ceilometer/ceilometer-config-generator.conf +++ b/etc/ceilometer/ceilometer-config-generator.conf @@ -6,6 +6,7 @@ namespace = oslo.concurrency namespace = oslo.db namespace = oslo.log namespace = oslo.messaging +namespace = oslo.middleware.cors namespace = oslo.policy namespace = oslo.service.service namespace = keystonemiddleware.auth_token |