7eca672645
This patch introduces the implementation for registering default policy rules in code. Default rules are defined under cloudkitty.common.policies. Each API's policies are defined in a sub-folder under that path and __init__.py contains all the default policies in code which are registered in the ``init`` enforcer function in cloudkitty/common/policy.py. This commit does the following: - Creates the ``policies`` module that contains all the default policies in code. - Adds the base policy rules into code (context_is_admin, admin_or_owner and default rules). - Add policies in code for current APIs - Add a tox env to generate default policy sample file - Delete policy.json from repo as policies in code will be used. Change-Id: I257e8cefc2b699fc979c717531cd9ba77233d94b Implements: blueprint policy-in-code
85 lines
2.7 KiB
INI
85 lines
2.7 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 = https://docs.openstack.org/cloudkitty/latest
|
|
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.5
|
|
|
|
[files]
|
|
packages =
|
|
cloudkitty
|
|
|
|
[entry_points]
|
|
console_scripts =
|
|
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
|
|
|
|
wsgi_scripts =
|
|
cloudkitty-api = cloudkitty.api.app:build_wsgi_app
|
|
|
|
oslo.policy.enforcer =
|
|
cloudkitty = cloudkitty.common.policy:get_enforcer
|
|
|
|
oslo.policy.policies =
|
|
cloudkitty = cloudkitty.common.policies:list_rules
|
|
|
|
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
|
|
gnocchi = cloudkitty.collector.gnocchi:GnocchiCollector
|
|
monasca = cloudkitty.collector.monasca:MonascaCollector
|
|
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
|
|
GnocchiTransformer = cloudkitty.transformer.gnocchi:GnocchiTransformer
|
|
|
|
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
|
|
gnocchihybrid = cloudkitty.storage.gnocchi_hybrid:GnocchiHybridStorage
|
|
gnocchi = cloudkitty.storage.gnocchi:GnocchiStorage
|
|
|
|
cloudkitty.output.writers =
|
|
osrf = cloudkitty.writer.osrf:OSRFBackend
|
|
csv = cloudkitty.writer.csv_map:CSVMapped
|
|
|
|
[build_sphinx]
|
|
all_files = 1
|
|
build-dir = doc/build
|
|
source-dir = doc/source
|
|
|
|
[global]
|
|
setup-hooks =
|
|
pbr.hooks.setup_hook
|