| {% from "keystone/map.jinja" import server with context %} |
| [DEFAULT] |
| |
| # |
| # From keystone |
| # |
| |
| # A "shared secret" that can be used to bootstrap Keystone. This "token" does |
| # not represent a user, and carries no explicit authorization. If set to |
| # `None`, the value is ignored and the `admin_token` log in mechanism is |
| # effectively disabled. To completely disable `admin_token` in production |
| # (highly recommended), remove AdminTokenAuthMiddleware from your paste |
| # application pipelines (for example, in keystone-paste.ini). (string value) |
| #admin_token = <None> |
| admin_token={{ server.service_token }} |
| |
| # The base public endpoint URL for Keystone that is advertised to clients |
| # (NOTE: this does NOT affect how Keystone listens for connections). Defaults |
| # to the base host URL of the request. E.g. a request to |
| # http://server:5000/v3/users will default to http://server:5000. You should |
| # only need to set this value if the base URL contains a path (e.g. /prefix/v3) |
| # or the endpoint should be found on a different server. (string value) |
| #public_endpoint = <None> |
| |
| # The base admin endpoint URL for Keystone that is advertised to clients (NOTE: |
| # this does NOT affect how Keystone listens for connections). Defaults to the |
| # base host URL of the request. E.g. a request to http://server:35357/v3/users |
| # will default to http://server:35357. You should only need to set this value |
| # if the base URL contains a path (e.g. /prefix/v3) or the endpoint should be |
| # found on a different server. (string value) |
| #admin_endpoint = <None> |
| |
| # Maximum depth of the project hierarchy, excluding the project acting as a |
| # domain at the top of the hierarchy. WARNING: setting it to a large value may |
| # adversely impact performance. (integer value) |
| #max_project_tree_depth = 5 |
| |
| # Limit the sizes of user & project ID/names. (integer value) |
| #max_param_size = 64 |
| |
| # Similar to max_param_size, but provides an exception for token values. |
| # (integer value) |
| #max_token_size = 8192 |
| |
| # Similar to the member_role_name option, this represents the default role ID |
| # used to associate users with their default projects in the v2 API. This will |
| # be used as the explicit role where one is not specified by the v2 API. |
| # (string value) |
| #member_role_id = 9fe2ff9ee4384b1894a90878d3e92bab |
| |
| # This is the role name used in combination with the member_role_id option; see |
| # that option for more detail. (string value) |
| #member_role_name = _member_ |
| |
| # The value passed as the keyword "rounds" to passlib's encrypt method. |
| # (integer value) |
| # Minimum value: 1000 |
| # Maximum value: 100000 |
| #crypt_strength = 10000 |
| |
| # The maximum number of entities that will be returned in a collection, with no |
| # limit set by default. This global limit may be then overridden for a specific |
| # driver, by specifying a list_limit in the appropriate section (e.g. |
| # [assignment]). (integer value) |
| #list_limit = <None> |
| |
| # Set this to false if you want to enable the ability for user, group and |
| # project entities to be moved between domains by updating their domain_id. |
| # Allowing such movement is not recommended if the scope of a domain admin is |
| # being restricted by use of an appropriate policy file (see |
| # policy.v3cloudsample as an example). This ability is deprecated and will be |
| # removed in a future release. (boolean value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| #domain_id_immutable = true |
| |
| # If set to true, strict password length checking is performed for password |
| # manipulation. If a password exceeds the maximum length, the operation will |
| # fail with an HTTP 403 Forbidden error. If set to false, passwords are |
| # automatically truncated to the maximum length. (boolean value) |
| #strict_password_check = false |
| |
| # The HTTP header used to determine the scheme for the original request, even |
| # if it was removed by an SSL terminating proxy. (string value) |
| #secure_proxy_ssl_header = HTTP_X_FORWARDED_PROTO |
| secure_proxy_ssl_header = "HTTP_X_FORWARDED_PROTO" |
| |
| # If set to true the server will return information in the response that may |
| # allow an unauthenticated or authenticated user to get more information than |
| # normal, such as why authentication failed. This may be useful for debugging |
| # but is insecure. (boolean value) |
| #insecure_debug = false |
| |
| # |
| # From keystone.notifications |
| # |
| |
| # Default publisher_id for outgoing notifications (string value) |
| #default_publisher_id = <None> |
| |
| # Define the notification format for Identity Service events. A "basic" |
| # notification has information about the resource being operated on. A "cadf" |
| # notification has the same information, as well as information about the |
| # initiator of the event. (string value) |
| # Allowed values: basic, cadf |
| #notification_format = basic |
| notification_format = {{ server.get("notification_format", "basic") }} |
| |
| # Define the notification options to opt-out from. The value expected is: |
| # identity.<resource_type>.<operation>. This field can be set multiple times in |
| # order to add more notifications to opt-out from. For example: |
| # notification_opt_out=identity.user.created |
| # notification_opt_out=identity.authenticate.success (multi valued) |
| #notification_opt_out = |
| |
| # |
| # From oslo.log |
| # |
| |
| # If set to true, the logging level will be set to DEBUG instead of the default |
| # INFO level. (boolean value) |
| #debug = false |
| debug = false |
| |
| # If set to false, the logging level will be set to WARNING instead of the |
| # default INFO level. (boolean value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| #verbose = true |
| verbose = true |
| |
| # 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, logging_context_format_string). (string value) |
| # 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> |
| log_dir = /var/log/keystone |
| |
| # 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) |
| #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 |
| |
| # Syslog facility to receive log lines. This option is ignored if |
| # log_config_append is set. (string value) |
| #syslog_log_facility = LOG_USER |
| |
| # Log output to standard error. This option is ignored if log_config_append is |
| # set. (boolean value) |
| #use_stderr = true |
| |
| # Format string to use for log messages with context. (string value) |
| #logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s |
| |
| # Format string to use for log messages when context is undefined. (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. (string value) |
| #logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d |
| |
| # Prefix each line of exception output with this format. (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. (string value) |
| #logging_user_identity_format = %(user)s %(tenant)s %(domain)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,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,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] " |
| |
| # Enables or disables fatal status of deprecations. (boolean value) |
| #fatal_deprecations = false |
| |
| # |
| # From oslo.messaging |
| # |
| |
| # Size of RPC connection pool. (integer value) |
| # Deprecated group/name - [DEFAULT]/rpc_conn_pool_size |
| #rpc_conn_pool_size = 30 |
| |
| # ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP. |
| # The "host" option should point or resolve to this address. (string value) |
| #rpc_zmq_bind_address = * |
| |
| # MatchMaker driver. (string value) |
| # Allowed values: redis, dummy |
| #rpc_zmq_matchmaker = redis |
| |
| # Type of concurrency used. Either "native" or "eventlet" (string value) |
| #rpc_zmq_concurrency = eventlet |
| |
| # Number of ZeroMQ contexts, defaults to 1. (integer value) |
| #rpc_zmq_contexts = 1 |
| |
| # Maximum number of ingress messages to locally buffer per topic. Default is |
| # unlimited. (integer value) |
| #rpc_zmq_topic_backlog = <None> |
| |
| # Directory for holding IPC sockets. (string value) |
| #rpc_zmq_ipc_dir = /var/run/openstack |
| |
| # Name of this node. Must be a valid hostname, FQDN, or IP address. Must match |
| # "host" option, if running Nova. (string value) |
| #rpc_zmq_host = localhost |
| |
| # Seconds to wait before a cast expires (TTL). The default value of -1 |
| # specifies an infinite linger period. The value of 0 specifies no linger |
| # period. Pending messages shall be discarded immediately when the socket is |
| # closed. Only supported by impl_zmq. (integer value) |
| #rpc_cast_timeout = -1 |
| |
| # The default number of seconds that poll should wait. Poll raises timeout |
| # exception when timeout expired. (integer value) |
| #rpc_poll_timeout = 1 |
| |
| # Expiration timeout in seconds of a name service record about existing target |
| # ( < 0 means no timeout). (integer value) |
| #zmq_target_expire = 120 |
| |
| # Use PUB/SUB pattern for fanout methods. PUB/SUB always uses proxy. (boolean |
| # value) |
| #use_pub_sub = true |
| |
| # Minimal port number for random ports range. (port value) |
| # Minimum value: 0 |
| # Maximum value: 65535 |
| #rpc_zmq_min_port = 49152 |
| |
| # Maximal port number for random ports range. (integer value) |
| # Minimum value: 1 |
| # Maximum value: 65536 |
| #rpc_zmq_max_port = 65536 |
| |
| # Number of retries to find free port number before fail with ZMQBindError. |
| # (integer value) |
| #rpc_zmq_bind_port_retries = 100 |
| |
| # Size of executor thread pool. (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 |
| |
| # A URL representing the messaging driver to use and its full configuration. If |
| # not set, we fall back to the rpc_backend option and driver specific |
| # configuration. (string value) |
| #transport_url = <None> |
| |
| # The messaging driver to use, defaults to rabbit. Other drivers include amqp |
| # and zmq. (string value) |
| #rpc_backend = 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 = keystone |
| |
| # |
| # From oslo.service.service |
| # |
| |
| # 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. (string value) |
| #backdoor_port = <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. (string value) |
| #backdoor_socket = <None> |
| |
| # Enables or disables logging values of all registered options when starting a |
| # service (at DEBUG level). (boolean value) |
| #log_options = true |
| |
| # Specify a timeout after which a gracefully shutdown server will exit. Zero |
| # value means endless wait. (integer value) |
| #graceful_shutdown_timeout = 60 |
| |
| |
| [assignment] |
| |
| # |
| # From keystone |
| # |
| |
| # Entrypoint for the assignment backend driver in the keystone.assignment |
| # namespace. Only an SQL driver is supplied. If an assignment driver is not |
| # specified, the identity driver will choose the assignment driver (driver |
| # selection based on `[identity]/driver` option is deprecated and will be |
| # removed in the "O" release). (string value) |
| #driver = <None> |
| |
| # A list of role names which are prohibited from being an implied role. (list |
| # value) |
| #prohibited_implied_role = admin |
| |
| {%- if server.get("assignment", {}).get("backend", "sql") == "ldap" %} |
| driver = ldap |
| {%- else %} |
| driver = sql |
| {%- endif %} |
| |
| [auth] |
| |
| # |
| # From keystone |
| # |
| |
| # Allowed authentication methods. (list value) |
| #methods = external,password,token,oauth1 |
| |
| {% if server.websso is defined %} |
| methods = external,password,token,{{ server.websso.protocol }} |
| {{ server.websso.protocol }} = keystone.auth.plugins.mapped.Mapped |
| {%- endif %} |
| |
| # Entrypoint for the password auth plugin module in the keystone.auth.password |
| # namespace. (string value) |
| #password = <None> |
| |
| # Entrypoint for the token auth plugin module in the keystone.auth.token |
| # namespace. (string value) |
| #token = <None> |
| |
| # Entrypoint for the external (REMOTE_USER) auth plugin module in the |
| # keystone.auth.external namespace. Supplied drivers are DefaultDomain and |
| # Domain. The default driver is DefaultDomain. (string value) |
| #external = <None> |
| |
| # Entrypoint for the oAuth1.0 auth plugin module in the keystone.auth.oauth1 |
| # namespace. (string value) |
| #oauth1 = <None> |
| |
| [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) |
| #expiration_time = 600 |
| |
| # Dogpile.cache backend module. It is recommended that Memcache with pooling |
| # (oslo_cache.memcache_pool) or Redis (dogpile.cache.redis) be used in |
| # production deployments. Small workloads (single process) like devstack can |
| # use the dogpile.cache.memory backend. (string value) |
| #backend = dogpile.cache.null |
| backend = oslo_cache.memcache_pool |
| |
| # 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 |
| enabled = true |
| |
| # 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". (dogpile.cache.memcache and |
| # oslo_cache.memcache_pool backends only). (list value) |
| #memcache_servers = localhost:11211 |
| {%- if server.cache is defined %} |
| {%- if server.cache.members is defined %} |
| memcache_servers = {%- for member in server.cache.members %}{{ member.host }}:{{ member.port }}{% if not loop.last %},{% endif %}{%- endfor %} |
| {%- else %} |
| memcache_servers = ['{{ server.cache.host }}:{{ server.cache.port }}'] |
| {%- endif %} |
| {%- endif %} |
| |
| # 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 |
| memcache_dead_retry = 300 |
| |
| # Timeout in seconds for every call to a server. (dogpile.cache.memcache and |
| # oslo_cache.memcache_pool backends only). (integer value) |
| #memcache_socket_timeout = 3 |
| memcache_socket_timeout = 1 |
| |
| # Max total number of open connections to every memcached server. |
| # (oslo_cache.memcache_pool backend only). (integer value) |
| #memcache_pool_maxsize = 10 |
| memcache_pool_maxsize = 100 |
| |
| # 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 |
| 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 |
| |
| |
| [catalog] |
| |
| # |
| # From keystone |
| # |
| |
| # Catalog template file name for use with the template catalog backend. (string |
| # value) |
| #template_file = default_catalog.templates |
| template_file = default_catalog.templates |
| |
| # Entrypoint for the catalog backend driver in the keystone.catalog namespace. |
| # Supplied drivers are kvs, sql, templated, and endpoint_filter.sql (string |
| # value) |
| driver = sql |
| |
| # Toggle for catalog caching. This has no effect unless global caching is |
| # enabled. (boolean value) |
| #caching = true |
| |
| # Time to cache catalog data (in seconds). This has no effect unless global and |
| # catalog caching are enabled. (integer value) |
| #cache_time = <None> |
| |
| # Maximum number of entities that will be returned in a catalog collection. |
| # (integer value) |
| #list_limit = <None> |
| |
| |
| [cors] |
| |
| # |
| # From oslo.middleware |
| # |
| |
| # Indicate whether this resource may be shared with the domain received in the |
| # requests "origin" header. (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 = X-Auth-Token,X-Openstack-Request-Id,X-Subject-Token |
| |
| # 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 = GET,PUT,POST,DELETE,PATCH |
| |
| # Indicate which header field names may be used during the actual request. |
| # (list value) |
| #allow_headers = X-Auth-Token,X-Openstack-Request-Id,X-Subject-Token,X-Project-Id,X-Project-Name,X-Project-Domain-Id,X-Project-Domain-Name,X-Domain-Id,X-Domain-Name |
| |
| |
| [cors.subdomain] |
| |
| # |
| # From oslo.middleware |
| # |
| |
| # Indicate whether this resource may be shared with the domain received in the |
| # requests "origin" header. (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 = X-Auth-Token,X-Openstack-Request-Id,X-Subject-Token |
| |
| # 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 = GET,PUT,POST,DELETE,PATCH |
| |
| # Indicate which header field names may be used during the actual request. |
| # (list value) |
| #allow_headers = X-Auth-Token,X-Openstack-Request-Id,X-Subject-Token,X-Project-Id,X-Project-Name,X-Project-Domain-Id,X-Project-Domain-Name,X-Domain-Id,X-Domain-Name |
| |
| |
| [credential] |
| |
| # |
| # From keystone |
| # |
| |
| # Entrypoint for the credential backend driver in the keystone.credential |
| # namespace. (string value) |
| #driver = sql |
| |
| |
| [database] |
| |
| # |
| # From oslo.db |
| # |
| |
| # The file name to use with SQLite. (string value) |
| # Deprecated group/name - [DEFAULT]/sqlite_db |
| #sqlite_db = oslo.sqlite |
| |
| # If True, SQLite uses synchronous mode. (boolean value) |
| # Deprecated group/name - [DEFAULT]/sqlite_synchronous |
| #sqlite_synchronous = true |
| |
| # The back end to use for the database. (string value) |
| # Deprecated group/name - [DEFAULT]/db_backend |
| #backend = sqlalchemy |
| |
| # The SQLAlchemy connection string to use to connect to the database. (string |
| # value) |
| # Deprecated group/name - [DEFAULT]/sql_connection |
| # Deprecated group/name - [DATABASE]/sql_connection |
| # Deprecated group/name - [sql]/connection |
| #connection = <None> |
| connection={{ server.database.engine }}://{{ server.database.user }}:{{ server.database.password }}@{{ server.database.host }}/{{ server.database.name }} |
| |
| # The SQLAlchemy connection string to use to connect to the slave database. |
| # (string value) |
| #slave_connection = <None> |
| |
| # The SQL mode to be used for MySQL sessions. This option, including the |
| # default, overrides any server-set SQL mode. To use whatever SQL mode is set |
| # by the server configuration, set this to no value. Example: mysql_sql_mode= |
| # (string value) |
| #mysql_sql_mode = TRADITIONAL |
| |
| # Timeout before idle SQL connections are reaped. (integer value) |
| # Deprecated group/name - [DEFAULT]/sql_idle_timeout |
| # Deprecated group/name - [DATABASE]/sql_idle_timeout |
| # Deprecated group/name - [sql]/idle_timeout |
| #idle_timeout = 3600 |
| idle_timeout = 3600 |
| |
| # Minimum number of SQL connections to keep open in a pool. (integer value) |
| # Deprecated group/name - [DEFAULT]/sql_min_pool_size |
| # Deprecated group/name - [DATABASE]/sql_min_pool_size |
| #min_pool_size = 1 |
| |
| # Maximum number of SQL connections to keep open in a pool. (integer value) |
| # Deprecated group/name - [DEFAULT]/sql_max_pool_size |
| # Deprecated group/name - [DATABASE]/sql_max_pool_size |
| #max_pool_size = <None> |
| max_pool_size=10 |
| max_overflow=30 |
| max_retries=-1 |
| |
| # Maximum number of database connection retries during startup. Set to -1 to |
| # specify an infinite retry count. (integer value) |
| # Deprecated group/name - [DEFAULT]/sql_max_retries |
| # Deprecated group/name - [DATABASE]/sql_max_retries |
| #max_retries = 10 |
| |
| # Interval between retries of opening a SQL connection. (integer value) |
| # Deprecated group/name - [DEFAULT]/sql_retry_interval |
| # Deprecated group/name - [DATABASE]/reconnect_interval |
| #retry_interval = 10 |
| |
| # If set, use this value for max_overflow with SQLAlchemy. (integer value) |
| # Deprecated group/name - [DEFAULT]/sql_max_overflow |
| # Deprecated group/name - [DATABASE]/sqlalchemy_max_overflow |
| #max_overflow = 50 |
| |
| # Verbosity of SQL debugging information: 0=None, 100=Everything. (integer |
| # value) |
| # Deprecated group/name - [DEFAULT]/sql_connection_debug |
| #connection_debug = 0 |
| |
| # Add Python stack traces to SQL as comment strings. (boolean value) |
| # Deprecated group/name - [DEFAULT]/sql_connection_trace |
| #connection_trace = false |
| |
| # If set, use this value for pool_timeout with SQLAlchemy. (integer value) |
| # Deprecated group/name - [DATABASE]/sqlalchemy_pool_timeout |
| #pool_timeout = <None> |
| |
| # Enable the experimental use of database reconnect on connection lost. |
| # (boolean value) |
| #use_db_reconnect = false |
| |
| # Seconds between retries of a database transaction. (integer value) |
| #db_retry_interval = 1 |
| |
| # If True, increases the interval between retries of a database operation up to |
| # db_max_retry_interval. (boolean value) |
| #db_inc_retry_interval = true |
| |
| # If db_inc_retry_interval is set, the maximum seconds between retries of a |
| # database operation. (integer value) |
| #db_max_retry_interval = 10 |
| |
| # Maximum retries in case of connection error or deadlock error before error is |
| # raised. Set to -1 to specify an infinite retry count. (integer value) |
| #db_max_retries = 20 |
| |
| |
| [domain_config] |
| |
| # |
| # From keystone |
| # |
| |
| # Entrypoint for the domain config backend driver in the |
| # keystone.resource.domain_config namespace. (string value) |
| #driver = sql |
| |
| # Toggle for domain config caching. This has no effect unless global caching is |
| # enabled. (boolean value) |
| #caching = true |
| |
| # TTL (in seconds) to cache domain config data. This has no effect unless |
| # domain config caching is enabled. (integer value) |
| #cache_time = 300 |
| |
| |
| [endpoint_filter] |
| |
| # |
| # From keystone |
| # |
| |
| # Entrypoint for the endpoint filter backend driver in the |
| # keystone.endpoint_filter namespace. (string value) |
| #driver = sql |
| |
| # Toggle to return all active endpoints if no filter exists. (boolean value) |
| #return_all_endpoints_if_no_filter = true |
| |
| |
| [endpoint_policy] |
| |
| # |
| # From keystone |
| # |
| |
| # Enable endpoint_policy functionality. (boolean value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: The option to enable the OS-ENDPOINT-POLICY extension has been |
| # deprecated in the M release and will be removed in the O release. The OS- |
| # ENDPOINT-POLICY extension will be enabled by default. |
| #enabled = true |
| |
| # Entrypoint for the endpoint policy backend driver in the |
| # keystone.endpoint_policy namespace. (string value) |
| #driver = sql |
| |
| |
| [eventlet_server] |
| |
| # |
| # From keystone |
| # |
| |
| # The number of worker processes to serve the public eventlet application. |
| # Defaults to number of CPUs (minimum of 2). (integer value) |
| # Deprecated group/name - [DEFAULT]/public_workers |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| #public_workers = <None> |
| |
| # The number of worker processes to serve the admin eventlet application. |
| # Defaults to number of CPUs (minimum of 2). (integer value) |
| # Deprecated group/name - [DEFAULT]/admin_workers |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| #admin_workers = <None> |
| |
| # The IP address of the network interface for the public service to listen on. |
| # (string value) |
| # Deprecated group/name - [DEFAULT]/bind_host |
| # Deprecated group/name - [DEFAULT]/public_bind_host |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| #public_bind_host = 0.0.0.0 |
| public_bind_host={% if server.bind.address is defined %}{{ server.bind.address }}{% else %}{{ server.bind.public_address }}{% endif %} |
| |
| # The port number which the public service listens on. (port value) |
| # Minimum value: 0 |
| # Maximum value: 65535 |
| # Deprecated group/name - [DEFAULT]/public_port |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| #public_port = 5000 |
| |
| # The IP address of the network interface for the admin service to listen on. |
| # (string value) |
| # Deprecated group/name - [DEFAULT]/bind_host |
| # Deprecated group/name - [DEFAULT]/admin_bind_host |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| #admin_bind_host = 0.0.0.0 |
| admin_bind_host={% if server.bind.address is defined %}{{ server.bind.address }}{% else %}{{ server.bind.public_address }}{% endif %} |
| |
| # The port number which the admin service listens on. (port value) |
| # Minimum value: 0 |
| # Maximum value: 65535 |
| # Deprecated group/name - [DEFAULT]/admin_port |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| #admin_port = 35357 |
| |
| # If set to false, disables keepalives on the server; all connections will be |
| # closed after serving one request. (boolean value) |
| #wsgi_keep_alive = true |
| |
| # Timeout for socket operations on a client connection. If an incoming |
| # connection is idle for this number of seconds it will be closed. A value of |
| # "0" means wait forever. (integer value) |
| #client_socket_timeout = 900 |
| |
| # Set this to true if you want to enable TCP_KEEPALIVE on server sockets, i.e. |
| # sockets used by the Keystone wsgi server for client connections. (boolean |
| # value) |
| # Deprecated group/name - [DEFAULT]/tcp_keepalive |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| #tcp_keepalive = false |
| |
| # Sets the value of TCP_KEEPIDLE in seconds for each server socket. Only |
| # applies if tcp_keepalive is true. Ignored if system does not support it. |
| # (integer value) |
| # Deprecated group/name - [DEFAULT]/tcp_keepidle |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| #tcp_keepidle = 600 |
| |
| |
| [eventlet_server_ssl] |
| |
| # |
| # From keystone |
| # |
| |
| # Toggle for SSL support on the Keystone eventlet servers. (boolean value) |
| # Deprecated group/name - [ssl]/enable |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| #enable = false |
| |
| # Path of the certfile for SSL. For non-production environments, you may be |
| # interested in using `keystone-manage ssl_setup` to generate self-signed |
| # certificates. (string value) |
| # Deprecated group/name - [ssl]/certfile |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| #certfile = /etc/keystone/ssl/certs/keystone.pem |
| |
| # Path of the keyfile for SSL. (string value) |
| # Deprecated group/name - [ssl]/keyfile |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| #keyfile = /etc/keystone/ssl/private/keystonekey.pem |
| |
| # Path of the CA cert file for SSL. (string value) |
| # Deprecated group/name - [ssl]/ca_certs |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| #ca_certs = /etc/keystone/ssl/certs/ca.pem |
| |
| # Require client certificate. (boolean value) |
| # Deprecated group/name - [ssl]/cert_required |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| #cert_required = false |
| |
| |
| [federation] |
| |
| # |
| # From keystone |
| # |
| |
| # Entrypoint for the federation backend driver in the keystone.federation |
| # namespace. (string value) |
| #driver = sql |
| {%- if server.get('websso', {}).federation_driver is defined %} |
| driver = {{ server.websso.federation_driver }} |
| {%- endif %} |
| |
| # Value to be used when filtering assertion parameters from the environment. |
| # (string value) |
| #assertion_prefix = |
| |
| # Value to be used to obtain the entity ID of the Identity Provider from the |
| # environment (e.g. if using the mod_shib plugin this value is `Shib-Identity- |
| # Provider`). (string value) |
| #remote_id_attribute = <None> |
| {%- if server.websso is defined %} |
| remote_id_attribute = {{ server.websso.remote_id_attribute }} |
| {%- endif %} |
| |
| # A domain name that is reserved to allow federated ephemeral users to have a |
| # domain concept. Note that an admin will not be able to create a domain with |
| # this name or update an existing domain to this name. You are not advised to |
| # change this value unless you really have to. (string value) |
| #federated_domain_name = Federated |
| |
| # A list of trusted dashboard hosts. Before accepting a Single Sign-On request |
| # to return a token, the origin host must be a member of the trusted_dashboard |
| # list. This configuration option may be repeated for multiple values. For |
| # example: trusted_dashboard=http://acme.com/auth/websso |
| # trusted_dashboard=http://beta.com/auth/websso (multi valued) |
| #trusted_dashboard = |
| {%- if server.get('websso', {}).trusted_dashboard is defined %} |
| {%- for dashboard in server.websso.trusted_dashboard %} |
| trusted_dashboard = {{ dashboard }} |
| {%- endfor %} |
| {%- endif %} |
| |
| # Location of Single Sign-On callback handler, will return a token to a trusted |
| # dashboard host. (string value) |
| #sso_callback_template = /etc/keystone/sso_callback_template.html |
| |
| |
| [fernet_tokens] |
| |
| # |
| # From keystone |
| # |
| |
| # Directory containing Fernet token keys. (string value) |
| #key_repository = /etc/keystone/fernet-keys/ |
| key_repository = {{ server.tokens.location }} |
| |
| # This controls how many keys are held in rotation by keystone-manage |
| # fernet_rotate before they are discarded. The default value of 3 means that |
| # keystone will maintain one staged key, one primary key, and one secondary |
| # key. Increasing this value means that additional secondary keys will be kept |
| # in the rotation. (integer value) |
| #max_active_keys = 3 |
| max_active_keys={{ server.tokens.get('max_active_keys', '3') }} |
| |
| [identity] |
| |
| # |
| # From keystone |
| # |
| |
| # This references the domain to use for all Identity API v2 requests (which are |
| # not aware of domains). A domain with this ID will be created for you by |
| # keystone-manage db_sync in migration 008. The domain referenced by this ID |
| # cannot be deleted on the v3 API, to prevent accidentally breaking the v2 API. |
| # There is nothing special about this domain, other than the fact that it must |
| # exist to order to maintain support for your v2 clients. (string value) |
| #default_domain_id = default |
| {%- if server.get('domain', {}) %} |
| {%- for name, domain in server.domain.iteritems() %} |
| {%- if domain.get('default', False) %} |
| default_domain_id = {{ name }} |
| {%- endif %} |
| {%- endfor %} |
| {%- endif %} |
| |
| # A subset (or all) of domains can have their own identity driver, each with |
| # their own partial configuration options, stored in either the resource |
| # backend or in a file in a domain configuration directory (depending on the |
| # setting of domain_configurations_from_database). Only values specific to the |
| # domain need to be specified in this manner. This feature is disabled by |
| # default; set to true to enable. (boolean value) |
| #domain_specific_drivers_enabled = false |
| {%- if server.get('domain', {}) %} |
| domain_specific_drivers_enabled = true |
| {%- endif %} |
| |
| # Extract the domain specific configuration options from the resource backend |
| # where they have been stored with the domain data. This feature is disabled by |
| # default (in which case the domain specific options will be loaded from files |
| # in the domain configuration directory); set to true to enable. (boolean |
| # value) |
| #domain_configurations_from_database = false |
| |
| # Path for Keystone to locate the domain specific identity configuration files |
| # if domain_specific_drivers_enabled is set to true. (string value) |
| #domain_config_dir = /etc/keystone/domains |
| {%- if server.get('domain', {}) %} |
| domain_config_dir = /etc/keystone/domains |
| {%- endif %} |
| |
| # Entrypoint for the identity backend driver in the keystone.identity |
| # namespace. Supplied drivers are ldap and sql. (string value) |
| #driver = sql |
| driver = {{ server.get('backend', 'sql') }} |
| |
| # Toggle for identity caching. This has no effect unless global caching is |
| # enabled. (boolean value) |
| #caching = true |
| |
| # Time to cache identity data (in seconds). This has no effect unless global |
| # and identity caching are enabled. (integer value) |
| #cache_time = 600 |
| |
| # Maximum supported length for user passwords; decrease to improve performance. |
| # (integer value) |
| # Maximum value: 4096 |
| #max_password_length = 4096 |
| |
| # Maximum number of entities that will be returned in an identity collection. |
| # (integer value) |
| #list_limit = <None> |
| |
| {%- if server.get("backend", "sql") == "k2k" and server.k2k is defined %} |
| {%- set k2k = server.k2k %} |
| {% include "keystone/files/_k2k.conf" %} |
| {%- endif %} |
| |
| [identity_mapping] |
| |
| # |
| # From keystone |
| # |
| |
| # Entrypoint for the identity mapping backend driver in the |
| # keystone.identity.id_mapping namespace. (string value) |
| #driver = sql |
| |
| # Entrypoint for the public ID generator for user and group entities in the |
| # keystone.identity.id_generator namespace. The Keystone identity mapper only |
| # supports generators that produce no more than 64 characters. (string value) |
| #generator = sha256 |
| |
| # The format of user and group IDs changed in Juno for backends that do not |
| # generate UUIDs (e.g. LDAP), with keystone providing a hash mapping to the |
| # underlying attribute in LDAP. By default this mapping is disabled, which |
| # ensures that existing IDs will not change. Even when the mapping is enabled |
| # by using domain specific drivers, any users and groups from the default |
| # domain being handled by LDAP will still not be mapped to ensure their IDs |
| # remain backward compatible. Setting this value to False will enable the |
| # mapping for even the default LDAP driver. It is only safe to do this if you |
| # do not already have assignments for users and groups from the default LDAP |
| # domain, and it is acceptable for Keystone to provide the different IDs to |
| # clients than it did previously. Typically this means that the only time you |
| # can set this value to False is when configuring a fresh installation. |
| # (boolean value) |
| #backward_compatible_ids = true |
| |
| |
| [kvs] |
| |
| # |
| # From keystone |
| # |
| |
| # Extra dogpile.cache backend modules to register with the dogpile.cache |
| # library. (list value) |
| #backends = |
| |
| # Prefix for building the configuration dictionary for the KVS region. This |
| # should not need to be changed unless there is another dogpile.cache region |
| # with the same configuration name. (string value) |
| #config_prefix = keystone.kvs |
| |
| # Toggle to disable using a key-mangling function to ensure fixed length keys. |
| # This is toggle-able for debugging purposes, it is highly recommended to |
| # always leave this set to true. (boolean value) |
| #enable_key_mangler = true |
| |
| # Default lock timeout (in seconds) for distributed locking. (integer value) |
| #default_lock_timeout = 5 |
| |
| {%- if server.get("backend", "sql") == "ldap" %} |
| {%- set ldap = server.ldap %} |
| {% include "keystone/files/_ldap.conf" %} |
| {%- endif %} |
| |
| [ldap] |
| |
| # |
| # From keystone |
| # |
| |
| # URL(s) for connecting to the LDAP server. Multiple LDAP URLs may be specified |
| # as a comma separated string. The first URL to successfully bind is used for |
| # the connection. (string value) |
| #url = ldap://localhost |
| |
| # User BindDN to query the LDAP server. (string value) |
| #user = <None> |
| |
| # Password for the BindDN to query the LDAP server. (string value) |
| #password = <None> |
| |
| # LDAP server suffix (string value) |
| #suffix = cn=example,cn=com |
| |
| # If true, will add a dummy member to groups. This is required if the |
| # objectclass for groups requires the "member" attribute. (boolean value) |
| #use_dumb_member = false |
| |
| # DN of the "dummy member" to use when "use_dumb_member" is enabled. (string |
| # value) |
| #dumb_member = cn=dumb,dc=nonexistent |
| |
| # Delete subtrees using the subtree delete control. Only enable this option if |
| # your LDAP server supports subtree deletion. (boolean value) |
| #allow_subtree_delete = false |
| |
| # The LDAP scope for queries, "one" represents oneLevel/singleLevel and "sub" |
| # represents subtree/wholeSubtree options. (string value) |
| # Allowed values: one, sub |
| #query_scope = one |
| |
| # Maximum results per page; a value of zero ("0") disables paging. (integer |
| # value) |
| #page_size = 0 |
| |
| # The LDAP dereferencing option for queries. The "default" option falls back to |
| # using default dereferencing configured by your ldap.conf. (string value) |
| # Allowed values: never, searching, always, finding, default |
| #alias_dereferencing = default |
| |
| # Sets the LDAP debugging level for LDAP calls. A value of 0 means that |
| # debugging is not enabled. This value is a bitmask, consult your LDAP |
| # documentation for possible values. (integer value) |
| #debug_level = <None> |
| |
| # Override the system's default referral chasing behavior for queries. (boolean |
| # value) |
| #chase_referrals = <None> |
| |
| # Search base for users. Defaults to the suffix value. (string value) |
| #user_tree_dn = <None> |
| |
| # LDAP search filter for users. (string value) |
| #user_filter = <None> |
| |
| # LDAP objectclass for users. (string value) |
| #user_objectclass = inetOrgPerson |
| |
| # LDAP attribute mapped to user id. WARNING: must not be a multivalued |
| # attribute. (string value) |
| #user_id_attribute = cn |
| |
| # LDAP attribute mapped to user name. (string value) |
| #user_name_attribute = sn |
| |
| # LDAP attribute mapped to user description. (string value) |
| #user_description_attribute = description |
| |
| # LDAP attribute mapped to user email. (string value) |
| #user_mail_attribute = mail |
| |
| # LDAP attribute mapped to password. (string value) |
| #user_pass_attribute = userPassword |
| |
| # LDAP attribute mapped to user enabled flag. (string value) |
| #user_enabled_attribute = enabled |
| |
| # Invert the meaning of the boolean enabled values. Some LDAP servers use a |
| # boolean lock attribute where "true" means an account is disabled. Setting |
| # "user_enabled_invert = true" will allow these lock attributes to be used. |
| # This setting will have no effect if "user_enabled_mask" or |
| # "user_enabled_emulation" settings are in use. (boolean value) |
| #user_enabled_invert = false |
| |
| # Bitmask integer to indicate the bit that the enabled value is stored in if |
| # the LDAP server represents "enabled" as a bit on an integer rather than a |
| # boolean. A value of "0" indicates the mask is not used. If this is not set to |
| # "0" the typical value is "2". This is typically used when |
| # "user_enabled_attribute = userAccountControl". (integer value) |
| #user_enabled_mask = 0 |
| |
| # Default value to enable users. This should match an appropriate int value if |
| # the LDAP server uses non-boolean (bitmask) values to indicate if a user is |
| # enabled or disabled. If this is not set to "True" the typical value is "512". |
| # This is typically used when "user_enabled_attribute = userAccountControl". |
| # (string value) |
| #user_enabled_default = True |
| |
| # List of attributes stripped off the user on update. (list value) |
| #user_attribute_ignore = default_project_id |
| |
| # LDAP attribute mapped to default_project_id for users. (string value) |
| #user_default_project_id_attribute = <None> |
| |
| # Allow user creation in LDAP backend. (boolean value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Write support for Identity LDAP backends has been deprecated in the M |
| # release and will be removed in the O release. |
| #user_allow_create = true |
| |
| # Allow user updates in LDAP backend. (boolean value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Write support for Identity LDAP backends has been deprecated in the M |
| # release and will be removed in the O release. |
| #user_allow_update = true |
| |
| # Allow user deletion in LDAP backend. (boolean value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Write support for Identity LDAP backends has been deprecated in the M |
| # release and will be removed in the O release. |
| #user_allow_delete = true |
| |
| # If true, Keystone uses an alternative method to determine if a user is |
| # enabled or not by checking if they are a member of the |
| # "user_enabled_emulation_dn" group. (boolean value) |
| #user_enabled_emulation = false |
| |
| # DN of the group entry to hold enabled users when using enabled emulation. |
| # (string value) |
| #user_enabled_emulation_dn = <None> |
| |
| # Use the "group_member_attribute" and "group_objectclass" settings to |
| # determine membership in the emulated enabled group. (boolean value) |
| #user_enabled_emulation_use_group_config = false |
| |
| # List of additional LDAP attributes used for mapping additional attribute |
| # mappings for users. Attribute mapping format is <ldap_attr>:<user_attr>, |
| # where ldap_attr is the attribute in the LDAP entry and user_attr is the |
| # Identity API attribute. (list value) |
| #user_additional_attribute_mapping = |
| |
| # Search base for groups. Defaults to the suffix value. (string value) |
| #group_tree_dn = <None> |
| |
| # LDAP search filter for groups. (string value) |
| #group_filter = <None> |
| |
| # LDAP objectclass for groups. (string value) |
| #group_objectclass = groupOfNames |
| |
| # LDAP attribute mapped to group id. (string value) |
| #group_id_attribute = cn |
| |
| # LDAP attribute mapped to group name. (string value) |
| #group_name_attribute = ou |
| |
| # LDAP attribute mapped to show group membership. (string value) |
| #group_member_attribute = member |
| |
| # LDAP attribute mapped to group description. (string value) |
| #group_desc_attribute = description |
| |
| # List of attributes stripped off the group on update. (list value) |
| #group_attribute_ignore = |
| |
| # Allow group creation in LDAP backend. (boolean value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Write support for Identity LDAP backends has been deprecated in the M |
| # release and will be removed in the O release. |
| #group_allow_create = true |
| |
| # Allow group update in LDAP backend. (boolean value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Write support for Identity LDAP backends has been deprecated in the M |
| # release and will be removed in the O release. |
| #group_allow_update = true |
| |
| # Allow group deletion in LDAP backend. (boolean value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: Write support for Identity LDAP backends has been deprecated in the M |
| # release and will be removed in the O release. |
| #group_allow_delete = true |
| |
| # Additional attribute mappings for groups. Attribute mapping format is |
| # <ldap_attr>:<user_attr>, where ldap_attr is the attribute in the LDAP entry |
| # and user_attr is the Identity API attribute. (list value) |
| #group_additional_attribute_mapping = |
| |
| # CA certificate file path for communicating with LDAP servers. (string value) |
| #tls_cacertfile = <None> |
| |
| # CA certificate directory path for communicating with LDAP servers. (string |
| # value) |
| #tls_cacertdir = <None> |
| |
| # Enable TLS for communicating with LDAP servers. (boolean value) |
| #use_tls = false |
| |
| # Specifies what checks to perform on client certificates in an incoming TLS |
| # session. (string value) |
| # Allowed values: demand, never, allow |
| #tls_req_cert = demand |
| |
| # Enable LDAP connection pooling. (boolean value) |
| #use_pool = true |
| |
| # Connection pool size. (integer value) |
| #pool_size = 10 |
| |
| # Maximum count of reconnect trials. (integer value) |
| #pool_retry_max = 3 |
| |
| # Time span in seconds to wait between two reconnect trials. (floating point |
| # value) |
| #pool_retry_delay = 0.1 |
| |
| # Connector timeout in seconds. Value -1 indicates indefinite wait for |
| # response. (integer value) |
| #pool_connection_timeout = -1 |
| |
| # Connection lifetime in seconds. (integer value) |
| #pool_connection_lifetime = 600 |
| |
| # Enable LDAP connection pooling for end user authentication. If use_pool is |
| # disabled, then this setting is meaningless and is not used at all. (boolean |
| # value) |
| #use_auth_pool = true |
| |
| # End user auth connection pool size. (integer value) |
| #auth_pool_size = 100 |
| |
| # End user auth connection lifetime in seconds. (integer value) |
| #auth_pool_connection_lifetime = 60 |
| |
| # If the members of the group objectclass are user IDs rather than DNs, set |
| # this to true. This is the case when using posixGroup as the group objectclass |
| # and OpenDirectory. (boolean value) |
| #group_members_are_ids = false |
| |
| |
| [matchmaker_redis] |
| |
| # |
| # From oslo.messaging |
| # |
| |
| # Host to locate redis. (string value) |
| #host = 127.0.0.1 |
| |
| # Use this port to connect to redis host. (port value) |
| # Minimum value: 0 |
| # Maximum value: 65535 |
| #port = 6379 |
| |
| # Password for Redis server (optional). (string value) |
| #password = |
| |
| # List of Redis Sentinel hosts (fault tolerance mode) e.g. |
| # [host:port, host1:port ... ] (list value) |
| #sentinel_hosts = |
| |
| # Redis replica set name. (string value) |
| #sentinel_group_name = oslo-messaging-zeromq |
| |
| # Time in ms to wait between connection attempts. (integer value) |
| #wait_timeout = 500 |
| |
| # Time in ms to wait before the transaction is killed. (integer value) |
| #check_timeout = 20000 |
| |
| # Timeout in ms on blocking socket operations (integer value) |
| #socket_timeout = 1000 |
| |
| |
| [memcache] |
| |
| # |
| # From keystone |
| # |
| |
| # Memcache servers in the format of "host:port". (list value) |
| #servers = localhost:11211 |
| {%- if server.cache is defined %} |
| {%- if server.cache.members is defined %} |
| servers = {%- for member in server.cache.members %}{{ member.host }}:{{ member.port }}{% if not loop.last %},{% endif %}{%- endfor %} |
| {%- else %} |
| servers = ['{{ server.cache.host }}:{{ server.cache.port }}'] |
| {%- endif %} |
| {%- endif %} |
| |
| # Number of seconds memcached server is considered dead before it is tried |
| # again. This is used by the key value store system (e.g. token pooled |
| # memcached persistence backend). (integer value) |
| #dead_retry = 300 |
| |
| # Timeout in seconds for every call to a server. This is used by the key value |
| # store system (e.g. token pooled memcached persistence backend). (integer |
| # value) |
| #socket_timeout = 3 |
| |
| # Max total number of open connections to every memcached server. This is used |
| # by the key value store system (e.g. token pooled memcached persistence |
| # backend). (integer value) |
| #pool_maxsize = 10 |
| |
| # Number of seconds a connection to memcached is held unused in the pool before |
| # it is closed. This is used by the key value store system (e.g. token pooled |
| # memcached persistence backend). (integer value) |
| #pool_unused_timeout = 60 |
| |
| # Number of seconds that an operation will wait to get a memcache client |
| # connection. This is used by the key value store system (e.g. token pooled |
| # memcached persistence backend). (integer value) |
| #pool_connection_get_timeout = 10 |
| |
| |
| [oauth1] |
| |
| # |
| # From keystone |
| # |
| |
| # Entrypoint for the OAuth backend driver in the keystone.oauth1 namespace. |
| # (string value) |
| #driver = sql |
| |
| # Duration (in seconds) for the OAuth Request Token. (integer value) |
| #request_token_duration = 28800 |
| |
| # Duration (in seconds) for the OAuth Access Token. (integer value) |
| #access_token_duration = 86400 |
| |
| |
| [os_inherit] |
| |
| # |
| # From keystone |
| # |
| |
| # role-assignment inheritance to projects from owning domain or from projects |
| # higher in the hierarchy can be optionally disabled. In the future, this |
| # option will be removed and the hierarchy will be always enabled. (boolean |
| # value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: The option to enable the OS-INHERIT extension has been deprecated in |
| # the M release and will be removed in the O release. The OS-INHERIT extension |
| # will be enabled by default. |
| #enabled = true |
| |
| |
| [oslo_messaging_amqp] |
| |
| # |
| # From oslo.messaging |
| # |
| |
| # address prefix used when sending to a specific server (string value) |
| # Deprecated group/name - [amqp1]/server_request_prefix |
| #server_request_prefix = exclusive |
| |
| # address prefix used when broadcasting to all servers (string value) |
| # Deprecated group/name - [amqp1]/broadcast_prefix |
| #broadcast_prefix = broadcast |
| |
| # address prefix when sending to any server in group (string value) |
| # Deprecated group/name - [amqp1]/group_request_prefix |
| #group_request_prefix = unicast |
| |
| # Name for the AMQP container (string value) |
| # Deprecated group/name - [amqp1]/container_name |
| #container_name = <None> |
| |
| # Timeout for inactive connections (in seconds) (integer value) |
| # Deprecated group/name - [amqp1]/idle_timeout |
| #idle_timeout = 0 |
| |
| # Debug: dump AMQP frames to stdout (boolean value) |
| # Deprecated group/name - [amqp1]/trace |
| #trace = false |
| |
| # CA certificate PEM file to verify server certificate (string value) |
| # Deprecated group/name - [amqp1]/ssl_ca_file |
| #ssl_ca_file = |
| |
| # Identifying certificate PEM file to present to clients (string value) |
| # Deprecated group/name - [amqp1]/ssl_cert_file |
| #ssl_cert_file = |
| |
| # Private key PEM file used to sign cert_file certificate (string value) |
| # Deprecated group/name - [amqp1]/ssl_key_file |
| #ssl_key_file = |
| |
| # Password for decrypting ssl_key_file (if encrypted) (string value) |
| # Deprecated group/name - [amqp1]/ssl_key_password |
| #ssl_key_password = <None> |
| |
| # Accept clients using either SSL or plain TCP (boolean value) |
| # Deprecated group/name - [amqp1]/allow_insecure_clients |
| #allow_insecure_clients = false |
| |
| # Space separated list of acceptable SASL mechanisms (string value) |
| # Deprecated group/name - [amqp1]/sasl_mechanisms |
| #sasl_mechanisms = |
| |
| # Path to directory that contains the SASL configuration (string value) |
| # Deprecated group/name - [amqp1]/sasl_config_dir |
| #sasl_config_dir = |
| |
| # Name of configuration file (without .conf suffix) (string value) |
| # Deprecated group/name - [amqp1]/sasl_config_name |
| #sasl_config_name = |
| |
| # User name for message broker authentication (string value) |
| # Deprecated group/name - [amqp1]/username |
| #username = |
| |
| # Password for message broker authentication (string value) |
| # Deprecated group/name - [amqp1]/password |
| #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) |
| # Deprecated group/name - [DEFAULT]/notification_driver |
| #driver = |
| {%- if server.notification is mapping %} |
| driver = {{ server.notification.get('driver', 'messagingv2') }} |
| {%- if server.notification.topics is defined %} |
| topics = {{ server.notification.topics }} |
| {%- endif %} |
| {%- elif server.notification %} |
| driver=messagingv2 |
| {%- endif %} |
| |
| # 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) |
| # Deprecated group/name - [DEFAULT]/notification_transport_url |
| #transport_url = <None> |
| |
| # AMQP topic used for OpenStack notifications. (list value) |
| # Deprecated group/name - [rpc_notifier2]/topics |
| # Deprecated group/name - [DEFAULT]/notification_topics |
| #topics = notifications |
| |
| |
| [oslo_messaging_rabbit] |
| |
| # |
| # From oslo.messaging |
| # |
| {%- if server.notification %} |
| # Use durable queues in AMQP. (boolean value) |
| # Deprecated group/name - [DEFAULT]/amqp_durable_queues |
| # Deprecated group/name - [DEFAULT]/rabbit_durable_queues |
| #amqp_durable_queues = false |
| |
| # Auto-delete queues in AMQP. (boolean value) |
| # Deprecated group/name - [DEFAULT]/amqp_auto_delete |
| #amqp_auto_delete = 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) |
| # Deprecated group/name - [DEFAULT]/kombu_ssl_version |
| #kombu_ssl_version = |
| |
| # SSL key file (valid only if SSL enabled). (string value) |
| # Deprecated group/name - [DEFAULT]/kombu_ssl_keyfile |
| #kombu_ssl_keyfile = |
| |
| # SSL cert file (valid only if SSL enabled). (string value) |
| # Deprecated group/name - [DEFAULT]/kombu_ssl_certfile |
| #kombu_ssl_certfile = |
| |
| # SSL certification authority file (valid only if SSL enabled). (string value) |
| # Deprecated group/name - [DEFAULT]/kombu_ssl_ca_certs |
| #kombu_ssl_ca_certs = |
| |
| # How long to wait before reconnecting in response to an AMQP consumer cancel |
| # notification. (floating point value) |
| # Deprecated group/name - [DEFAULT]/kombu_reconnect_delay |
| #kombu_reconnect_delay = 1.0 |
| |
| # EXPERIMENTAL: Possible values are: gzip, bz2. If not set compression will not |
| # be used. This option may notbe available in future versions. (string value) |
| #kombu_compression = <None> |
| |
| # How long to wait a missing client beforce abandoning to send it its replies. |
| # This value should not be longer than rpc_response_timeout. (integer value) |
| # Deprecated group/name - [DEFAULT]/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) |
| # Allowed values: round-robin, shuffle |
| #kombu_failover_strategy = round-robin |
| |
| {%- if server.message_queue.members is defined %} |
| rabbit_hosts = {% for member in server.message_queue.members -%} |
| {{ member.host }}:{{ member.get('port', 5672) }} |
| {%- if not loop.last -%},{%- endif -%} |
| {%- endfor -%} |
| {%- else %} |
| rabbit_host = {{ server.message_queue.host }} |
| rabbit_port = {{ server.message_queue.port }} |
| {%- endif %} |
| |
| # RabbitMQ HA cluster host:port pairs. (list value) |
| # Deprecated group/name - [DEFAULT]/rabbit_hosts |
| #rabbit_hosts = $rabbit_host:$rabbit_port |
| |
| # Connect over SSL for RabbitMQ. (boolean value) |
| # Deprecated group/name - [DEFAULT]/rabbit_use_ssl |
| #rabbit_use_ssl = false |
| |
| # The RabbitMQ userid. (string value) |
| # Deprecated group/name - [DEFAULT]/rabbit_userid |
| #rabbit_userid = guest |
| rabbit_userid = {{ server.message_queue.user }} |
| |
| # The RabbitMQ password. (string value) |
| # Deprecated group/name - [DEFAULT]/rabbit_password |
| #rabbit_password = guest |
| rabbit_password = {{ server.message_queue.password }} |
| |
| # The RabbitMQ login method. (string value) |
| # Deprecated group/name - [DEFAULT]/rabbit_login_method |
| #rabbit_login_method = AMQPLAIN |
| |
| # The RabbitMQ virtual host. (string value) |
| # Deprecated group/name - [DEFAULT]/rabbit_virtual_host |
| #rabbit_virtual_host = / |
| rabbit_virtual_host = {{ server.message_queue.virtual_host }} |
| |
| # How frequently to retry connecting with RabbitMQ. (integer value) |
| #rabbit_retry_interval = 1 |
| |
| # How long to backoff for between retries when connecting to RabbitMQ. (integer |
| # value) |
| # Deprecated group/name - [DEFAULT]/rabbit_retry_backoff |
| #rabbit_retry_backoff = 2 |
| |
| # Maximum interval of RabbitMQ connection retries. Default is 30 seconds. |
| # (integer value) |
| #rabbit_interval_max = 30 |
| |
| # Maximum number of RabbitMQ connection retries. Default is 0 (infinite retry |
| # count). (integer value) |
| # Deprecated group/name - [DEFAULT]/rabbit_max_retries |
| #rabbit_max_retries = 0 |
| |
| # 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) |
| # Deprecated group/name - [DEFAULT]/rabbit_ha_queues |
| #rabbit_ha_queues = false |
| |
| # 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. (integer value) |
| # Minimum value: 1 |
| #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 disable the heartbeat). EXPERIMENTAL (integer |
| # value) |
| #heartbeat_timeout_threshold = 60 |
| heartbeat_timeout_threshold = 0 |
| |
| # How often times during the heartbeat_timeout_threshold we check the |
| # heartbeat. (integer value) |
| #heartbeat_rate = 2 |
| heartbeat_rate = 2 |
| |
| # Deprecated, use rpc_backend=kombu+memory or rpc_backend=fake (boolean value) |
| # Deprecated group/name - [DEFAULT]/fake_rabbit |
| #fake_rabbit = false |
| |
| # Maximum number of channels to allow (integer value) |
| #channel_max = <None> |
| |
| # The maximum byte size for an AMQP frame (integer value) |
| #frame_max = <None> |
| |
| # How often to send heartbeats for consumer's connections (integer value) |
| #heartbeat_interval = 1 |
| |
| # Enable SSL (boolean value) |
| #ssl = <None> |
| |
| # Arguments passed to ssl.wrap_socket (dict value) |
| #ssl_options = <None> |
| |
| # Set socket timeout in seconds for connection's socket (floating point value) |
| #socket_timeout = 0.25 |
| |
| # Set TCP_USER_TIMEOUT in seconds for connection's socket (floating point |
| # value) |
| #tcp_user_timeout = 0.25 |
| |
| # Set delay for reconnection to some host which has connection error (floating |
| # point value) |
| #host_connection_reconnect_delay = 0.25 |
| |
| # Maximum number of connections to keep queued. (integer value) |
| #pool_max_size = 10 |
| |
| # Maximum number of connections to create above `pool_max_size`. (integer |
| # value) |
| #pool_max_overflow = 0 |
| |
| # Default number of seconds to wait for a connections to available (integer |
| # value) |
| #pool_timeout = 30 |
| |
| # Lifetime of a connection (since creation) in seconds or None for no |
| # recycling. Expired connections are closed on acquire. (integer value) |
| #pool_recycle = 600 |
| |
| # Threshold at which inactive (since release) connections are considered stale |
| # in seconds or None for no staleness. Stale connections are closed on acquire. |
| # (integer value) |
| #pool_stale = 60 |
| |
| # Persist notification messages. (boolean value) |
| #notification_persistence = false |
| |
| # Exchange name for for sending notifications (string value) |
| #default_notification_exchange = ${control_exchange}_notification |
| |
| # Max number of not acknowledged message which RabbitMQ can send to |
| # notification listener. (integer value) |
| #notification_listener_prefetch_count = 100 |
| |
| # Reconnecting retry count in case of connectivity problem during sending |
| # notification, -1 means infinite retry. (integer value) |
| #default_notification_retry_attempts = -1 |
| |
| # Reconnecting retry delay in case of connectivity problem during sending |
| # notification message (floating point value) |
| #notification_retry_delay = 0.25 |
| |
| # Time to live for rpc queues without consumers in seconds. (integer value) |
| #rpc_queue_expiration = 60 |
| |
| # Exchange name for sending RPC messages (string value) |
| #default_rpc_exchange = ${control_exchange}_rpc |
| |
| # Exchange name for receiving RPC replies (string value) |
| #rpc_reply_exchange = ${control_exchange}_rpc_reply |
| |
| # Max number of not acknowledged message which RabbitMQ can send to rpc |
| # listener. (integer value) |
| #rpc_listener_prefetch_count = 100 |
| |
| # Max number of not acknowledged message which RabbitMQ can send to rpc reply |
| # listener. (integer value) |
| #rpc_reply_listener_prefetch_count = 100 |
| |
| # Reconnecting retry count in case of connectivity problem during sending |
| # reply. -1 means infinite retry during rpc_timeout (integer value) |
| #rpc_reply_retry_attempts = -1 |
| |
| # Reconnecting retry delay in case of connectivity problem during sending |
| # reply. (floating point value) |
| #rpc_reply_retry_delay = 0.25 |
| |
| # Reconnecting retry count in case of connectivity problem during sending RPC |
| # message, -1 means infinite retry. If actual retry attempts in not 0 the rpc |
| # request could be processed more then one time (integer value) |
| #default_rpc_retry_attempts = -1 |
| |
| # Reconnecting retry delay in case of connectivity problem during sending RPC |
| # message (floating point value) |
| #rpc_retry_delay = 0.25 |
| {%- endif %} |
| |
| |
| [oslo_middleware] |
| |
| # |
| # From oslo.middleware |
| # |
| |
| # The maximum body size for each request, in bytes. (integer value) |
| # Deprecated group/name - [DEFAULT]/osapi_max_request_body_size |
| # Deprecated group/name - [DEFAULT]/max_request_body_size |
| #max_request_body_size = 114688 |
| |
| # The HTTP Header that will be used to determine what the original request |
| # protocol scheme was, even if it was hidden by an SSL termination proxy. |
| # (string value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| #secure_proxy_ssl_header = X-Forwarded-Proto |
| |
| |
| [oslo_policy] |
| |
| # |
| # From oslo.policy |
| # |
| |
| # The JSON file that defines policies. (string value) |
| # Deprecated group/name - [DEFAULT]/policy_file |
| #policy_file = policy.json |
| |
| # Default rule. Enforced when a requested rule is not found. (string value) |
| # Deprecated group/name - [DEFAULT]/policy_default_rule |
| #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) |
| # Deprecated group/name - [DEFAULT]/policy_dirs |
| #policy_dirs = policy.d |
| |
| |
| [paste_deploy] |
| |
| # |
| # From keystone |
| # |
| |
| # Name of the paste configuration file that defines the available pipelines. |
| # (string value) |
| #config_file = keystone-paste.ini |
| |
| |
| [policy] |
| |
| # |
| # From keystone |
| # |
| |
| # Entrypoint for the policy backend driver in the keystone.policy namespace. |
| # Supplied drivers are rules and sql. (string value) |
| #driver = sql |
| |
| # Maximum number of entities that will be returned in a policy collection. |
| # (integer value) |
| #list_limit = <None> |
| |
| |
| [resource] |
| |
| # |
| # From keystone |
| # |
| |
| # Entrypoint for the resource backend driver in the keystone.resource |
| # namespace. Only an SQL driver is supplied. If a resource driver is not |
| # specified, the assignment driver will choose the resource driver. (string |
| # value) |
| #driver = <None> |
| |
| # Toggle for resource caching. This has no effect unless global caching is |
| # enabled. (boolean value) |
| # Deprecated group/name - [assignment]/caching |
| #caching = true |
| |
| # TTL (in seconds) to cache resource data. This has no effect unless global |
| # caching is enabled. (integer value) |
| # Deprecated group/name - [assignment]/cache_time |
| #cache_time = <None> |
| |
| # Maximum number of entities that will be returned in a resource collection. |
| # (integer value) |
| # Deprecated group/name - [assignment]/list_limit |
| #list_limit = <None> |
| |
| # Name of the domain that owns the `admin_project_name`. Defaults to None. |
| # (string value) |
| #admin_project_domain_name = <None> |
| |
| # Special project for performing administrative operations on remote services. |
| # Tokens scoped to this project will contain the key/value |
| # `is_admin_project=true`. Defaults to None. (string value) |
| #admin_project_name = <None> |
| |
| # Whether the names of projects are restricted from containing url reserved |
| # characters. If set to new, attempts to create or update a project with a url |
| # unsafe name will return an error. In addition, if set to strict, attempts to |
| # scope a token using an unsafe project name will return an error. (string |
| # value) |
| # Allowed values: off, new, strict |
| #project_name_url_safe = off |
| |
| # Whether the names of domains are restricted from containing url reserved |
| # characters. If set to new, attempts to create or update a domain with a url |
| # unsafe name will return an error. In addition, if set to strict, attempts to |
| # scope a token using a domain name which is unsafe will return an error. |
| # (string value) |
| # Allowed values: off, new, strict |
| #domain_name_url_safe = off |
| |
| |
| [revoke] |
| |
| # |
| # From keystone |
| # |
| |
| # Entrypoint for an implementation of the backend for persisting revocation |
| # events in the keystone.revoke namespace. Supplied drivers are kvs and sql. |
| # (string value) |
| #driver = sql |
| |
| # This value (calculated in seconds) is added to token expiration before a |
| # revocation event may be removed from the backend. (integer value) |
| #expiration_buffer = 1800 |
| |
| # Toggle for revocation event caching. This has no effect unless global caching |
| # is enabled. (boolean value) |
| #caching = true |
| |
| # Time to cache the revocation list and the revocation events (in seconds). |
| # This has no effect unless global and token caching are enabled. (integer |
| # value) |
| # Deprecated group/name - [token]/revocation_cache_time |
| #cache_time = 3600 |
| |
| |
| [role] |
| |
| # |
| # From keystone |
| # |
| |
| # Entrypoint for the role backend driver in the keystone.role namespace. |
| # Supplied drivers are ldap and sql. (string value) |
| #driver = <None> |
| |
| # Toggle for role caching. This has no effect unless global caching is enabled. |
| # (boolean value) |
| #caching = true |
| |
| # TTL (in seconds) to cache role data. This has no effect unless global caching |
| # is enabled. (integer value) |
| #cache_time = <None> |
| |
| # Maximum number of entities that will be returned in a role collection. |
| # (integer value) |
| #list_limit = <None> |
| |
| |
| [saml] |
| |
| # |
| # From keystone |
| # |
| |
| # Default TTL, in seconds, for any generated SAML assertion created by |
| # Keystone. (integer value) |
| #assertion_expiration_time = 3600 |
| |
| # Binary to be called for XML signing. Install the appropriate package, specify |
| # absolute path or adjust your PATH environment variable if the binary cannot |
| # be found. (string value) |
| #xmlsec1_binary = xmlsec1 |
| |
| # Path of the certfile for SAML signing. For non-production environments, you |
| # may be interested in using `keystone-manage pki_setup` to generate self- |
| # signed certificates. Note, the path cannot contain a comma. (string value) |
| #certfile = /etc/keystone/ssl/certs/signing_cert.pem |
| |
| # Path of the keyfile for SAML signing. Note, the path cannot contain a comma. |
| # (string value) |
| #keyfile = /etc/keystone/ssl/private/signing_key.pem |
| |
| # Entity ID value for unique Identity Provider identification. Usually FQDN is |
| # set with a suffix. A value is required to generate IDP Metadata. For example: |
| # https://keystone.example.com/v3/OS-FEDERATION/saml2/idp (string value) |
| #idp_entity_id = <None> |
| |
| # Identity Provider Single-Sign-On service value, required in the Identity |
| # Provider's metadata. A value is required to generate IDP Metadata. For |
| # example: https://keystone.example.com/v3/OS-FEDERATION/saml2/sso (string |
| # value) |
| #idp_sso_endpoint = <None> |
| |
| # Language used by the organization. (string value) |
| #idp_lang = en |
| |
| # Organization name the installation belongs to. (string value) |
| #idp_organization_name = <None> |
| |
| # Organization name to be displayed. (string value) |
| #idp_organization_display_name = <None> |
| |
| # URL of the organization. (string value) |
| #idp_organization_url = <None> |
| |
| # Company of contact person. (string value) |
| #idp_contact_company = <None> |
| |
| # Given name of contact person (string value) |
| #idp_contact_name = <None> |
| |
| # Surname of contact person. (string value) |
| #idp_contact_surname = <None> |
| |
| # Email address of contact person. (string value) |
| #idp_contact_email = <None> |
| |
| # Telephone number of contact person. (string value) |
| #idp_contact_telephone = <None> |
| |
| # The contact type describing the main point of contact for the identity |
| # provider. (string value) |
| # Allowed values: technical, support, administrative, billing, other |
| #idp_contact_type = other |
| |
| # Path to the Identity Provider Metadata file. This file should be generated |
| # with the keystone-manage saml_idp_metadata command. (string value) |
| #idp_metadata_path = /etc/keystone/saml2_idp_metadata.xml |
| |
| # The prefix to use for the RelayState SAML attribute, used when generating ECP |
| # wrapped assertions. (string value) |
| #relay_state_prefix = ss:mem: |
| |
| |
| [shadow_users] |
| |
| # |
| # From keystone |
| # |
| |
| # Entrypoint for the shadow users backend driver in the |
| # keystone.identity.shadow_users namespace. (string value) |
| #driver = sql |
| |
| |
| [signing] |
| |
| # |
| # From keystone |
| # |
| |
| # Path of the certfile for token signing. For non-production environments, you |
| # may be interested in using `keystone-manage pki_setup` to generate self- |
| # signed certificates. (string value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: PKI token support has been deprecated in the M release and will be |
| # removed in the O release. Fernet or UUID tokens are recommended. |
| #certfile = /etc/keystone/ssl/certs/signing_cert.pem |
| |
| # Path of the keyfile for token signing. (string value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: PKI token support has been deprecated in the M release and will be |
| # removed in the O release. Fernet or UUID tokens are recommended. |
| #keyfile = /etc/keystone/ssl/private/signing_key.pem |
| |
| # Path of the CA for token signing. (string value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: PKI token support has been deprecated in the M release and will be |
| # removed in the O release. Fernet or UUID tokens are recommended. |
| #ca_certs = /etc/keystone/ssl/certs/ca.pem |
| |
| # Path of the CA key for token signing. (string value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: PKI token support has been deprecated in the M release and will be |
| # removed in the O release. Fernet or UUID tokens are recommended. |
| #ca_key = /etc/keystone/ssl/private/cakey.pem |
| |
| # Key size (in bits) for token signing cert (auto generated certificate). |
| # (integer value) |
| # Minimum value: 1024 |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: PKI token support has been deprecated in the M release and will be |
| # removed in the O release. Fernet or UUID tokens are recommended. |
| #key_size = 2048 |
| |
| # Days the token signing cert is valid for (auto generated certificate). |
| # (integer value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: PKI token support has been deprecated in the M release and will be |
| # removed in the O release. Fernet or UUID tokens are recommended. |
| #valid_days = 3650 |
| |
| # Certificate subject (auto generated certificate) for token signing. (string |
| # value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: PKI token support has been deprecated in the M release and will be |
| # removed in the O release. Fernet or UUID tokens are recommended. |
| #cert_subject = /C=US/ST=Unset/L=Unset/O=Unset/CN=www.example.com |
| |
| |
| [ssl] |
| |
| # |
| # From keystone |
| # |
| |
| # Path of the CA key file for SSL. (string value) |
| #ca_key = /etc/keystone/ssl/private/cakey.pem |
| |
| # SSL key length (in bits) (auto generated certificate). (integer value) |
| # Minimum value: 1024 |
| #key_size = 1024 |
| |
| # Days the certificate is valid for once signed (auto generated certificate). |
| # (integer value) |
| #valid_days = 3650 |
| |
| # SSL certificate subject (auto generated certificate). (string value) |
| #cert_subject = /C=US/ST=Unset/L=Unset/O=Unset/CN=localhost |
| |
| |
| [token] |
| |
| # |
| # From keystone |
| # |
| |
| # External auth mechanisms that should add bind information to token, e.g., |
| # kerberos,x509. (list value) |
| #bind = |
| |
| # Enforcement policy on tokens presented to Keystone with bind information. One |
| # of disabled, permissive, strict, required or a specifically required bind |
| # mode, e.g., kerberos or x509 to require binding to that authentication. |
| # (string value) |
| #enforce_token_bind = permissive |
| |
| # Amount of time a token should remain valid (in seconds). (integer value) |
| #expiration = 3600 |
| expiration = {{ server.tokens.expiration }} |
| |
| # Controls the token construction, validation, and revocation operations. |
| # Entrypoint in the keystone.token.provider namespace. Core providers are |
| # [fernet|pkiz|pki|uuid]. (string value) |
| #provider = uuid |
| {% if server.tokens.engine == 'fernet' %} |
| provider = keystone.token.providers.fernet.Provider |
| {% endif %} |
| |
| # Entrypoint for the token persistence backend driver in the |
| # keystone.token.persistence namespace. Supplied drivers are kvs, memcache, |
| # memcache_pool, and sql. (string value) |
| #driver = sql |
| driver = memcache_pool |
| |
| # Toggle for token system caching. This has no effect unless global caching is |
| # enabled. (boolean value) |
| #caching = true |
| |
| # Time to cache tokens (in seconds). This has no effect unless global and token |
| # caching are enabled. (integer value) |
| #cache_time = <None> |
| |
| # Revoke token by token identifier. Setting revoke_by_id to true enables |
| # various forms of enumerating tokens, e.g. `list tokens for user`. These |
| # enumerations are processed to determine the list of tokens to revoke. Only |
| # disable if you are switching to using the Revoke extension with a backend |
| # other than KVS, which stores events in memory. (boolean value) |
| #revoke_by_id = true |
| |
| # Allow rescoping of scoped token. Setting allow_rescoped_scoped_token to false |
| # prevents a user from exchanging a scoped token for any other token. (boolean |
| # value) |
| #allow_rescope_scoped_token = true |
| |
| # The hash algorithm to use for PKI tokens. This can be set to any algorithm |
| # that hashlib supports. WARNING: Before changing this value, the auth_token |
| # middleware must be configured with the hash_algorithms, otherwise token |
| # revocation will not be processed correctly. (string value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| # Reason: PKI token support has been deprecated in the M release and will be |
| # removed in the O release. Fernet or UUID tokens are recommended. |
| #hash_algorithm = md5 |
| |
| # Add roles to token that are not explicitly added, but that are linked |
| # implicitly to other roles. (boolean value) |
| #infer_roles = true |
| |
| |
| [tokenless_auth] |
| |
| # |
| # From keystone |
| # |
| |
| # The list of trusted issuers to further filter the certificates that are |
| # allowed to participate in the X.509 tokenless authorization. If the option is |
| # absent then no certificates will be allowed. The naming format for the |
| # attributes of a Distinguished Name(DN) must be separated by a comma and |
| # contain no spaces. This configuration option may be repeated for multiple |
| # values. For example: trusted_issuer=CN=john,OU=keystone,O=openstack |
| # trusted_issuer=CN=mary,OU=eng,O=abc (multi valued) |
| #trusted_issuer = |
| |
| # The protocol name for the X.509 tokenless authorization along with the option |
| # issuer_attribute below can look up its corresponding mapping. (string value) |
| #protocol = x509 |
| |
| # The issuer attribute that is served as an IdP ID for the X.509 tokenless |
| # authorization along with the protocol to look up its corresponding mapping. |
| # It is the environment variable in the WSGI environment that references to the |
| # issuer of the client certificate. (string value) |
| #issuer_attribute = SSL_CLIENT_I_DN |
| |
| |
| [trust] |
| |
| # |
| # From keystone |
| # |
| |
| # Delegation and impersonation features can be optionally disabled. (boolean |
| # value) |
| #enabled = true |
| |
| # Enable redelegation feature. (boolean value) |
| #allow_redelegation = false |
| |
| # Maximum depth of trust redelegation. (integer value) |
| #max_redelegation_count = 3 |
| |
| # Entrypoint for the trust backend driver in the keystone.trust namespace. |
| # (string value) |
| #driver = sql |
| |
| [extra_headers] |
| Distribution = Ubuntu |