barbican.conf

DEFAULT

backdoor_port
Type:

string

Default:

<None>

Enable eventlet backdoor. Acceptable values are 0, <port>, and <start>:<end>, where 0 results in listening on a random tcp port number; <port> results in listening on the specified port number (and not enabling backdoor if that port is in use); and <start>:<end> results in listening on the smallest unused port number within the specified range of port numbers. The chosen port is displayed in the service’s log file.

backdoor_socket
Type:

string

Default:

<None>

Enable eventlet backdoor, using the provided path as a unix socket that can receive connections. This option is mutually exclusive with ‘backdoor_port’ in that only one should be provided. If both are provided then the existence of this option overrides the usage of that option. Inside the path {pid} will be replaced with the PID of the current process.

log_options
Type:

boolean

Default:

True

Enables or disables logging values of all registered options when starting a service (at DEBUG level).

graceful_shutdown_timeout
Type:

integer

Default:

60

Specify a timeout after which a gracefully shutdown server will exit. Zero value means endless wait.

admin_role
Type:

string

Default:

admin

Role used to identify an authenticated user as administrator.

allow_anonymous_access
Type:

boolean

Default:

False

Allow unauthenticated users to access the API with read-only privileges. This only applies when using ContextMiddleware.

max_allowed_request_size_in_bytes
Type:

integer

Default:

25000

Maximum allowed http request size against the barbican-api.

max_allowed_secret_in_bytes
Type:

integer

Default:

20000

Maximum allowed secret size in bytes.

host_href
Type:

string

Default:

http://localhost:9311

Host name, for use in HATEOAS-style references Note: Typically this would be the load balanced endpoint that clients would use to communicate back with this service. If a deployment wants to derive host from wsgi request instead then make this blank. Blank is needed to override default config value which is ‘http://localhost:9311

db_auto_create
Type:

boolean

Default:

False

Create the Barbican database on service startup.

max_limit_paging
Type:

integer

Default:

100

Maximum page size for the ‘limit’ paging URL parameter.

default_limit_paging
Type:

integer

Default:

10

Default page size for the ‘limit’ paging URL parameter.

sql_pool_class
Type:

string

Default:

QueuePool

Accepts a class imported from the sqlalchemy.pool module, and handles the details of building the pool for you. If commented out, SQLAlchemy will select based on the database dialect. Other options are QueuePool (for SQLAlchemy-managed connections) and NullPool (to disabled SQLAlchemy management of connections). See http://docs.sqlalchemy.org/en/latest/core/pooling.html for more details

sql_pool_logging
Type:

boolean

Default:

False

Show SQLAlchemy pool-related debugging output in logs (sets DEBUG log level output) if specified.

rpc_conn_pool_size
Type:

integer

Default:

30

Minimum Value:

1

Size of RPC connection pool.

Deprecated Variations

Group

Name

DEFAULT

rpc_conn_pool_size

conn_pool_min_size
Type:

integer

Default:

2

The pool size limit for connections expiration policy

conn_pool_ttl
Type:

integer

Default:

1200

The time-to-live in sec of idle connections in the pool

executor_thread_pool_size
Type:

integer

Default:

64

Size of executor thread pool when executor is threading or eventlet.

Deprecated Variations

Group

Name

DEFAULT

rpc_thread_pool_size

rpc_response_timeout
Type:

integer

Default:

60

Seconds to wait for a response from a call.

transport_url
Type:

string

Default:

rabbit://

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/latest/reference/transport.html

control_exchange
Type:

string

Default:

openstack

The default exchange under which topics are scoped. May be overridden by an exchange name specified in the transport_url option.

rpc_ping_enabled
Type:

boolean

Default:

False

Add an endpoint to answer to ping calls. Endpoint is named oslo_rpc_server_ping

debug
Type:

boolean

Default:

False

Mutable:

This option can be changed without restarting.

If set to true, the logging level will be set to DEBUG instead of the default INFO level.

log_config_append
Type:

string

Default:

<None>

Mutable:

This option can be changed without restarting.

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).

Deprecated Variations

Group

Name

DEFAULT

log-config

DEFAULT

log_config

log_date_format
Type:

string

Default:

%Y-%m-%d %H:%M:%S

Defines the format string for %(asctime)s in log records. Default: the value above . This option is ignored if log_config_append is set.

log_file
Type:

string

Default:

<None>

