Zaqar 示例配置¶
以下是所有 Zaqar 服务和工具的示例配置文件。这些文件是从代码生成,反映了 Zaqar 仓库中代码的当前状态。
Zaqar API 示例配置¶
此示例配置也可以在 zaqar.conf.sample 中查看。
[DEFAULT]
#
# From oslo.log
#
# If set to true, the logging level will be set to DEBUG instead of the default
# INFO level. (boolean value)
# Note: This option can be changed without restarting.
#debug = false
# The name of a logging configuration file. This file is appended to any
# existing logging configuration files. For details about logging configuration
# files, see the Python logging module documentation. Note that when logging
# configuration files are used then all logging configuration is set in the
# configuration file and other logging configuration options are ignored (for
# example, log-date-format). (string value)
# Note: This option can be changed without restarting.
# Deprecated group/name - [DEFAULT]/log_config
#log_config_append = <None>
# Defines the format string for %%(asctime)s in log records. Default:
# %(default)s . This option is ignored if log_config_append is set. (string
# value)
#log_date_format = %Y-%m-%d %H:%M:%S
# (Optional) Name of log file to send logging output to. If no default is set,
# logging will go to stderr as defined by use_stderr. This option is ignored if
# log_config_append is set. (string value)
# Deprecated group/name - [DEFAULT]/logfile
#log_file = <None>
# (Optional) The base directory used for relative log_file paths. This option
# is ignored if log_config_append is set. (string value)
# Deprecated group/name - [DEFAULT]/logdir
#log_dir = <None>
# DEPRECATED: Uses logging handler designed to watch file system. When log file
# is moved or removed this handler will open a new log file with specified path
# instantaneously. It makes sense only if log_file option is specified and
# Linux platform is used. This option is ignored if log_config_append is set.
# (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: This function is known to have bene broken for long time, and depends
# on the unmaintained library
#watch_log_file = false
# Use syslog for logging. Existing syslog format is DEPRECATED and will be
# changed later to honor RFC5424. This option is ignored if log_config_append
# is set. (boolean value)
#use_syslog = false
# Enable journald for logging. If running in a systemd environment you may wish
# to enable journal support. Doing so will use the journal native protocol
# which includes structured metadata in addition to log messages.This option is
# ignored if log_config_append is set. (boolean value)
#use_journal = false
# Syslog facility to receive log lines. This option is ignored if
# log_config_append is set. (string value)
#syslog_log_facility = LOG_USER
# Use JSON formatting for logging. This option is ignored if log_config_append
# is set. (boolean value)
#use_json = false
# Log output to standard error. This option is ignored if log_config_append is
# set. (boolean value)
#use_stderr = false
# (Optional) Set the 'color' key according to log levels. This option takes
# effect only when logging to stderr or stdout is used. This option is ignored
# if log_config_append is set. (boolean value)
#log_color = false
# The amount of time before the log files are rotated. This option is ignored
# unless log_rotation_type is set to "interval". (integer value)
#log_rotate_interval = 1
# Rotation interval type. The time of the last file change (or the time when
# the service was started) is used when scheduling the next rotation. (string
# value)
# Possible values:
# Seconds - <No description provided>
# Minutes - <No description provided>
# Hours - <No description provided>
# Days - <No description provided>
# Weekday - <No description provided>
# Midnight - <No description provided>
#log_rotate_interval_type = days
# Maximum number of rotated log files. (integer value)
#max_logfile_count = 30
# Log file maximum size in MB. This option is ignored if "log_rotation_type" is
# not set to "size". (integer value)
#max_logfile_size_mb = 200
# Log rotation type. (string value)
# Possible values:
# interval - Rotate logs at predefined time intervals.
# size - Rotate logs once they reach a predefined size.
# none - Do not rotate log files.
#log_rotation_type = none
# Format string to use for log messages with context. Used by
# oslo_log.formatters.ContextFormatter (string value)
#logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(global_request_id)s %(request_id)s %(user_identity)s] %(instance)s%(message)s
# Format string to use for log messages when context is undefined. Used by
# oslo_log.formatters.ContextFormatter (string value)
#logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s
# Additional data to append to log message when logging level for the message
# is DEBUG. Used by oslo_log.formatters.ContextFormatter (string value)
#logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d
# Prefix each line of exception output with this format. Used by
# oslo_log.formatters.ContextFormatter (string value)
#logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s
# Defines the format string for %(user_identity)s that is used in
# logging_context_format_string. Used by oslo_log.formatters.ContextFormatter
# (string value)
#logging_user_identity_format = %(user)s %(project)s %(domain)s %(system_scope)s %(user_domain)s %(project_domain)s
# List of package logging levels in logger=LEVEL pairs. This option is ignored
# if log_config_append is set. (list value)
#default_log_levels = amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,oslo_messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,oslo_policy=INFO,dogpile.core.dogpile=INFO
# Enables or disables publication of error events. (boolean value)
#publish_errors = false
# The format for an instance that is passed with the log message. (string
# value)
#instance_format = "[instance: %(uuid)s] "
# The format for an instance UUID that is passed with the log message. (string
# value)
#instance_uuid_format = "[instance: %(uuid)s] "
# Interval, number of seconds, of log rate limiting. (integer value)
#rate_limit_interval = 0
# Maximum number of logged messages per rate_limit_interval. (integer value)
#rate_limit_burst = 0
# Log level name used by rate limiting. Logs with level greater or equal to
# rate_limit_except_level are not filtered. An empty string means that all
# levels are filtered. (string value)
# Possible values:
# CRITICAL - <No description provided>
# ERROR - <No description provided>
# INFO - <No description provided>
# WARNING - <No description provided>
# DEBUG - <No description provided>
# '' - <No description provided>
#rate_limit_except_level = CRITICAL
# Enables or disables fatal status of deprecations. (boolean value)
#fatal_deprecations = false
#
# From oslo.messaging
#
# Size of executor thread pool when executor is threading or eventlet. (integer
# value)
# Deprecated group/name - [DEFAULT]/rpc_thread_pool_size
#executor_thread_pool_size = 64
# Seconds to wait for a response from a call. (integer value)
#rpc_response_timeout = 60
# The network address and optional user credentials for connecting to the
# messaging backend, in URL format. The expected format is:
#
# driver://[user:pass@]host:port[,[userN:passN@]hostN:portN]/virtual_host?query
#
# Example: rabbit://rabbitmq:password@127.0.0.1:5672//
#
# For full details on the fields in the URL see the documentation of
# oslo_messaging.TransportURL at
# https://docs.openstack.org/oslo.messaging/2025.2/reference/transport.html
# (string value)
#transport_url = rabbit://
# The default exchange under which topics are scoped. May be overridden by an
# exchange name specified in the transport_url option. (string value)
#control_exchange = openstack
# Add an endpoint to answer to ping calls. Endpoint is named
# oslo_rpc_server_ping (boolean value)
#rpc_ping_enabled = false
#
# From zaqar
#
# Activate privileged endpoints. (boolean value)
#admin_mode = false
# Enable pooling across multiple storage backends. If pooling is enabled, the
# storage driver configuration is used to determine where the catalogue/control
# plane data is kept. (boolean value)
# Deprecated group/name - [DEFAULT]/sharding
#pooling = false
# Disable all reliability constraints. (boolean value)
#unreliable = false
# List of deprecated API versions to enable. (list value)
#enable_deprecated_api_versions =
# Enable a checksum for message body. The default value is False. (boolean
# value)
#enable_checksum = false
# Backend to use for authentication. For no auth, keep it empty. Existing
# strategies: keystone. See also the keystone_authtoken section below (string
# value)
#auth_strategy =
[cache]
#
# From oslo.cache
#
# Prefix for building the configuration dictionary for the cache region. This
# should not need to be changed unless there is another dogpile.cache region
# with the same configuration name. (string value)
#config_prefix = cache.oslo
# Default TTL, in seconds, for any cached item in the dogpile.cache region.
# This applies to any cached method that doesn't have an explicit cache
# expiration time defined for it. (integer value)
# Minimum value: 1
#expiration_time = 600
# Expiration time in cache backend to purge expired records automatically. This
# should be greater than expiration_time and all cache_time options (integer
# value)
# Minimum value: 1
#backend_expiration_time = <None>
# Cache backend module. For eventlet-based or environments with hundreds of
# threaded servers, Memcache with pooling (oslo_cache.memcache_pool) is
# recommended. For environments with less than 100 threaded servers, Memcached
# (dogpile.cache.memcached) or Redis (dogpile.cache.redis) is recommended. Test
# environments with a single instance of the server can use the
# dogpile.cache.memory backend. (string value)
# Possible values:
# oslo_cache.memcache_pool - <No description provided>
# oslo_cache.dict - <No description provided>
# oslo_cache.mongo - <No description provided>
# oslo_cache.etcd3gw - <No description provided>
# dogpile.cache.pymemcache - <No description provided>
# dogpile.cache.memcached - <No description provided>
# dogpile.cache.pylibmc - <No description provided>
# dogpile.cache.bmemcached - <No description provided>
# dogpile.cache.dbm - <No description provided>
# dogpile.cache.redis - <No description provided>
# dogpile.cache.redis_sentinel - <No description provided>
# dogpile.cache.memory - <No description provided>
# dogpile.cache.memory_pickle - <No description provided>
# dogpile.cache.null - <No description provided>
#backend = dogpile.cache.null
# Arguments supplied to the backend module. Specify this option once per
# argument to be passed to the dogpile.cache backend. Example format:
# "<argname>:<value>". (multi valued)
#backend_argument =
# Proxy classes to import that will affect the way the dogpile.cache backend
# functions. See the dogpile.cache documentation on changing-backend-behavior.
# (list value)
#proxies =
# Global toggle for caching. (boolean value)
#enabled = false
# Extra debugging from the cache backend (cache keys, get/set/delete/etc
# calls). This is only really useful if you need to see the specific cache-
# backend get/set/delete calls with the keys/values. Typically this should be
# left set to false. (boolean value)
#debug_cache_backend = false
# Memcache servers in the format of "host:port". This is used by backends
# dependent on Memcached.If ``dogpile.cache.memcached`` or
# ``oslo_cache.memcache_pool`` is used and a given host refer to an IPv6 or a
# given domain refer to IPv6 then you should prefix the given address with the
# address family (``inet6``) (e.g ``inet6:[::1]:11211``,
# ``inet6:[fd12:3456:789a:1::1]:11211``,
# ``inet6:[controller-0.internalapi]:11211``). If the address family is not
# given then these backends will use the default ``inet`` address family which
# corresponds to IPv4 (list value)
#memcache_servers = localhost:11211
# Number of seconds memcached server is considered dead before it is tried
# again. (dogpile.cache.memcache and oslo_cache.memcache_pool backends only).
# (integer value)
#memcache_dead_retry = 300
# Timeout in seconds for every call to a server. (dogpile.cache.memcache and
# oslo_cache.memcache_pool backends only). (floating point value)
#memcache_socket_timeout = 1.0
# Max total number of open connections to every memcached server.
# (oslo_cache.memcache_pool backend only). (integer value)
#memcache_pool_maxsize = 10
# Number of seconds a connection to memcached is held unused in the pool before
# it is closed. (oslo_cache.memcache_pool backend only). (integer value)
#memcache_pool_unused_timeout = 60
# Number of seconds that an operation will wait to get a memcache client
# connection. (integer value)
#memcache_pool_connection_get_timeout = 10
# Global toggle if memcache will be flushed on reconnect.
# (oslo_cache.memcache_pool backend only). (boolean value)
#memcache_pool_flush_on_reconnect = false
# Enable the SASL(Simple Authentication and SecurityLayer) if the SASL_enable
# is true, else disable. (boolean value)
#memcache_sasl_enabled = false
# the user name for the memcached which SASL enabled (string value)
#memcache_username = <None>
# the password for the memcached which SASL enabled (string value)
#memcache_password = <None>
# Redis server in the format of "host:port" (string value)
#redis_server = localhost:6379
# Database id in Redis server (integer value)
# Minimum value: 0
#redis_db = 0
# the user name for redis (string value)
#redis_username = <None>
# the password for redis (string value)
#redis_password = <None>
# Redis sentinel servers in the format of "host:port" (list value)
#redis_sentinels = localhost:26379
# Timeout in seconds for every call to a server. (dogpile.cache.redis and
# dogpile.cache.redis_sentinel backends only). (floating point value)
#redis_socket_timeout = 1.0
# Service name of the redis sentinel cluster. (string value)
#redis_sentinel_service_name = mymaster
# Global toggle for TLS usage when communicating with the caching servers.
# Currently supported by ``dogpile.cache.bmemcache``,
# ``dogpile.cache.pymemcache``, ``oslo_cache.memcache_pool``,
# ``dogpile.cache.redis`` and ``dogpile.cache.redis_sentinel``. (boolean value)
#tls_enabled = false
# Path to a file of concatenated CA certificates in PEM format necessary to
# establish the caching servers' authenticity. If tls_enabled is False, this
# option is ignored. (string value)
#tls_cafile = <None>
# Path to a single file in PEM format containing the client's certificate as
# well as any number of CA certificates needed to establish the certificate's
# authenticity. This file is only required when client side authentication is
# necessary. If tls_enabled is False, this option is ignored. (string value)
#tls_certfile = <None>
# Path to a single file containing the client's private key in. Otherwise the
# private key will be taken from the file specified in tls_certfile. If
# tls_enabled is False, this option is ignored. (string value)
#tls_keyfile = <None>
# Set the available ciphers for sockets created with the TLS context. It should
# be a string in the OpenSSL cipher list format. If not specified, all OpenSSL
# enabled ciphers will be available. Currently supported by
# ``dogpile.cache.bmemcache``, ``dogpile.cache.pymemcache`` and
# ``oslo_cache.memcache_pool``. (string value)
#tls_allowed_ciphers = <None>
# Global toggle for the socket keepalive of dogpile's pymemcache backend
# (boolean value)
#enable_socket_keepalive = false
# The time (in seconds) the connection needs to remain idle before TCP starts
# sending keepalive probes. Should be a positive integer most greater than
# zero. (integer value)
# Minimum value: 0
#socket_keepalive_idle = 1
# The time (in seconds) between individual keepalive probes. Should be a
# positive integer greater than zero. (integer value)
# Minimum value: 0
#socket_keepalive_interval = 1
# The maximum number of keepalive probes TCP should send before dropping the
# connection. Should be a positive integer greater than zero. (integer value)
# Minimum value: 0
#socket_keepalive_count = 1
# Enable retry client mechanisms to handle failure. Those mechanisms can be
# used to wrap all kind of pymemcache clients. The wrapper allows you to define
# how many attempts to make and how long to wait between attemots. (boolean
# value)
#enable_retry_client = false
# Number of times to attempt an action before failing. (integer value)
# Minimum value: 1
#retry_attempts = 2
# Number of seconds to sleep between each attempt. (floating point value)
#retry_delay = 0
# Amount of times a client should be tried before it is marked dead and removed
# from the pool in the HashClient's internal mechanisms. (integer value)
# Minimum value: 1
#hashclient_retry_attempts = 2
# Time in seconds that should pass between retry attempts in the HashClient's
# internal mechanisms. (floating point value)
#hashclient_retry_delay = 1
# Time in seconds before attempting to add a node back in the pool in the
# HashClient's internal mechanisms. (floating point value)
#dead_timeout = 60
# Global toggle for enforcing the OpenSSL FIPS mode. This feature requires
# Python support. This is available in Python 3.9 in all environments and may
# have been backported to older Python versions on select environments. If the
# Python executable used does not support OpenSSL FIPS mode, an exception will
# be raised. Currently supported by ``dogpile.cache.bmemcache``,
# ``dogpile.cache.pymemcache`` and ``oslo_cache.memcache_pool``. (boolean
# value)
#enforce_fips_mode = false
[cors]
#
# From oslo.middleware.cors
#
# Indicate whether this resource may be shared with the domain received in the
# requests "origin" header. Format: "<protocol>://<host>[:<port>]", no trailing
# slash. Example: https://horizon.example.com (list value)
#allowed_origin = <None>
# Indicate that the actual request can include user credentials (boolean value)
#allow_credentials = true
# Indicate which headers are safe to expose to the API. Defaults to HTTP Simple
# Headers. (list value)
#expose_headers =
# Maximum cache age of CORS preflight requests. (integer value)
#max_age = 3600
# Indicate which methods can be used during the actual request. (list value)
#allow_methods = OPTIONS,GET,HEAD,POST,PUT,DELETE,TRACE,PATCH
# Indicate which header field names may be used during the actual request.
# (list value)
#allow_headers =
[drivers]
#
# From zaqar
#
# Transport driver to use. (string value)
#transport = wsgi
# Storage driver to use as the messaging store. (string value)
# Deprecated group/name - [drivers]/storage
#message_store = mongodb
# Storage driver to use as the management store. (string value)
#management_store = mongodb
[drivers:management_store:mongodb]
#
# From zaqar
#
# The private keyfile used to identify the local connection against mongod. If
# included with the ``certifle`` then only the ``ssl_certfile`` is needed.
# (string value)
#ssl_keyfile = <None>
# The certificate file used to identify the local connection against mongod.
# (string value)
#ssl_certfile = <None>
# Specifies whether a certificate is required from the other side of the
# connection, and whether it will be validated if provided. If the value of
# this parameter is not ``CERT_NONE``, then the ``ssl_ca_cert`` parameter must
# point to a file of CA certificates. (string value)
# Possible values:
# CERT_NONE - Certificates are ignored
# CERT_OPTIONAL - Certificates are not required, but validated if provided
# CERT_REQUIRED - Certificates are required and validated
#ssl_cert_reqs = CERT_REQUIRED
# The ca_certs file contains a set of concatenated "certification authority"
# certificates, which are used to validate certificates passed from the other
# end of the connection. (string value)
#ssl_ca_certs = <None>
# Mongodb Connection URI. If ssl connection enabled, then ``ssl_keyfile``,
# ``ssl_certfile``, ``ssl_cert_reqs``, ``ssl_ca_certs`` need to be set
# accordingly. (string value)
#uri = <None>
# Database name. (string value)
#database = zaqar
# Maximum number of times to retry a failed operation. Currently only used for
# retrying a message post. (integer value)
# Minimum value: 0
#max_attempts = 1000
# Maximum sleep interval between retries (actual sleep time increases linearly
# according to number of attempts performed). (floating point value)
#max_retry_sleep = 0.1
# Maximum jitter interval, to be added to the sleep interval, in order to
# decrease probability that parallel requests will retry at the same instant.
# (floating point value)
#max_retry_jitter = 0.005
# Maximum number of times to retry an operation that failed due to a primary
# node failover. (integer value)
#max_reconnect_attempts = 10
# Base sleep interval between attempts to reconnect after a primary node
# failover. The actual sleep time increases exponentially (power of 2) each
# time the operation is retried. (floating point value)
#reconnect_sleep = 0.02
[drivers:management_store:redis]
#
# From zaqar
#
# Redis connection URI, taking one of three forms. For a direct connection to a
# Redis server, use the form "redis://[:password]@host[:port][?options]", where
# password is redis-server's password, whenredis-server is set password, the
# password optionneeds to be set. port defaults to 6379 if notspecified. For an
# HA master-slave Redis cluster using Redis Sentinel, use the form
# "redis://[:password]@host1[:port1][,host2[:port2],...,hostN[:portN]][?options]",
# where each host specified corresponds to an instance of redis-sentinel. In
# this form, the name of the Redis master used in the Sentinel configuration
# must be included in the query string as "master=<name>". Finally, to connect
# to a local instance of Redis over a unix socket, you may use the form
# "redis://[:password]@/path/to/redis.sock[?options]". In all forms, the
# "socket_timeout" option may bespecified in the query string. Its value is
# given in seconds. If not provided, "socket_timeout" defaults to 0.1
# seconds.There are multiple database instances in redis database, for example
# in the /etc/redis/redis.conf, if the parameter is "database 16", there are 16
# database instances. By default, the data is stored in db = 0 database, if you
# want to use db = 1 database, you can use the following form:
# "redis://host[:port][?dbid=1]". (string value)
#uri = redis://127.0.0.1:6379
# Maximum number of times to retry an operation that failed due to a redis node
# failover. (integer value)
#max_reconnect_attempts = 10
# Base sleep interval between attempts to reconnect after a redis node
# failover. (floating point value)
#reconnect_sleep = 1.0
[drivers:management_store:sqlalchemy]
#
# From zaqar
#
# An sqlalchemy URL (string value)
#uri = sqlite:///:memory:
[drivers:message_store:mongodb]
#
# From zaqar
#
# The private keyfile used to identify the local connection against mongod. If
# included with the ``certifle`` then only the ``ssl_certfile`` is needed.
# (string value)
#ssl_keyfile = <None>
# The certificate file used to identify the local connection against mongod.
# (string value)
#ssl_certfile = <None>
# Specifies whether a certificate is required from the other side of the
# connection, and whether it will be validated if provided. If the value of
# this parameter is not ``CERT_NONE``, then the ``ssl_ca_cert`` parameter must
# point to a file of CA certificates. (string value)
# Possible values:
# CERT_NONE - Certificates are ignored
# CERT_OPTIONAL - Certificates are not required, but validated if provided
# CERT_REQUIRED - Certificates are required and validated
#ssl_cert_reqs = CERT_REQUIRED
# The ca_certs file contains a set of concatenated "certification authority"
# certificates, which are used to validate certificates passed from the other
# end of the connection. (string value)
#ssl_ca_certs = <None>
# Mongodb Connection URI. If ssl connection enabled, then ``ssl_keyfile``,
# ``ssl_certfile``, ``ssl_cert_reqs``, ``ssl_ca_certs`` need to be set
# accordingly. (string value)
#uri = <None>
# Database name. (string value)
#database = zaqar
# Maximum number of times to retry a failed operation. Currently only used for
# retrying a message post. (integer value)
# Minimum value: 0
#max_attempts = 1000
# Maximum sleep interval between retries (actual sleep time increases linearly
# according to number of attempts performed). (floating point value)
#max_retry_sleep = 0.1
# Maximum jitter interval, to be added to the sleep interval, in order to
# decrease probability that parallel requests will retry at the same instant.
# (floating point value)
#max_retry_jitter = 0.005
# Maximum number of times to retry an operation that failed due to a primary
# node failover. (integer value)
#max_reconnect_attempts = 10
# Base sleep interval between attempts to reconnect after a primary node
# failover. The actual sleep time increases exponentially (power of 2) each
# time the operation is retried. (floating point value)
#reconnect_sleep = 0.02
# Number of databases across which to partition message data, in order to
# reduce writer lock %. DO NOT change this setting after initial deployment. It
# MUST remain static. Also, you should not need a large number of partitions to
# improve performance, esp. if deploying MongoDB on SSD storage. (integer
# value)
#partitions = 2
[drivers:message_store:redis]
#
# From zaqar
#
# Redis connection URI, taking one of three forms. For a direct connection to a
# Redis server, use the form "redis://[:password]@host[:port][?options]", where
# password is redis-server's password, whenredis-server is set password, the
# password optionneeds to be set. port defaults to 6379 if notspecified. For an
# HA master-slave Redis cluster using Redis Sentinel, use the form
# "redis://[:password]@host1[:port1][,host2[:port2],...,hostN[:portN]][?options]",
# where each host specified corresponds to an instance of redis-sentinel. In
# this form, the name of the Redis master used in the Sentinel configuration
# must be included in the query string as "master=<name>". Finally, to connect
# to a local instance of Redis over a unix socket, you may use the form
# "redis://[:password]@/path/to/redis.sock[?options]". In all forms, the
# "socket_timeout" option may bespecified in the query string. Its value is
# given in seconds. If not provided, "socket_timeout" defaults to 0.1
# seconds.There are multiple database instances in redis database, for example
# in the /etc/redis/redis.conf, if the parameter is "database 16", there are 16
# database instances. By default, the data is stored in db = 0 database, if you
# want to use db = 1 database, you can use the following form:
# "redis://host[:port][?dbid=1]". (string value)
#uri = redis://127.0.0.1:6379
# Maximum number of times to retry an operation that failed due to a redis node
# failover. (integer value)
#max_reconnect_attempts = 10
# Base sleep interval between attempts to reconnect after a redis node
# failover. (floating point value)
#reconnect_sleep = 1.0
[drivers:message_store:swift]
#
# From zaqar
#
# URI of Keystone endpoint to discover Swift (string value)
#auth_url = http://127.0.0.1:5000/v3/
# Custom URI describing the swift connection. (string value)
#uri = swift://demo:nomoresecrete@/demo
# Don't check SSL certificate (boolean value)
#insecure = false
# Domain ID containing project (string value)
#project_domain_id = <None>
# Domain name containing project (string value)
#project_domain_name = Default
# User's domain id (string value)
#user_domain_id = <None>
# User's domain name (string value)
#user_domain_name = Default
# Region name (string value)
#region_name = <None>
# The default interface for endpoint URL discovery. (string value)
#interface = publicURL
[drivers:transport:websocket]
#
# From zaqar
#
# Address on which the self-hosting server will listen. (host address value)
#bind = 127.0.0.1
# Port on which the self-hosting server will listen. (port value)
# Minimum value: 0
# Maximum value: 65535
#port = 9000
# Port on which the service is provided to the user. (port value)
# Minimum value: 0
# Maximum value: 65535
#external_port = <None>
# Address on which the notification server will listen. (host address value)
#notification_bind = <None>
# Port on which the notification server will listen. (port value)
# Minimum value: 0
# Maximum value: 65535
#notification_port = 0
[drivers:transport:wsgi]
#
# From zaqar
#
# Address on which the self-hosting server will listen. (host address value)
#bind = 127.0.0.1
# Port on which the self-hosting server will listen. (port value)
# Minimum value: 0
# Maximum value: 65535
#port = 8888
[keystone_authtoken]
#
# From keystonemiddleware.auth_token
#
# Complete "public" Identity API endpoint. This endpoint should not be an
# "admin" endpoint, as it should be accessible by all end users.
# Unauthenticated clients are redirected to this endpoint to authenticate.
# Although this endpoint should ideally be unversioned, client support in the
# wild varies. If you're using a versioned v2 endpoint here, then this should
# *not* be the same endpoint the service user utilizes for validating tokens,
# because normal end users may not be able to reach that endpoint. (string
# value)
# Deprecated group/name - [keystone_authtoken]/auth_uri
#www_authenticate_uri = <None>
# DEPRECATED: Complete "public" Identity API endpoint. This endpoint should not
# be an "admin" endpoint, as it should be accessible by all end users.
# Unauthenticated clients are redirected to this endpoint to authenticate.
# Although this endpoint should ideally be unversioned, client support in the
# wild varies. If you're using a versioned v2 endpoint here, then this should
# *not* be the same endpoint the service user utilizes for validating tokens,
# because normal end users may not be able to reach that endpoint. This option
# is deprecated in favor of www_authenticate_uri and will be removed in the S
# release. (string value)
# This option is deprecated for removal since Queens.
# Its value may be silently ignored in the future.
# Reason: The auth_uri option is deprecated in favor of www_authenticate_uri
# and will be removed in the S release.
#auth_uri = <None>
# API version of the Identity API endpoint. (string value)
#auth_version = <None>
# Interface to use for the Identity API endpoint. Valid values are "public",
# "internal" (default) or "admin". (string value)
#interface = internal
# Do not handle authorization requests within the middleware, but delegate the
# authorization decision to downstream WSGI components. (boolean value)
#delay_auth_decision = false
# Request timeout value for communicating with Identity API server. (integer
# value)
#http_connect_timeout = <None>
# How many times are we trying to reconnect when communicating with Identity
# API Server. (integer value)
#http_request_max_retries = 3
# Request environment key where the Swift cache object is stored. When
# auth_token middleware is deployed with a Swift cache, use this option to have
# the middleware share a caching backend with swift. Otherwise, use the
# ``memcached_servers`` option instead. (string value)
#cache = <None>
# Required if identity server requires client certificate (string value)
#certfile = <None>
# Required if identity server requires client certificate (string value)
#keyfile = <None>
# A PEM encoded Certificate Authority to use when verifying HTTPs connections.
# Defaults to system CAs. (string value)
#cafile = <None>
# Verify HTTPS connections. (boolean value)
#insecure = false
# The region in which the identity server can be found. (string value)
#region_name = <None>
# Optionally specify a list of memcached server(s) to use for caching. If left
# undefined, tokens will instead be cached in-process. (list value)
# Deprecated group/name - [keystone_authtoken]/memcache_servers
#memcached_servers = <None>
# In order to prevent excessive effort spent validating tokens, the middleware
# caches previously-seen tokens for a configurable duration (in seconds). Set
# to -1 to disable caching completely. (integer value)
#token_cache_time = 300
# (Optional) If defined, indicate whether token data should be authenticated or
# authenticated and encrypted. If MAC, token data is authenticated (with HMAC)
# in the cache. If ENCRYPT, token data is encrypted and authenticated in the
# cache. If the value is not one of these options or empty, auth_token will
# raise an exception on initialization. (string value)
# Possible values:
# None - <No description provided>
# MAC - <No description provided>
# ENCRYPT - <No description provided>
#memcache_security_strategy = None
# (Optional, mandatory if memcache_security_strategy is defined) This string is
# used for key derivation. (string value)
#memcache_secret_key = <None>
# (Optional) Global toggle for TLS usage when comunicating with the caching
# servers. (boolean value)
#memcache_tls_enabled = false
# (Optional) Path to a file of concatenated CA certificates in PEM format
# necessary to establish the caching server's authenticity. If tls_enabled is
# False, this option is ignored. (string value)
#memcache_tls_cafile = <None>
# (Optional) Path to a single file in PEM format containing the client's
# certificate as well as any number of CA certificates needed to establish the
# certificate's authenticity. This file is only required when client side
# authentication is necessary. If tls_enabled is False, this option is ignored.
# (string value)
#memcache_tls_certfile = <None>
# (Optional) Path to a single file containing the client's private key in.
# Otherwhise the private key will be taken from the file specified in
# tls_certfile. If tls_enabled is False, this option is ignored. (string value)
#memcache_tls_keyfile = <None>
# (Optional) Set the available ciphers for sockets created with the TLS
# context. It should be a string in the OpenSSL cipher list format. If not
# specified, all OpenSSL enabled ciphers will be available. (string value)
#memcache_tls_allowed_ciphers = <None>
# (Optional) Number of seconds memcached server is considered dead before it is
# tried again. (integer value)
#memcache_pool_dead_retry = 300
# (Optional) Maximum total number of open connections to every memcached
# server. (integer value)
#memcache_pool_maxsize = 10
# (Optional) Socket timeout in seconds for communicating with a memcached
# server. (integer value)
#memcache_pool_socket_timeout = 3
# (Optional) Number of seconds a connection to memcached is held unused in the
# pool before it is closed. (integer value)
#memcache_pool_unused_timeout = 60
# (Optional) Number of seconds that an operation will wait to get a memcached
# client connection from the pool. (integer value)
#memcache_pool_conn_get_timeout = 10
# (Optional) Use the advanced (eventlet safe) memcached client pool. (boolean
# value)
#memcache_use_advanced_pool = true
# (Optional) Indicate whether to set the X-Service-Catalog header. If False,
# middleware will not ask for service catalog on token validation and will not
# set the X-Service-Catalog header. (boolean value)
#include_service_catalog = true
# Used to control the use and type of token binding. Can be set to: "disabled"
# to not check token binding. "permissive" (default) to validate binding
# information if the bind type is of a form known to the server and ignore it
# if not. "strict" like "permissive" but if the bind type is unknown the token
# will be rejected. "required" any form of token binding is needed to be
# allowed. Finally the name of a binding method that must be present in tokens.
# (string value)
#enforce_token_bind = permissive
# A choice of roles that must be present in a service token. Service tokens are
# allowed to request that an expired token can be used and so this check should
# tightly control that only actual services should be sending this token. Roles
# here are applied as an ANY check so any role in this list must be present.
# For backwards compatibility reasons this currently only affects the
# allow_expired check. (list value)
#service_token_roles = service
# For backwards compatibility reasons we must let valid service tokens pass
# that don't pass the service_token_roles check as valid. Setting this true
# will become the default in a future release and should be enabled if
# possible. (boolean value)
#service_token_roles_required = false
# The name or type of the service as it appears in the service catalog. This is
# used to validate tokens that have restricted access rules. (string value)
#service_type = <None>
# Enable the SASL(Simple Authentication and Security Layer) if the SASL_enable
# is true, else disable. (boolean value)
#memcache_sasl_enabled = false
# the user name for the SASL (string value)
#memcache_username =
# the username password for SASL (string value)
#memcache_password =
# Authentication type to load (string value)
# Deprecated group/name - [keystone_authtoken]/auth_plugin
#auth_type = <None>
# Config Section from which to load plugin specific options (string value)
#auth_section = <None>
[notification]
#
# From zaqar
#
# There are two values can be chosen: third_part or self_local. third_part
# means Zaqar will use the tools from config option smtp_commnd. self_local
# means the smtp python library will be used. (string value)
# Possible values:
# third_part - <No description provided>
# self_local - <No description provided>
#smtp_mode = third_part
# The host IP for the email system. It should be set when smtp_mode is set to
# self_local. (host address value)
#smtp_host = <None>
# The port for the email system. It should be set when smtp_mode is set to
# self_local. (port value)
# Minimum value: 0
# Maximum value: 65535
#smtp_port = <None>
# The user name for the email system to login. It should be set when smtp_mode
# is set to self_local. (string value)
#smtp_user_name = <None>
# The user password for the email system to login. It should be set when
# smtp_mode is set to self_local. (string value)
#smtp_user_password = <None>
# The command of smtp to send email. The format is "command_name arg1 arg2".
# (string value)
#smtp_command = /usr/sbin/sendmail -t -oi
# The max amount of the notification workers. (integer value)
#max_notifier_workers = 10
# Whether the http/https/email subscription need to be confirmed before
# notification. (boolean value)
#require_confirmation = false
# The confirmation page url that will be used in email subscription
# confirmation before notification. (string value)
#external_confirmation_url = <None>
# Defines the set of subscription confirmation email content, including topic,
# body and sender. There is a mapping is {0} -> queue name, {1} ->project id,
# {2}-> confirm url in body string. User can use any of the three values. But
# they can't use more than three. (dict value)
#subscription_confirmation_email_template = body:You have chosen to subscribe to the queue: {0}. This queue belongs to project: {1}. To confirm this subscription, click or visit this link below: {2},sender:Zaqar Notifications <no-reply@openstack.org>,topic:Zaqar Notification - Subscription Confirmation
# Defines the set of unsubscribe confirmation email content, including topic,
# body and sender. There is a mapping is {0} -> queue name, {1} ->project id,
# {2}-> confirm url in body string. User can use any of the three values. But
# they can't use more than three. (dict value)
#unsubscribe_confirmation_email_template = body:You have unsubscribed successfully to the queue: {0}. This queue belongs to project: {1}. To resubscribe this subscription, click or visit this link below: {2},sender:Zaqar Notifications <no-reply@openstack.org>,topic:Zaqar Notification - Unsubscribe Confirmation
[oslo_messaging_kafka]
#
# From oslo.messaging
#
# Max fetch bytes of Kafka consumer (integer value)
#kafka_max_fetch_bytes = 1048576
# Default timeout(s) for Kafka consumers (floating point value)
#kafka_consumer_timeout = 1.0
# Group id for Kafka consumer. Consumers in one group will coordinate message
# consumption (string value)
#consumer_group = oslo_messaging_consumer
# Upper bound on the delay for KafkaProducer batching in seconds (floating
# point value)
#producer_batch_timeout = 0.0
# Size of batch for the producer async send (integer value)
#producer_batch_size = 16384
# The compression codec for all data generated by the producer. If not set,
# compression will not be used. Note that the allowed values of this depend on
# the kafka version (string value)
# Possible values:
# none - <No description provided>
# gzip - <No description provided>
# snappy - <No description provided>
# lz4 - <No description provided>
# zstd - <No description provided>
#compression_codec = none
# Enable asynchronous consumer commits (boolean value)
#enable_auto_commit = false
# The maximum number of records returned in a poll call (integer value)
#max_poll_records = 500
# Protocol used to communicate with brokers (string value)
# Possible values:
# PLAINTEXT - <No description provided>
# SASL_PLAINTEXT - <No description provided>
# SSL - <No description provided>
# SASL_SSL - <No description provided>
#security_protocol = PLAINTEXT
# Mechanism when security protocol is SASL (string value)
#sasl_mechanism = PLAIN
# CA certificate PEM file used to verify the server certificate (string value)
#ssl_cafile =
# Client certificate PEM file used for authentication. (string value)
#ssl_client_cert_file =
# Client key PEM file used for authentication. (string value)
#ssl_client_key_file =
# Client key password file used for authentication. (string value)
#ssl_client_key_password =
[oslo_messaging_notifications]
#
# From oslo.messaging
#
# The Drivers(s) to handle sending notifications. Possible values are
# messaging, messagingv2, routing, log, test, noop (multi valued)
#driver =
# A URL representing the messaging driver to use for notifications. If not set,
# we fall back to the same configuration used for RPC. (string value)
#transport_url = <None>
# AMQP topic used for OpenStack notifications. (list value)
#topics = notifications
# The maximum number of attempts to re-send a notification message which failed
# to be delivered due to a recoverable error. 0 - No retry, -1 - indefinite
# (integer value)
#retry = -1
[oslo_messaging_rabbit]
#
# From oslo.messaging
#
# Use durable queues in AMQP. If rabbit_quorum_queue is enabled, queues will be
# durable and this value will be ignored. (boolean value)
#amqp_durable_queues = false
# Auto-delete queues in AMQP. (boolean value)
#amqp_auto_delete = false
# Size of RPC connection pool. (integer value)
# Minimum value: 1
#rpc_conn_pool_size = 30
# The pool size limit for connections expiration policy (integer value)
#conn_pool_min_size = 2
# The time-to-live in sec of idle connections in the pool (integer value)
#conn_pool_ttl = 1200
# Connect over SSL. (boolean value)
#ssl = false
# SSL version to use (valid only if SSL enabled). Valid values are TLSv1 and
# SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 may be available on some
# distributions. (string value)
#ssl_version =
# SSL key file (valid only if SSL enabled). (string value)
#ssl_key_file =
# SSL cert file (valid only if SSL enabled). (string value)
#ssl_cert_file =
# SSL certification authority file (valid only if SSL enabled). (string value)
#ssl_ca_file =
# Global toggle for enforcing the OpenSSL FIPS mode. This feature requires
# Python support. This is available in Python 3.9 in all environments and may
# have been backported to older Python versions on select environments. If the
# Python executable used does not support OpenSSL FIPS mode, an exception will
# be raised. (boolean value)
#ssl_enforce_fips_mode = false
# DEPRECATED: (DEPRECATED) It is recommend not to use this option anymore. Run
# the health check heartbeat thread through a native python thread by default.
# If this option is equal to False then the health check heartbeat will inherit
# the execution model from the parent process. For example if the parent
# process has monkey patched the stdlib by using eventlet/greenlet then the
# heartbeat will be run through a green thread. This option should be set to
# True only for the wsgi services. (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: The option is related to Eventlet which will be removed. In addition
# this has never worked as expected with services using eventlet for core
# service framework.
#heartbeat_in_pthread = false
# How long to wait (in seconds) before reconnecting in response to an AMQP
# consumer cancel notification. (floating point value)
# Minimum value: 0.0
# Maximum value: 4.5
#kombu_reconnect_delay = 1.0
# Random time to wait for when reconnecting in response to an AMQP consumer
# cancel notification. (floating point value)
# Minimum value: 0.0
#kombu_reconnect_splay = 0.0
# EXPERIMENTAL: Possible values are: gzip, bz2. If not set compression will not
# be used. This option may not be available in future versions. (string value)
#kombu_compression = <None>
# How long to wait a missing client before abandoning to send it its replies.
# This value should not be longer than rpc_response_timeout. (integer value)
# Deprecated group/name - [oslo_messaging_rabbit]/kombu_reconnect_timeout
#kombu_missing_consumer_retry_timeout = 60
# Determines how the next RabbitMQ node is chosen in case the one we are
# currently connected to becomes unavailable. Takes effect only if more than
# one RabbitMQ node is provided in config. (string value)
# Possible values:
# round-robin - <No description provided>
# shuffle - <No description provided>
#kombu_failover_strategy = round-robin
# The RabbitMQ login method. (string value)
# Possible values:
# PLAIN - <No description provided>
# AMQPLAIN - <No description provided>
# EXTERNAL - <No description provided>
# RABBIT-CR-DEMO - <No description provided>
#rabbit_login_method = AMQPLAIN
# How frequently to retry connecting with RabbitMQ. (integer value)
# Minimum value: 1
#rabbit_retry_interval = 1
# How long to backoff for between retries when connecting to RabbitMQ. (integer
# value)
# Minimum value: 0
#rabbit_retry_backoff = 2
# Maximum interval of RabbitMQ connection retries. (integer value)
# Minimum value: 1
#rabbit_interval_max = 30
# Try to use HA queues in RabbitMQ (x-ha-policy: all). If you change this
# option, you must wipe the RabbitMQ database. In RabbitMQ 3.0, queue mirroring
# is no longer controlled by the x-ha-policy argument when declaring a queue.
# If you just want to make sure that all queues (except those with auto-
# generated names) are mirrored across all nodes, run: "rabbitmqctl set_policy
# HA '^(?!amq\.).*' '{"ha-mode": "all"}' " (boolean value)
#rabbit_ha_queues = false
# Use quorum queues in RabbitMQ (x-queue-type: quorum). The quorum queue is a
# modern queue type for RabbitMQ implementing a durable, replicated FIFO queue
# based on the Raft consensus algorithm. It is available as of RabbitMQ 3.8.0.
# If set this option will conflict with the HA queues (``rabbit_ha_queues``)
# aka mirrored queues, in other words the HA queues should be disabled. Quorum
# queues are also durable by default so the amqp_durable_queues option is
# ignored when this option is enabled. (boolean value)
#rabbit_quorum_queue = false
# Use quorum queues for transients queues in RabbitMQ. Enabling this option
# will then make sure those queues are also using quorum kind of rabbit queues,
# which are HA by default. (boolean value)
#rabbit_transient_quorum_queue = false
# Each time a message is redelivered to a consumer, a counter is incremented.
# Once the redelivery count exceeds the delivery limit the message gets dropped
# or dead-lettered (if a DLX exchange has been configured) Used only when
# rabbit_quorum_queue is enabled, Default 0 which means dont set a limit.
# (integer value)
#rabbit_quorum_delivery_limit = 0
# By default all messages are maintained in memory if a quorum queue grows in
# length it can put memory pressure on a cluster. This option can limit the
# number of messages in the quorum queue. Used only when rabbit_quorum_queue is
# enabled, Default 0 which means dont set a limit. (integer value)
#rabbit_quorum_max_memory_length = 0
# By default all messages are maintained in memory if a quorum queue grows in
# length it can put memory pressure on a cluster. This option can limit the
# number of memory bytes used by the quorum queue. Used only when
# rabbit_quorum_queue is enabled, Default 0 which means dont set a limit.
# (integer value)
#rabbit_quorum_max_memory_bytes = 0
# Positive integer representing duration in seconds for queue TTL (x-expires).
# Queues which are unused for the duration of the TTL are automatically
# deleted. The parameter affects only reply and fanout queues. Setting 0 as
# value will disable the x-expires. If doing so, make sure you have a rabbitmq
# policy to delete the queues or you deployment will create an infinite number
# of queue over time.In case rabbit_stream_fanout is set to True, this option
# will control data retention policy (x-max-age) for messages in the fanout
# queue rather then the queue duration itself. So the oldest data in the stream
# queue will be discarded from it once reaching TTL Setting to 0 will disable
# x-max-age for stream which make stream grow indefinitely filling up the
# diskspace (integer value)
# Minimum value: 0
#rabbit_transient_queues_ttl = 1800
# Specifies the number of messages to prefetch. Setting to zero allows
# unlimited messages. (integer value)
#rabbit_qos_prefetch_count = 0
# Number of seconds after which the Rabbit broker is considered down if
# heartbeat's keep-alive fails (0 disables heartbeat). (integer value)
#heartbeat_timeout_threshold = 60
# How often times during the heartbeat_timeout_threshold we check the
# heartbeat. (integer value)
#heartbeat_rate = 3
# DEPRECATED: (DEPRECATED) Enable/Disable the RabbitMQ mandatory flag for
# direct send. The direct send is used as reply, so the MessageUndeliverable
# exception is raised in case the client queue does not
# exist.MessageUndeliverable exception will be used to loop for a timeout to
# lets a chance to sender to recover.This flag is deprecated and it will not be
# possible to deactivate this functionality anymore (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Mandatory flag no longer deactivable.
#direct_mandatory_flag = true
# Enable x-cancel-on-ha-failover flag so that rabbitmq server will cancel and
# notify consumerswhen queue is down (boolean value)
#enable_cancel_on_failover = false
# Should we use consistant queue names or random ones (boolean value)
#use_queue_manager = false
# Hostname used by queue manager. Defaults to the value returned by
# socket.gethostname(). (string value)
#
# This option has a sample default set, which means that
# its actual default value may vary from the one documented
# below.
#hostname = node1.example.com
# Process name used by queue manager (string value)
#
# This option has a sample default set, which means that
# its actual default value may vary from the one documented
# below.
#processname = nova-api
# Use stream queues in RabbitMQ (x-queue-type: stream). Streams are a new
# persistent and replicated data structure ("queue type") in RabbitMQ which
# models an append-only log with non-destructive consumer semantics. It is
# available as of RabbitMQ 3.9.0. If set this option will replace all fanout
# queues with only one stream queue. (boolean value)
#rabbit_stream_fanout = false
[oslo_policy]
#
# From oslo.policy
#
# DEPRECATED: This option controls whether or not to enforce scope when
# evaluating policies. If ``True``, the scope of the token used in the request
# is compared to the ``scope_types`` of the policy being enforced. If the
# scopes do not match, an ``InvalidScope`` exception will be raised. If
# ``False``, a message will be logged informing operators that policies are
# being invoked with mismatching scope. (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: This configuration was added temporarily to facilitate a smooth
# transition to the new RBAC. OpenStack will always enforce scope checks. This
# configuration option is deprecated and will be removed in the 2025.2 cycle.
#enforce_scope = true
# This option controls whether or not to use old deprecated defaults when
# evaluating policies. If ``True``, the old deprecated defaults are not going
# to be evaluated. This means if any existing token is allowed for old defaults
# but is disallowed for new defaults, it will be disallowed. It is encouraged
# to enable this flag along with the ``enforce_scope`` flag so that you can get
# the benefits of new defaults and ``scope_type`` together. If ``False``, the
# deprecated policy check string is logically OR'd with the new policy check
# string, allowing for a graceful upgrade experience between releases with new
# policies, which is the default behavior. (boolean value)
#enforce_new_defaults = true
# The relative or absolute path of a file that maps roles to permissions for a
# given service. Relative paths must be specified in relation to the
# configuration file setting this option. (string value)
#policy_file = policy.yaml
# Default rule. Enforced when a requested rule is not found. (string value)
#policy_default_rule = default
# Directories where policy configuration files are stored. They can be relative
# to any directory in the search path defined by the config_dir option, or
# absolute paths. The file defined by policy_file must exist for these
# directories to be searched. Missing or empty directories are ignored. (multi
# valued)
#policy_dirs = policy.d
# Content Type to send and receive data for REST based policy check (string
# value)
# Possible values:
# application/x-www-form-urlencoded - <No description provided>
# application/json - <No description provided>
#remote_content_type = application/x-www-form-urlencoded
# server identity verification for REST based policy check (boolean value)
#remote_ssl_verify_server_crt = false
# Absolute path to ca cert file for REST based policy check (string value)
#remote_ssl_ca_crt_file = <None>
# Absolute path to client cert for REST based policy check (string value)
#remote_ssl_client_crt_file = <None>
# Absolute path client key file REST based policy check (string value)
#remote_ssl_client_key_file = <None>
# Timeout in seconds for REST based policy check (floating point value)
# Minimum value: 0
#remote_timeout = 60
[oslo_reports]
#
# From oslo.reports
#
# Path to a log directory where to create a file (string value)
#log_dir = <None>
# The path to a file to watch for changes to trigger the reports, instead of
# signals. Setting this option disables the signal trigger for the reports. If
# application is running as a WSGI application it is recommended to use this
# instead of signals. (string value)
#file_event_handler = <None>
# How many seconds to wait between polls when file_event_handler is set
# (integer value)
#file_event_handler_interval = 1
[pooling:catalog]
#
# From zaqar
#
# If enabled, the message_store will be used as the storage for the virtual
# pool. (boolean value)
#enable_virtual_pool = false
[profiler]
#
# From osprofiler
#
#
# Enable the profiling for all services on this node.
#
# Default value is False (fully disable the profiling feature).
#
# Possible values:
#
# * True: Enables the feature
# * False: Disables the feature. The profiling cannot be started via this
# project
# operations. If the profiling is triggered by another project, this project
# part will be empty.
# (boolean value)
# Deprecated group/name - [profiler]/profiler_enabled
#enabled = false
#
# Enable SQL requests profiling in services.
#
# Default value is False (SQL requests won't be traced).
#
# Possible values:
#
# * True: Enables SQL requests profiling. Each SQL query will be part of the
# trace and can the be analyzed by how much time was spent for that.
# * False: Disables SQL requests profiling. The spent time is only shown on a
# higher level of operations. Single SQL queries cannot be analyzed this way.
# (boolean value)
#trace_sqlalchemy = false
#
# Enable python requests package profiling.
#
# Supported drivers: jaeger+otlp
#
# Default value is False.
#
# Possible values:
#
# * True: Enables requests profiling.
# * False: Disables requests profiling.
# (boolean value)
#trace_requests = false
#
# Secret key(s) to use for encrypting context data for performance profiling.
#
# This string value should have the following format:
# <key1>[,<key2>,...<keyn>],
# where each key is some random string. A user who triggers the profiling via
# the REST API has to set one of these keys in the headers of the REST API call
# to include profiling results of this node for this particular project.
#
# Both "enabled" flag and "hmac_keys" config options should be set to enable
# profiling. Also, to generate correct profiling information across all
# services
# at least one key needs to be consistent between OpenStack projects. This
# ensures it can be used from client side to generate the trace, containing
# information from all possible resources.
# (string value)
#hmac_keys = SECRET_KEY
#
# Connection string for a notifier backend.
#
# Default value is ``messaging://`` which sets the notifier to oslo_messaging.
#
# Examples of possible values:
#
# * ``messaging://`` - use oslo_messaging driver for sending spans.
# * ``redis://127.0.0.1:6379`` - use redis driver for sending spans.
# * ``mongodb://127.0.0.1:27017`` - use mongodb driver for sending spans.
# * ``elasticsearch://127.0.0.1:9200`` - use elasticsearch driver for sending
# spans.
# * ``jaeger://127.0.0.1:6831`` - use jaeger tracing as driver for sending
# spans.
# (string value)
#connection_string = messaging://
#
# Document type for notification indexing in elasticsearch.
# (string value)
#es_doc_type = notification
#
# This parameter is a time value parameter (for example: es_scroll_time=2m),
# indicating for how long the nodes that participate in the search will
# maintain
# relevant resources in order to continue and support it.
# (string value)
#es_scroll_time = 2m
#
# Elasticsearch splits large requests in batches. This parameter defines
# maximum size of each batch (for example: es_scroll_size=10000).
# (integer value)
#es_scroll_size = 10000
#
# Redissentinel provides a timeout option on the connections.
# This parameter defines that timeout (for example: socket_timeout=0.1).
# (floating point value)
#socket_timeout = 0.1
#
# Redissentinel uses a service name to identify a master redis service.
# This parameter defines the name (for example:
# ``sentinal_service_name=mymaster``).
# (string value)
#sentinel_service_name = mymaster
#
# Enable filter traces that contain error/exception to a separated place.
#
# Default value is set to False.
#
# Possible values:
#
# * True: Enable filter traces that contain error/exception.
# * False: Disable the filter.
# (boolean value)
#filter_error_trace = false
#
# From zaqar
#
# If False doesn't trace any transport requests.Please note that it doesn't
# work for websocket now. (boolean value)
#trace_wsgi_transport = false
# If False doesn't trace any message store requests. (boolean value)
#trace_message_store = false
# If False doesn't trace any management store requests. (boolean value)
#trace_management_store = false
[profiler_jaeger]
#
# From osprofiler
#
#
# Set service name prefix to Jaeger service name.
# (string value)
#service_name_prefix = <None>
#
# Set process tracer tags.
# (dict value)
#process_tags =
[profiler_otlp]
#
# From osprofiler
#
#
# Set service name prefix to OTLP exporters.
# (string value)
#service_name_prefix = <None>
[signed_url]
#
# From zaqar
#
# Secret key used to encrypt pre-signed URLs. (string value)
#secret_key = <None>
[storage]
#
# From zaqar
#
# Pipeline to use for processing queue operations. This pipeline will be
# consumed before calling the storage driver's controller methods. (list value)
#queue_pipeline =
# Pipeline to use for processing message operations. This pipeline will be
# consumed before calling the storage driver's controller methods. (list value)
#message_pipeline =
# Pipeline to use for processing claim operations. This pipeline will be
# consumed before calling the storage driver's controller methods. (list value)
#claim_pipeline =
# Pipeline to use for processing subscription operations. This pipeline will be
# consumed before calling the storage driver's controller methods. (list value)
#subscription_pipeline =
# Pipeline to use for processing topic operations. This pipeline will be
# consumed before calling the storage driver's controller methods. (list value)
#topic_pipeline =
[transport]
#
# From zaqar
#
# Defines how long a message will be accessible. (integer value)
#default_message_ttl = 3600
# Defines the defautl value for queue delay seconds.The 0 means the delayed
# queues feature is close. (integer value)
#default_message_delay = 0
# Defines how long a message will be in claimed state. (integer value)
#default_claim_ttl = 300
# Defines the message grace period in seconds. (integer value)
#default_claim_grace = 60
# Defines how long a subscription will be available. (integer value)
#default_subscription_ttl = 3600
# Defines the maximum number of queues per page. (integer value)
#max_queues_per_page = 20
# Defines the maximum number of messages per page. (integer value)
#max_messages_per_page = 20
# Defines the maximum number of subscriptions per page. (integer value)
#max_subscriptions_per_page = 20
# The maximum number of messages that can be claimed (OR) popped in a single
# request (integer value)
#max_messages_per_claim_or_pop = 20
# Defines the maximum amount of metadata in a queue. (integer value)
#max_queue_metadata = 65536
# Defines the maximum size of message posts. (integer value)
#max_messages_post_size = 262144
# Maximum amount of time a message will be available. (integer value)
#max_message_ttl = 1209600
# Maximum delay seconds for messages can be claimed. (integer value)
#max_message_delay = 900
# Maximum length of a message in claimed state. (integer value)
#max_claim_ttl = 43200
# Defines the maximum message grace period in seconds. (integer value)
#max_claim_grace = 43200
# Defines supported subscriber types. (list value)
#subscriber_types = http,https,mailto,trust+http,trust+https
# Defines the maximum number of flavors per page. (integer value)
#max_flavors_per_page = 20
# Defines the maximum number of pools per page. (integer value)
#max_pools_per_page = 20
# Defines the format of client id. (string value)
# Possible values:
# strict - accept only valid uuid
# off - accept any string
#client_id_uuid_safe = strict
# Defines the minimum length of client id This is used only when
# client_id_uuid_safe is off. (integer value)
#min_length_client_id = 10
# Defines the maximum length of client id. This is used only when
# client_id_uuid_safe is off. (integer value)
#max_length_client_id = 36
# Enable delete messages must be with claim IDS. This will improve the security
# of the message avoiding delete messages before they are claimed and handled.
# (boolean value)
#message_delete_with_claim_id = false
# Defines the encryption algorithms of messages, the value could be "AES256"
# for now. (string value)
# Possible values:
# AES256 - <No description provided>
# RSA - <No description provided>
#message_encryption_algorithms = AES256
# Defines the encryption key of algorithms. (string value)
#message_encryption_key = AES256