kolla-ansible/ansible/roles/vitrage/templates/vitrage.conf.j2
Niklas Hagman 2e933dceb5 Transition Keystone admin user to system scope
A system-scoped token implies the user has authorization to act on the
deployment system. These tokens are useful for interacting with
resources that affect the deployment as a whole, or exposes resources
that may otherwise violate project or domain isolation.

Since Queens, the keystone-manage bootstrap command assigns the admin
role to the admin user with system scope, as well as in the admin
project. This patch transitions the Keystone admin user from
authenticating using project scoped tokens to system scoped tokens.
This is a necessary step towards being able to enable the updated oslo
policies in services that allow finer grained access to system-level
resources and APIs.

An etherpad with discussion about the transition to the new oslo
service policies is:

https://etherpad.opendev.org/p/enabling-system-scope-in-kolla-ansible

Change-Id: Ib631e2211682862296cce9ea179f2661c90fa585
Signed-off-by: Niklas Hagman <ubuntu@post.blinkiz.com>
2021-09-28 09:45:06 -07:00

105 lines
3.2 KiB
Django/Jinja

[DEFAULT]
debug = {{ vitrage_logging_debug }}
log_dir = /var/log/kolla/vitrage
{% if service_name == 'vitrage-api' %}
# Force vitrage-api.log or will use app.wsgi
log_file = /var/log/kolla/vitrage/vitrage-api.log
{% endif %}
{% if vitrage_notifiers %}
notifiers = {{ vitrage_notifiers|map(attribute='name')|join(',') }}
{% endif %}
transport_url = {{ rpc_transport_url }}
[api]
host = {{ api_interface_address }}
port = {{ vitrage_api_port }}
workers = {{ openstack_service_workers }}
[database]
connection = mysql+pymysql://{{ vitrage_database_user }}:{{ vitrage_database_password }}@{{ vitrage_database_address }}/{{ vitrage_database_name }}
connection_recycle_time = {{ database_connection_recycle_time }}
max_pool_size = {{ database_max_pool_size }}
{% if vitrage_datasources %}
[datasources]
types = {{ vitrage_datasources|map(attribute='name')|join(',') }}
{% endif %}
[machine_learning]
plugins = jaccard_correlation
[keystone_authtoken]
www_authenticate_uri = {{ keystone_internal_url }}
auth_url = {{ keystone_admin_url }}
auth_type = password
project_domain_id = {{ default_project_domain_id }}
user_domain_id = {{ default_user_domain_id }}
project_name = service
username = {{ vitrage_keystone_user }}
password = {{ vitrage_keystone_password }}
service_token_roles_required = True
cafile = {{ openstack_cacert }}
region_name = {{ openstack_region_name }}
memcache_security_strategy = ENCRYPT
memcache_secret_key = {{ memcache_secret_key }}
memcached_servers = {% for host in groups['memcached'] %}{{ 'api' | kolla_address(host) | put_address_in_context('memcache') }}:{{ memcached_port }}{% if not loop.last %},{% endif %}{% endfor %}
[service_credentials]
auth_url = {{ keystone_internal_url }}/v3
region_name = {{ openstack_region_name }}
auth_type = password
project_domain_id = {{ default_project_domain_id }}
user_domain_id = default
project_name = admin
password = {{ vitrage_keystone_password }}
username = {{ vitrage_keystone_user }}
interface = internal
cafile = {{ openstack_cacert }}
memcache_security_strategy = ENCRYPT
memcache_secret_key = {{ memcache_secret_key }}
memcached_servers = {% for host in groups['memcached'] %}{{ 'api' | kolla_address(host) | put_address_in_context('memcache') }}:{{ memcached_port }}{% if not loop.last %},{% endif %}{% endfor %}
[oslo_messaging_notifications]
transport_url = {{ notify_transport_url }}
{% if vitrage_enabled_notification_topics %}
driver = messagingv2
topics = {{ vitrage_enabled_notification_topics | map(attribute='name') | join(',') }}
{% else %}
driver = noop
{% endif %}
{% if om_enable_rabbitmq_tls | bool %}
[oslo_messaging_rabbit]
ssl = true
ssl_ca_file = {{ om_rabbitmq_cacert }}
{% endif %}
[oslo_concurrency]
lock_path = /var/lib/vitrage/tmp
[oslo_middleware]
enable_proxy_headers_parsing = True
{% if vitrage_policy_file is defined %}
[oslo_policy]
policy_file = {{ vitrage_policy_file }}
{% endif %}
{% if enable_osprofiler | bool %}
[profiler]
enabled = true
trace_sqlalchemy = true
hmac_keys = {{ osprofiler_secret }}
connection_string = {{ osprofiler_backend_connection_string }}
{% endif %}
{% if enable_vitrage_prometheus_datasource | bool %}
[prometheus]
config_file = /etc/vitrage/prometheus_conf.yaml
{% endif %}