(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.

Deprecated Variations

Group

Name

DEFAULT

logfile

log_dir
Type:

string

Default:

<None>

(Optional) The base directory used for relative log_file paths. This option is ignored if log_config_append is set.

Deprecated Variations

Group

Name

DEFAULT

logdir

watch_log_file
Type:

boolean

Default:

False

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.

use_syslog
Type:

boolean

Default:

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.

use_journal
Type:

boolean

Default:

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.

syslog_log_facility
Type:

string

Default:

LOG_USER

Syslog facility to receive log lines. This option is ignored if log_config_append is set.

use_json
Type:

boolean

Default:

False

Use JSON formatting for logging. This option is ignored if log_config_append is set.

use_stderr
Type:

boolean

Default:

False

Log output to standard error. This option is ignored if log_config_append is set.

use_eventlog
Type:

boolean

Default:

False

Log output to Windows Event Log.

Warning

This option is deprecated for removal. Its value may be silently ignored in the future.

Reason:

Windows support is no longer maintained.

log_rotate_interval
Type:

integer

Default:

1

The amount of time before the log files are rotated. This option is ignored unless log_rotation_type is set to “interval”.

log_rotate_interval_type
Type:

string

Default:

days

Valid Values:

Seconds, Minutes, Hours, Days, Weekday, Midnight

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.

max_logfile_count
Type:

integer

Default:

30

Maximum number of rotated log files.

max_logfile_size_mb
Type:

integer

Default:

200

Log file maximum size in MB. This option is ignored if “log_rotation_type” is not set to “size”.

log_rotation_type
Type:

string

Default:

none

Valid Values:

interval, size, none

Log rotation type.

Possible values

interval

Rotate logs at predefined time intervals.

size

Rotate logs once they reach a predefined size.

none

Do not rotate log files.

logging_context_format_string
Type:

string

Default:

%(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 with context. Used by oslo_log.formatters.ContextFormatter

logging_default_format_string
Type:

string

Default:

%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s

Format string to use for log messages when context is undefined. Used by oslo_log.formatters.ContextFormatter

logging_debug_format_suffix
Type:

string

Default:

%(funcName)s %(pathname)s:%(lineno)d

Additional data to append to log message when logging level for the message is DEBUG. Used by oslo_log.formatters.ContextFormatter

logging_exception_prefix
Type:

string

Default:

%(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s

Prefix each line of exception output with this format. Used by oslo_log.formatters.ContextFormatter

logging_user_identity_format
Type:

string

Default:

%(user)s %(project)s %(domain)s %(system_scope)s %(user_domain)s %(project_domain)s

Defines the format string for %(user_identity)s that is used in logging_context_format_string. Used by oslo_log.formatters.ContextFormatter

default_log_levels
Type:

list

Default:

['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']

List of package logging levels in logger=LEVEL pairs. This option is ignored if log_config_append is set.

publish_errors
Type:

boolean

Default:

False

Enables or disables publication of error events.

instance_format
Type:

string

Default:

"[instance: %(uuid)s] "

The format for an instance that is passed with the log message.

instance_uuid_format
Type:

string

Default:

"[instance: %(uuid)s] "

The format for an instance UUID that is passed with the log message.

rate_limit_interval
Type:

integer

Default:

0

Interval, number of seconds, of log rate limiting.

rate_limit_burst
Type:

integer

Default:

0

Maximum number of logged messages per rate_limit_interval.

rate_limit_except_level
Type:

string

Default:

CRITICAL

Log level name used by rate limiting: CRITICAL, ERROR, INFO, WARNING, DEBUG or empty string. Logs with level greater or equal to rate_limit_except_level are not filtered. An empty string means that all levels are filtered.

fatal_deprecations
Type:

boolean

Default:

False

Enables or disables fatal status of deprecations.

audit_middleware_notifications

use_oslo_messaging
Type:

boolean

Default:

True

Indicate whether to use oslo_messaging as the notifier. If set to False, the local logger will be used as the notifier. If set to True, the oslo_messaging package must also be present. Otherwise, the local will be used instead.

driver
Type:

string

Default:

<None>

The Driver to handle sending notifications. Possible values are messaging, messagingv2, routing, log, test, noop. If not specified, then value from oslo_messaging_notifications conf section is used.

topics
Type:

list

Default:

<None>

List of AMQP topics used for OpenStack notifications. If not specified, then value from oslo_messaging_notifications conf section is used.

transport_url
Type:

string

Default:

<None>

A URL representing messaging driver to use for notification. If not specified, we fall back to the same configuration used for RPC.

cors

allowed_origin
Type:

list

Default:

<None>

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

allow_credentials
Type:

boolean

Default:

True

Indicate that the actual request can include user credentials

expose_headers
Type:

list

Default:

['X-Auth-Token', 'X-Openstack-Request-Id', 'X-Project-Id', 'X-Identity-Status', 'X-User-Id', 'X-Storage-Token', 'X-Domain-Id', 'X-User-Domain-Id', 'X-Project-Domain-Id', 'X-Roles']

Indicate which headers are safe to expose to the API. Defaults to HTTP Simple Headers.

max_age
Type:

integer

Default:

3600

Maximum cache age of CORS preflight requests.

allow_methods
Type:

list

Default:

['GET', 'PUT', 'POST', 'DELETE', 'PATCH']

Indicate which methods can be used during the actual request.

allow_headers
Type:

list

Default:

['X-Auth-Token', 'X-Openstack-Request-Id', 'X-Project-Id', 'X-Identity-Status', 'X-User-Id', 'X-Storage-Token', 'X-Domain-Id', 'X-User-Domain-Id', 'X-Project-Domain-Id', 'X-Roles']

Indicate which header field names may be used during the actual request.

crypto

namespace
Type:

string

Default:

barbican.crypto.plugin

Extension namespace to search for plugins.

enabled_crypto_plugins
Type:

multi-valued

Default:

simple_crypto

List of crypto plugins to load.

database

connection
Type:

string

Default:

sqlite:///barbican.sqlite

SQLAlchemy connection string for the reference implementation registry server. Any valid SQLAlchemy connection string is fine. See: http://www.sqlalchemy.org/docs/05/reference/sqlalchemy/connections.html#sqlalchemy.create_engine. Note: For absolute addresses, use ‘////’ slashes after ‘sqlite:’.

Deprecated Variations

Group

Name

DEFAULT

sql_connection

connection_recycle_time
Type:

integer

Default:

3600

Period in seconds after which SQLAlchemy should reestablish its connection to the database. MySQL uses a default wait_timeout of 8 hours, after which it will drop idle connections. This can result in ‘MySQL Gone Away’ exceptions. If you notice this, you can lower this value to ensure that SQLAlchemy reconnects before MySQL can drop the connection.

Deprecated Variations

Group

Name

DEFAULT

sql_idle_timeout

max_retries
Type:

integer

Default:

60

Maximum number of database connection retries during startup. Set to -1 to specify an infinite retry count.

Deprecated Variations

Group

Name

DEFAULT

sql_max_retries

retry_interval
Type:

integer

Default:

1

Interval between retries of opening a SQL connection.

Deprecated Variations

Group

Name

DEFAULT

sql_retry_interval

max_pool_size
Type:

integer

Default:

5

Size of pool used by SQLAlchemy. This is the largest number of connections that will be kept persistently in the pool. Can be set to 0 to indicate no size limit. To disable pooling, use a NullPool with sql_pool_class instead. Comment out to allow SQLAlchemy to select the default.

Deprecated Variations

Group

Name

DEFAULT

sql_pool_size

max_overflow
Type:

integer

Default:

10

# The maximum overflow size of the pool used by SQLAlchemy. When the number of checked-out connections reaches the size set in max_pool_size, additional connections will be returned up to this limit. It follows then that the total number of simultaneous connections the pool will allow is max_pool_size + max_overflow. Can be set to -1 to indicate no overflow limit, so no limit will be placed on the total number of concurrent connections. Comment out to allow SQLAlchemy to select the default.

Deprecated Variations

Group

Name

DEFAULT

sql_pool_max_overflow

dogtag_plugin

pem_path
Type:

string

Default:

/etc/barbican/kra_admin_cert.pem

Path to PEM file for authentication

dogtag_host
Type:

string

Default:

localhost

Hostname for the Dogtag instance

dogtag_port
Type:

port number

Default:

8443

Minimum Value:

0

Maximum Value:

65535

Port for the Dogtag instance

nss_db_path
Type:

string

Default:

/etc/barbican/alias

Path to the NSS certificate database

nss_password
Type:

string

Default:

<None>

Password for the NSS certificate databases

plugin_name
Type:

string

Default:

Dogtag KRA

User friendly plugin name

retries
Type:

integer

Default:

3

Retries when storing or generating secrets

healthcheck

path
Type:

string

Default:

/healthcheck

The path to respond to healtcheck requests on.

Warning

This option is deprecated for removal. Its value may be silently ignored in the future.

detailed
Type:

boolean

Default:

False

Show more detailed information as part of the response. Security note: Enabling this option may expose sensitive details about the service being monitored. Be sure to verify that it will not violate your security policies.

backends
Type:

list

Default:

[]

Additional backends that can perform health checks and report that information back as part of a request.

allowed_source_ranges
Type:

list

Default:

[]

A list of network addresses to limit source ip allowed to access healthcheck information. Any request from ip outside of these network addresses are ignored.

ignore_proxied_requests
Type:

boolean

Default:

False

Ignore requests with proxy headers.

disable_by_file_path
Type:

string

Default:

<None>

Check the presence of a file to determine if an application is running on a port. Used by DisableByFileHealthcheck plugin.

disable_by_file_paths
Type:

list

Default:

[]

Check the presence of a file based on a port to determine if an application is running on a port. Expects a “port:path” list of strings. Used by DisableByFilesPortsHealthcheck plugin.

keystone_authtoken

www_authenticate_uri
Type:

string

Default:

<None>

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.

Deprecated Variations

Group

Name

keystone_authtoken

auth_uri

auth_uri
Type:

string

Default:

<None>

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.

Warning

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_version
Type:

string

Default:

<None>

API version of the Identity API endpoint.

interface
Type:

string

Default:

internal

Interface to use for the Identity API endpoint. Valid values are “public”, “internal” (default) or “admin”.

delay_auth_decision
Type:

boolean

Default:

False

Do not handle authorization requests within the middleware, but delegate the authorization decision to downstream WSGI components.

http_connect_timeout
Type:

integer

Default:

<None>

Request timeout value for communicating with Identity API server.

http_request_max_retries
Type:

integer

Default:

3

How many times are we trying to reconnect when communicating with Identity API Server.

cache
Type:

string

Default:

<None>

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.

certfile
Type:

string

Default:

<None>

Required if identity server requires client certificate

keyfile
Type:

string

Default:

<None>

Required if identity server requires client certificate

cafile
Type:

string

Default:

<None>

A PEM encoded Certificate Authority to use when verifying HTTPs connections. Defaults to system CAs.

insecure
Type:

boolean

Default:

False

Verify HTTPS connections.

region_name
Type:

string

Default:

<None>

The region in which the identity server can be found.

memcached_servers
Type:

list

Default:

<None>

Optionally specify a list of memcached server(s) to use for caching. If left undefined, tokens will instead be cached in-process.

Deprecated Variations

Group

Name

keystone_authtoken

memcache_servers

token_cache_time
Type:

integer

Default:

300

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.

memcache_security_strategy
Type:

string

Default:

None

Valid Values:

None, MAC, ENCRYPT

(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.

memcache_secret_key
Type:

string

Default:

<None>

(Optional, mandatory if memcache_security_strategy is defined) This string is used for key derivation.

memcache_pool_dead_retry
Type:

integer

Default:

300

(Optional) Number of seconds memcached server is considered dead before it is tried again.

memcache_pool_maxsize
Type:

integer

Default:

10

(Optional) Maximum total number of open connections to every memcached server.

memcache_pool_socket_timeout
Type:

integer

Default:

3

(Optional) Socket timeout in seconds for communicating with a memcached server.

memcache_pool_unused_timeout
Type:

integer

Default:

60

(Optional) Number of seconds a connection to memcached is held unused in the pool before it is closed.

memcache_pool_conn_get_timeout
Type:

integer

Default:

10

(Optional) Number of seconds that an operation will wait to get a memcached client connection from the pool.

memcache_use_advanced_pool
Type:

boolean

Default:

True

(Optional) Use the advanced (eventlet safe) memcached client pool.

include_service_catalog
Type:

boolean

Default:

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.

enforce_token_bind
Type:

string

Default:

permissive

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.

service_token_roles
Type:

list

Default:

['service']

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.

service_token_roles_required
Type:

boolean

Default:

False

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.

service_type
Type:

string

Default:

<None>

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.

auth_type
Type:

unknown type

Default:

<None>

Authentication type to load

Deprecated Variations

Group

Name

keystone_authtoken

auth_plugin

auth_section
Type:

unknown type

Default:

<None>

Config Section from which to load plugin specific options

keystone_notifications

enable
Type:

boolean

Default:

False

True enables keystone notification listener functionality.

control_exchange
Type:

string

Default:

keystone

The default exchange under which topics are scoped. May be overridden by an exchange name specified in the transport_url option.

topic
Type:

string

Default:

notifications

Keystone notification queue topic name. This name needs to match one of values mentioned in Keystone deployment’s ‘notification_topics’ configuration e.g. notification_topics=notifications, barbican_notificationsMultiple servers may listen on a topic and messages will be dispatched to one of the servers in a round-robin fashion. That’s why Barbican service should have its own dedicated notification queue so that it receives all of Keystone notifications. Alternatively if the chosen oslo.messaging backend supports listener pooling (for example rabbitmq), setting a non-default ‘pool_name’ option should be preferred.

pool_name
Type:

string

Default:

<None>

Pool name for notifications listener. Setting this to a distinctive value will allow barbican notifications listener to receive its own copy of all messages from the topic without without interfering with other services listening on the same topic. This feature is supported only by some oslo.messaging backends (in particilar by rabbitmq) and for those it is preferrable to use it instead of separate notification topic for barbican.

allow_requeue
Type:

boolean

Default:

False

True enables requeue feature in case of notification processing error. Enable this only when underlying transport supports this feature.

version
Type:

string

Default:

1.0

Version of tasks invoked via notifications

thread_pool_size
Type:

integer

Default:

10

Define the number of max threads to be used for notification server processing functionality.

kmip_plugin

username
Type:

string

Default:

<None>

Username for authenticating with KMIP server

password
Type:

string

Default:

<None>

Password for authenticating with KMIP server

host
Type:

string

Default:

localhost

Address of the KMIP server

port
Type:

port number

Default:

5696

Minimum Value:

0

Maximum Value:

65535

Port for the KMIP server

ssl_version
Type:

string

Default:

PROTOCOL_TLSv1_2

SSL version, maps to the module ssl’s constants

ca_certs
Type:

string

Default:

<None>

File path to concatenated “certification authority” certificates

certfile
Type:

string

Default:

<None>

File path to local client certificate

keyfile
Type:

string

Default:

<None>

File path to local client certificate keyfile

pkcs1_only
Type:

boolean

Default:

False

Only support PKCS#1 encoding of asymmetric keys

plugin_name
Type:

string

Default:

KMIP HSM

User friendly plugin name

oslo_messaging_amqp

container_name
Type:

string

Default:

<None>

Name for the AMQP container. must be globally unique. Defaults to a generated UUID

Deprecated Variations

Group

Name

amqp1

container_name

idle_timeout
Type:

integer

Default:

0

Timeout for inactive connections (in seconds)

Deprecated Variations

Group

Name

amqp1

idle_timeout

trace
Type:

boolean

Default:

False

Debug: dump AMQP frames to stdout

Deprecated Variations

Group

Name

amqp1

trace

ssl
Type:

boolean

Default:

False

Attempt to connect via SSL. If no other ssl-related parameters are given, it will use the system’s CA-bundle to verify the server’s certificate.

ssl_ca_file
Type:

string

Default:

''

CA certificate PEM file used to verify the server’s certificate

Deprecated Variations

Group

Name

amqp1

ssl_ca_file

ssl_cert_file
Type:

string

Default:

''

Self-identifying certificate PEM file for client authentication

Deprecated Variations

Group

Name

amqp1

ssl_cert_file

ssl_key_file
Type:

string

Default:

''

Private key PEM file used to sign ssl_cert_file certificate (optional)

Deprecated Variations

Group

Name

amqp1

ssl_key_file

ssl_key_password
Type:

string

Default:

<None>

Password for decrypting ssl_key_file (if encrypted)

Deprecated Variations

Group

Name

amqp1

ssl_key_password

ssl_verify_vhost
Type:

boolean

Default:

False

By default SSL checks that the name in the server’s certificate matches the hostname in the transport_url. In some configurations it may be preferable to use the virtual hostname instead, for example if the server uses the Server Name Indication TLS extension (rfc6066) to provide a certificate per virtual host. Set ssl_verify_vhost to True if the server’s SSL certificate uses the virtual host name instead of the DNS name.

sasl_mechanisms
Type:

string

Default:

''

Space separated list of acceptable SASL mechanisms

Deprecated Variations

Group

Name

amqp1

sasl_mechanisms

sasl_config_dir
Type:

string

Default:

''

Path to directory that contains the SASL configuration

Deprecated Variations

Group

Name

amqp1

sasl_config_dir

sasl_config_name
Type:

string

Default:

''

Name of configuration file (without .conf suffix)

Deprecated Variations

Group

Name

amqp1

sasl_config_name

sasl_default_realm
Type:

string

Default:

''

SASL realm to use if no realm present in username

connection_retry_interval
Type:

integer

Default:

1

Minimum Value:

1

Seconds to pause before attempting to re-connect.

connection_retry_backoff
Type:

integer

Default:

2

Minimum Value:

0

Increase the connection_retry_interval by this many seconds after each unsuccessful failover attempt.

connection_retry_interval_max
Type:

integer

Default:

30

Minimum Value:

1

Maximum limit for connection_retry_interval + connection_retry_backoff

Type:

integer

Default:

10

Minimum Value:

1

Time to pause between re-connecting an AMQP 1.0 link that failed due to a recoverable error.

default_reply_retry
Type:

integer

Default:

0

Minimum Value:

-1

The maximum number of attempts to re-send a reply message which failed due to a recoverable error.

default_reply_timeout
Type:

integer

Default:

30

Minimum Value:

5

The deadline for an rpc reply message delivery.

default_send_timeout
Type:

integer

Default:

30

Minimum Value:

5

The deadline for an rpc cast or call message delivery. Only used when caller does not provide a timeout expiry.

default_notify_timeout
Type:

integer

Default:

30

Minimum Value:

5

The deadline for a sent notification message delivery. Only used when caller does not provide a timeout expiry.

Type:

integer

Default:

600

Minimum Value:

1

The duration to schedule a purge of idle sender links. Detach link after expiry.

addressing_mode
Type:

string

Default:

dynamic

Indicates the addressing mode used by the driver. Permitted values: ‘legacy’ - use legacy non-routable addressing ‘routable’ - use routable addresses ‘dynamic’ - use legacy addresses if the message bus does not support routing otherwise use routable addressing

pseudo_vhost
Type:

boolean

Default:

True

Enable virtual host support for those message buses that do not natively support virtual hosting (such as qpidd). When set to true the virtual host name will be added to all message bus addresses, effectively creating a private ‘subnet’ per virtual host. Set to False if the message bus supports virtual hosting using the ‘hostname’ field in the AMQP 1.0 Open performative as the name of the virtual host.

server_request_prefix
Type:

string

Default:

exclusive

address prefix used when sending to a specific server

Deprecated Variations

Group

Name

amqp1

server_request_prefix

broadcast_prefix
Type:

string

Default:

broadcast

address prefix used when broadcasting to all servers

Deprecated Variations

Group

Name

amqp1

broadcast_prefix

group_request_prefix
Type:

string

Default:

unicast

address prefix when sending to any server in group

Deprecated Variations

Group

Name

amqp1

group_request_prefix

rpc_address_prefix
Type:

string

Default:

openstack.org/om/rpc

Address prefix for all generated RPC addresses

notify_address_prefix
Type:

string

Default:

openstack.org/om/notify

Address prefix for all generated Notification addresses

multicast_address
Type:

string

Default:

multicast

Appended to the address prefix when sending a fanout message. Used by the message bus to identify fanout messages.

unicast_address
Type:

string

Default:

unicast

Appended to the address prefix when sending to a particular RPC/Notification server. Used by the message bus to identify messages sent to a single destination.

anycast_address
Type:

string

Default:

anycast

Appended to the address prefix when sending to a group of consumers. Used by the message bus to identify messages that should be delivered in a round-robin fashion across consumers.

default_notification_exchange
Type:

string

Default:

<None>

Exchange name used in notification addresses. Exchange name resolution precedence: Target.exchange if set else default_notification_exchange if set else control_exchange if set else ‘notify’

default_rpc_exchange
Type:

string

Default:

<None>

Exchange name used in RPC addresses. Exchange name resolution precedence: Target.exchange if set else default_rpc_exchange if set else control_exchange if set else ‘rpc’

Type:

integer

Default:

200

Minimum Value:

1

Window size for incoming RPC Reply messages.

rpc_server_credit
Type:

integer

Default:

100

Minimum Value:

1

Window size for incoming RPC Request messages

notify_server_credit
Type:

integer

Default:

100

Minimum Value:

1

Window size for incoming Notification messages

pre_settled
Type:

multi-valued

Default:

rpc-cast

Default:

rpc-reply

Send messages of this type pre-settled. Pre-settled messages will not receive acknowledgement from the peer. Note well: pre-settled messages may be silently discarded if the delivery fails. Permitted values: ‘rpc-call’ - send RPC Calls pre-settled ‘rpc-reply’- send RPC Replies pre-settled ‘rpc-cast’ - Send RPC Casts pre-settled ‘notify’ - Send Notifications pre-settled

oslo_messaging_kafka

kafka_max_fetch_bytes
Type:

integer

Default:

1048576

Max fetch bytes of Kafka consumer

kafka_consumer_timeout
Type:

floating point

Default:

1.0

Default timeout(s) for Kafka consumers

pool_size
Type:

integer

Default:

10

Pool Size for Kafka Consumers

Warning

This option is deprecated for removal. Its value may be silently ignored in the future.

Reason:

Driver no longer uses connection pool.

conn_pool_min_size
Type:

integer

Default:

2

The pool size limit for connections expiration policy

Warning

This option is deprecated for removal. Its value may be silently ignored in the future.

Reason:

Driver no longer uses connection pool.

conn_pool_ttl
Type:

integer

Default:

1200

The time-to-live in sec of idle connections in the pool

Warning

This option is deprecated for removal. Its value may be silently ignored in the future.

Reason:

Driver no longer uses connection pool.

consumer_group
Type:

string

Default:

oslo_messaging_consumer

Group id for Kafka consumer. Consumers in one group will coordinate message consumption

producer_batch_timeout
Type:

floating point

Default:

0.0

Upper bound on the delay for KafkaProducer batching in seconds

producer_batch_size
Type:

integer

Default:

16384

Size of batch for the producer async send

compression_codec
Type:

string

Default:

none

Valid Values:

none, gzip, snappy, lz4, zstd

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

enable_auto_commit
Type:

boolean

Default:

False

Enable asynchronous consumer commits

max_poll_records
Type:

integer

Default:

500

The maximum number of records returned in a poll call

security_protocol
Type:

string

Default:

PLAINTEXT

Valid Values:

PLAINTEXT, SASL_PLAINTEXT, SSL, SASL_SSL

Protocol used to communicate with brokers

sasl_mechanism
Type:

string

Default:

PLAIN

Mechanism when security protocol is SASL

ssl_cafile
Type:

string

Default:

''

CA certificate PEM file used to verify the server certificate

ssl_client_cert_file
Type:

string

Default:

''

Client certificate PEM file used for authentication.

ssl_client_key_file
Type:

string

Default:

''

Client key PEM file used for authentication.

ssl_client_key_password
Type:

string

Default:

''

Client key password file used for authentication.

oslo_messaging_notifications

driver
Type:

multi-valued

Default:

''

The Drivers(s) to handle sending notifications. Possible values are messaging, messagingv2, routing, log, test, noop

Deprecated Variations

Group

Name

DEFAULT

notification_driver

transport_url
Type:

string

Default:

<None>

A URL representing the messaging driver to use for notifications. If not set, we fall back to the same configuration used for RPC.

Deprecated Variations

Group

Name

DEFAULT

notification_transport_url

topics
Type:

list

Default:

['notifications']

AMQP topic used for OpenStack notifications.

Deprecated Variations

Group

Name

rpc_notifier2

topics

DEFAULT

notification_topics

retry
Type:

integer

Default:

-1

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

oslo_messaging_rabbit

amqp_durable_queues
Type:

boolean

Default:

False

Use durable queues in AMQP. If rabbit_quorum_queue is enabled, queues will be durable and this value will be ignored.

amqp_auto_delete
Type:

boolean

Default:

False

Auto-delete queues in AMQP.

Deprecated Variations

Group

Name

DEFAULT

amqp_auto_delete

ssl
Type:

boolean

Default:

False

Connect over SSL.

Deprecated Variations

Group

Name

oslo_messaging_rabbit

rabbit_use_ssl

ssl_version
Type:

string

Default:

''

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.

Deprecated Variations

Group

Name

oslo_messaging_rabbit

kombu_ssl_version

ssl_key_file
Type:

string

Default:

''

SSL key file (valid only if SSL enabled).

Deprecated Variations

Group

Name

oslo_messaging_rabbit

kombu_ssl_keyfile

ssl_cert_file
Type:

string

Default:

''

SSL cert file (valid only if SSL enabled).

Deprecated Variations

Group

Name

oslo_messaging_rabbit

kombu_ssl_certfile

ssl_ca_file
Type:

string

Default:

''

SSL certification authority file (valid only if SSL enabled).

Deprecated Variations

Group

Name

oslo_messaging_rabbit

kombu_ssl_ca_certs

ssl_enforce_fips_mode
Type:

boolean

Default:

False

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.

heartbeat_in_pthread
Type:

boolean

Default:

False

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.

kombu_reconnect_delay
Type:

floating point

Default:

1.0

Minimum Value:

0.0

Maximum Value:

4.5

How long to wait (in seconds) before reconnecting in response to an AMQP consumer cancel notification.

Deprecated Variations

Group

Name

DEFAULT

kombu_reconnect_delay

kombu_compression
Type:

string

Default:

<None>

EXPERIMENTAL: Possible values are: gzip, bz2. If not set compression will not be used. This option may not be available in future versions.

kombu_missing_consumer_retry_timeout
Type:

integer

Default:

60

How long to wait a missing client before abandoning to send it its replies. This value should not be longer than rpc_response_timeout.

Deprecated Variations

Group

Name

oslo_messaging_rabbit

kombu_reconnect_timeout

kombu_failover_strategy
Type:

string

Default:

round-robin

Valid Values:

round-robin, shuffle

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.

rabbit_login_method
Type:

string

Default:

AMQPLAIN

Valid Values:

PLAIN, AMQPLAIN, EXTERNAL, RABBIT-CR-DEMO

The RabbitMQ login method.

Deprecated Variations

Group

Name

DEFAULT

rabbit_login_method

rabbit_retry_interval
Type:

integer

Default:

1

How frequently to retry connecting with RabbitMQ.

rabbit_retry_backoff
Type:

integer

Default:

2

How long to backoff for between retries when connecting to RabbitMQ.

Deprecated Variations

Group

Name

DEFAULT

rabbit_retry_backoff

rabbit_interval_max
Type:

integer

Default:

30

Maximum interval of RabbitMQ connection retries. Default is 30 seconds.

rabbit_ha_queues
Type:

boolean

Default:

False

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”}’ “

Deprecated Variations

Group

Name

DEFAULT

rabbit_ha_queues

rabbit_quorum_queue
Type:

boolean

Default:

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 durable by default so the amqp_durable_queues opion is ignored when this option enabled.

rabbit_quorum_delivery_limit
Type:

integer

Default:

0

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.

rabbit_quorum_max_memory_length
Type:

integer

Default:

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.

Deprecated Variations

Group

Name

oslo_messaging_rabbit

rabbit_quroum_max_memory_length

rabbit_quorum_max_memory_bytes
Type:

integer

Default:

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.

Deprecated Variations

Group

Name

oslo_messaging_rabbit

rabbit_quroum_max_memory_bytes

rabbit_transient_queues_ttl
Type:

integer

Default:

1800

Minimum Value:

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.

rabbit_qos_prefetch_count
Type:

integer

Default:

0

Specifies the number of messages to prefetch. Setting to zero allows unlimited messages.

heartbeat_timeout_threshold
Type:

integer

Default:

60

Number of seconds after which the Rabbit broker is considered down if heartbeat’s keep-alive fails (0 disables heartbeat).

heartbeat_rate
Type:

integer

Default:

3

How often times during the heartbeat_timeout_threshold we check the heartbeat.

direct_mandatory_flag
Type:

boolean

Default:

True

(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

Warning

This option is deprecated for removal. Its value may be silently ignored in the future.

Reason:

Mandatory flag no longer deactivable.

enable_cancel_on_failover
Type:

boolean

Default:

False

Enable x-cancel-on-ha-failover flag so that rabbitmq server will cancel and notify consumerswhen queue is down

oslo_middleware

enable_proxy_headers_parsing
Type:

boolean

Default:

False

Whether the application is behind a proxy or not. This determines if the middleware should parse the headers or not.

oslo_policy

enforce_scope
Type:

boolean

Default:

True

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.

enforce_new_defaults
Type:

boolean

Default:

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.

policy_file
Type:

string

Default:

policy.yaml

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.

Deprecated Variations

Group

Name

DEFAULT

policy_file

policy_default_rule
Type:

string

Default:

default

Default rule. Enforced when a requested rule is not found.

Deprecated Variations

Group

Name

DEFAULT

policy_default_rule

policy_dirs
Type:

multi-valued

Default:

policy.d

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.

Deprecated Variations

Group

Name

DEFAULT

policy_dirs

remote_content_type
Type:

string

Default:

application/x-www-form-urlencoded

Valid Values:

application/x-www-form-urlencoded, application/json

Content Type to send and receive data for REST based policy check

remote_ssl_verify_server_crt
Type:

boolean

Default:

False

server identity verification for REST based policy check

remote_ssl_ca_crt_file
Type:

string

Default:

<None>

Absolute path to ca cert file for REST based policy check

remote_ssl_client_crt_file
Type:

string

Default:

<None>

Absolute path to client cert for REST based policy check

remote_ssl_client_key_file
Type:

string

Default:

<None>

Absolute path client key file REST based policy check

oslo_versionedobjects

fatal_exception_format_errors
Type:

boolean

Default:

False

Make exception message format errors fatal

p11_crypto_plugin

library_path
Type:

string

Default:

<None>

Path to vendor PKCS11 library

token_serial_number
Type:

string

Default:

<None>

Token serial number used to identify the token to be used.

token_labels
Type:

list

Default:

[]

List of labels for one or more tokens to be used. Typically this is a single label, but some HSM devices may require more than one label for Load Balancing or High Availability configurations.

login
Type:

string

Default:

<None>

Password to login to PKCS11 session

mkek_label
Type:

string

Default:

<None>

Master KEK label (as stored in the HSM)

mkek_length
Type:

integer

Default:

<None>

Master KEK length in bytes.

hmac_label
Type:

string

Default:

<None>

Master HMAC Key label (as stored in the HSM)

slot_id
Type:

integer

Default:

1

(Optional) HSM Slot ID that contains the token device to be used.

rw_session
Type:

boolean

Default:

True

Flag for Read/Write Sessions

pkek_length
Type:

integer

Default:

32

Project KEK length in bytes.

pkek_cache_ttl
Type:

integer

Default:

900

Project KEK Cache Time To Live, in seconds

pkek_cache_limit
Type:

integer

Default:

100

Project KEK Cache Item Limit

encryption_mechanism
Type:

string

Default:

CKM_AES_CBC

Secret encryption mechanism

Deprecated Variations

Group

Name

p11_crypto_plugin

algorithm

hmac_key_type
Type:

string

Default:

CKK_AES

HMAC Key Type

hmac_keygen_mechanism
Type:

string

Default:

CKM_AES_KEY_GEN

HMAC Key Generation Algorithm

hmac_keywrap_mechanism
Type:

string

Default:

CKM_SHA256_HMAC

HMAC key wrap mechanism

seed_file
Type:

string

Default:

''

File to pull entropy for seeding RNG

seed_length
Type:

integer

Default:

32

Amount of data to read from file for seed

plugin_name
Type:

string

Default:

PKCS11 HSM

User friendly plugin name

aes_gcm_generate_iv
Type:

boolean

Default:

True

Generate IVs for CKM_AES_GCM mechanism.

Deprecated Variations

Group

Name

p11_crypto_plugin

generate_iv

always_set_cka_sensitive
Type:

boolean

Default:

True

Always set CKA_SENSITIVE=CK_TRUE including CKA_EXTRACTABLE=CK_TRUE keys.

os_locking_ok
Type:

boolean

Default:

False

Enable CKF_OS_LOCKING_OK flag when initializing the PKCS#11 client library.

queue

enable
Type:

boolean

Default:

False

True enables queuing, False invokes workers synchronously

namespace
Type:

string

Default:

barbican

Queue namespace

topic
Type:

string

Default:

barbican.workers

Queue topic name

version
Type:

string

Default:

1.1

Version of tasks invoked via queue

server_name
Type:

string

Default:

barbican.queue

Server name for RPC task processing server

asynchronous_workers
Type:

integer

Default:

1

Number of asynchronous worker processes

quotas

quota_secrets
Type:

integer

Default:

-1

Number of secrets allowed per project

quota_orders
Type:

integer

Default:

-1

Number of orders allowed per project

quota_containers
Type:

integer

Default:

-1

Number of containers allowed per project

quota_consumers
Type:

integer

Default:

-1

Number of consumers allowed per project

quota_cas
Type:

integer

Default:

-1

Number of CAs allowed per project

retry_scheduler

initial_delay_seconds
Type:

floating point

Default:

10.0

Seconds (float) to wait before starting retry scheduler

periodic_interval_max_seconds
Type:

floating point

Default:

10.0

Seconds (float) to wait between periodic schedule events

secretstore

namespace
Type:

string

Default:

barbican.secretstore.plugin

Extension namespace to search for plugins.

enabled_secretstore_plugins
Type:

multi-valued

Default:

store_crypto

List of secret store plugins to load.

enable_multiple_secret_stores
Type:

boolean

Default:

False

Flag to enable multiple secret store plugin backend support. Default is False

stores_lookup_suffix
Type:

list

Default:

<None>

List of suffix to use for looking up plugins which are supported with multiple backend support.

simple_crypto_plugin

kek
Type:

string

Default:

dGhpcnR5X3R3b19ieXRlX2tleWJsYWhibGFoYmxhaGg=

Key encryption key to be used by Simple Crypto Plugin

plugin_name
Type:

string

Default:

Software Only Crypto

User friendly plugin name

vault_plugin

root_token_id
Type:

string

Default:

<None>

root token for vault

approle_role_id
Type:

string

Default:

<None>

AppRole role_id for authentication with vault

approle_secret_id
Type:

string

Default:

<None>

AppRole secret_id for authentication with vault

kv_mountpoint
Type:

string

Default:

secret

Mountpoint of KV store in Vault to use, for example: secret

vault_url
Type:

string

Default:

http://127.0.0.1:8200

Use this endpoint to connect to Vault, for example: “http://127.0.0.1:8200

ssl_ca_crt_file
Type:

string

Default:

<None>

Absolute path to ca cert file

use_ssl
Type:

boolean

Default:

False

SSL Enabled/Disabled

namespace
Type:

string

Default:

<None>

Vault Namespace to use for all requests. Namespaces is a feature available in HasiCorp Vault Enterprise only.