# designate.conf

    [DEFAULT]

    #
    # From designate.conf
    #

    # Name of this node (string value)
    #
    # This option has a sample default set, which means that
    # its actual default value may vary from the one documented
    # below.
    #host = current_hostname

    # Directory where the designate python module is installed (string value)
    #
    # This option has a sample default set, which means that
    # its actual default value may vary from the one documented
    # below.
    #pybasedir = <Path>

    # Top-level directory for maintaining designate's state (string value)
    #state_path = /var/lib/designate

    # Additional modules that contains allowed RPC exceptions. (list value)
    # Deprecated group/name - [DEFAULT]/allowed_rpc_exception_modules
    #allowed_remote_exmods =

    # TTL Value (integer value)
    #default_ttl = 3600

    # SOA refresh-min value (integer value)
    # Deprecated group/name - [DEFAULT]/default_soa_refresh
    #default_soa_refresh_min = 3500

    # SOA max value (integer value)
    #default_soa_refresh_max = 3600

    # SOA retry (integer value)
    #default_soa_retry = 600

    # SOA expire (integer value)
    #default_soa_expire = 86400

    # SOA minimum value (integer value)
    #default_soa_minimum = 3600

    # Supported record types (list value)
    #supported_record_type = A,AAAA,CNAME,MX,SRV,TXT,SPF,NS,PTR,SSHFP,SOA,NAPTR,CAA,CERT,HTTPS,SVCB

    # Number of backlog requests to configure the socket with (integer value)
    #backlog = 4096

    # designate-rootwrap configuration (string value)
    #root_helper = sudo designate-rootwrap /etc/designate/rootwrap.conf

    # Which API to use. (string value)
    #network_api = neutron

    # Send notifications if there's a failure in the API. (boolean value)
    #notify_api_faults = false

    # The notification plugin to use (string value)
    #notification_plugin = default

    # Quota driver to use (string value)
    #quota_driver = storage

    # Number of zones allowed per tenant (integer value)
    #quota_zones = 10

    # Number of recordsets allowed per zone (integer value)
    #quota_zone_recordsets = 500

    # Number of records allowed per zone (integer value)
    #quota_zone_records = 500

    # Number of records allowed per recordset (integer value)
    #quota_recordset_records = 20

    # Number of recordsets allowed in a zone export (integer value)
    #quota_api_export_size = 1000

    #
    # From oslo.log
    #

    # If set to true, the logging level will be set to DEBUG instead of the default
    # INFO level. (boolean value)
    # Note: This option can be changed without restarting.
    #debug = false

    # The name of a logging configuration file. This file is appended to any
    # existing logging configuration files. For details about logging configuration
    # files, see the Python logging module documentation. Note that when logging
    # configuration files are used then all logging configuration is set in the
    # configuration file and other logging configuration options are ignored (for
    # example, log-date-format). (string value)
    # Note: This option can be changed without restarting.
    # Deprecated group/name - [DEFAULT]/log_config
    #log_config_append = <None>

    # Defines the format string for %%(asctime)s in log records. Default:
    # %(default)s . This option is ignored if log_config_append is set. (string
    # value)
    #log_date_format = %Y-%m-%d %H:%M:%S

    # (Optional) Name of log file to send logging output to. If no default is set,
    # logging will go to stderr as defined by use_stderr. This option is ignored if
    # log_config_append is set. (string value)
    # Deprecated group/name - [DEFAULT]/logfile
    #log_file = <None>

    # (Optional) The base directory used for relative log_file  paths. This option
    # is ignored if log_config_append is set. (string value)
    # Deprecated group/name - [DEFAULT]/logdir
    #log_dir = <None>

    # Use syslog for logging. Existing syslog format is DEPRECATED and will be
    # changed later to honor RFC5424. This option is ignored if log_config_append is
    # set. (boolean value)
    #use_syslog = false

    # Enable journald for logging. If running in a systemd environment you may wish
    # to enable journal support. Doing so will use the journal native protocol which
    # includes structured metadata in addition to log messages.This option is
    # ignored if log_config_append is set. (boolean value)
    #use_journal = false

    # Syslog facility to receive log lines. This option is ignored if
    # log_config_append is set. (string value)
    #syslog_log_facility = LOG_USER

    # Use JSON formatting for logging. This option is ignored if log_config_append
    # is set. (boolean value)
    #use_json = false

    # Log output to standard error. This option is ignored if log_config_append is
    # set. (boolean value)
    #use_stderr = false

    # (Optional) Set the 'color' key according to log levels. This option takes
    # effect only when logging to stderr or stdout is used. This option is ignored
    # if log_config_append is set. (boolean value)
    #log_color = false

    # The amount of time before the log files are rotated. This option is ignored
    # unless log_rotation_type is set to "interval". (integer value)
    #log_rotate_interval = 1

    # Rotation interval type. The time of the last file change (or the time when the
    # service was started) is used when scheduling the next rotation. (string value)
    # Possible values:
    # Seconds - <No description provided>
    # Minutes - <No description provided>
    # Hours - <No description provided>
    # Days - <No description provided>
    # Weekday - <No description provided>
    # Midnight - <No description provided>
    #log_rotate_interval_type = days

    # Maximum number of rotated log files. (integer value)
    #max_logfile_count = 30

    # Log file maximum size in MB. This option is ignored if "log_rotation_type" is
    # not set to "size". (integer value)
    #max_logfile_size_mb = 200

    # Log rotation type. (string value)
    # Possible values:
    # interval - Rotate logs at predefined time intervals.
    # size - Rotate logs once they reach a predefined size.
    # none - Do not rotate log files.
    #log_rotation_type = none

    # Format string to use for log messages with context. Used by
    # oslo_log.formatters.ContextFormatter (string value)
    #logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(global_request_id)s %(request_id)s %(user_identity)s] %(instance)s%(message)s

    # Format string to use for log messages when context is undefined. Used by
    # oslo_log.formatters.ContextFormatter (string value)
    #logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s

    # Additional data to append to log message when logging level for the message is
    # DEBUG. Used by oslo_log.formatters.ContextFormatter (string value)
    #logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d

    # Prefix each line of exception output with this format. Used by
    # oslo_log.formatters.ContextFormatter (string value)
    #logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s

    # Defines the format string for %(user_identity)s that is used in
    # logging_context_format_string. Used by oslo_log.formatters.ContextFormatter
    # (string value)
    #logging_user_identity_format = %(user)s %(project)s %(domain)s %(system_scope)s %(user_domain)s %(project_domain)s

    # List of package logging levels in logger=LEVEL pairs. This option is ignored
    # if log_config_append is set. (list value)
    #default_log_levels = amqp=WARN,boto=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,kazoo.client=WARN,keystone=INFO,oslo_service.loopingcall=WARN

    # Enables or disables publication of error events. (boolean value)
    #publish_errors = false

    # The format for an instance that is passed with the log message. (string value)
    #instance_format = "[instance: %(uuid)s] "

    # The format for an instance UUID that is passed with the log message. (string
    # value)
    #instance_uuid_format = "[instance: %(uuid)s] "

    # Interval, number of seconds, of log rate limiting. (integer value)
    #rate_limit_interval = 0

    # Maximum number of logged messages per rate_limit_interval. (integer value)
    #rate_limit_burst = 0

    # Log level name used by rate limiting. Logs with level greater or equal to
    # rate_limit_except_level are not filtered. An empty string means that all
    # levels are filtered. (string value)
    # Possible values:
    # CRITICAL - <No description provided>
    # ERROR - <No description provided>
    # INFO - <No description provided>
    # WARNING - <No description provided>
    # DEBUG - <No description provided>
    # '' - <No description provided>
    #rate_limit_except_level = CRITICAL

    # Enables or disables fatal status of deprecations. (boolean value)
    #fatal_deprecations = false

    #
    # From oslo.messaging
    #

    # Size of executor thread pool when executor is threading or eventlet. (integer
    # value)
    # Deprecated group/name - [DEFAULT]/rpc_thread_pool_size
    #executor_thread_pool_size = 64

    # Seconds to wait for a response from a call. (integer value)
    #rpc_response_timeout = 60

    # The network address and optional user credentials for connecting to the
    # messaging backend, in URL format. The expected format is:
    #
    # driver://[user:pass@]host:port[,[userN:passN@]hostN:portN]/virtual_host?query
    #
    # Example: rabbit://rabbitmq:password@127.0.0.1:5672//
    #
    # For full details on the fields in the URL see the documentation of
    # oslo_messaging.TransportURL at
    # https://docs.openstack.org/oslo.messaging/latest/reference/transport.html
    # (string value)
    #transport_url = rabbit://

    # The default exchange under which topics are scoped. May be overridden by an
    # exchange name specified in the transport_url option. (string value)
    #control_exchange = openstack

    # Add an endpoint to answer to ping calls. Endpoint is named
    # oslo_rpc_server_ping (boolean value)
    #rpc_ping_enabled = false

    #
    # From oslo.service.periodic_task
    #

    # Some periodic tasks can be run in a separate process. Should we run them here?
    # (boolean value)
    #run_external_periodic_tasks = true

    #
    # From oslo.service.service
    #

    # DEPRECATED: 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)
    # This option is deprecated for removal.
    # Its value may be silently ignored in the future.
    # Reason: The 'backdoor_port' option is deprecated and will be removed in a
    # future release.
    #backdoor_port = <None>

    # DEPRECATED: 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. (string
    # value)
    # This option is deprecated for removal.
    # Its value may be silently ignored in the future.
    # Reason: The 'backdoor_socket' option is deprecated and will be removed in a
    # future release.
    #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

    #
    # From oslo.service.wsgi
    #

    # DEPRECATED: File name for the paste.deploy config for api service (string
    # value)
    # This option is deprecated for removal.
    # Its value may be silently ignored in the future.
    # Reason: The 'api_paste_config' option is deprecated and will be removed in a
    # future release.
    #api_paste_config = api-paste.ini

    # DEPRECATED: A python format string that is used as the template to generate
    # log lines. The following values can beformatted into it: client_ip, date_time,
    # request_line, status_code, body_length, wall_seconds. (string value)
    # This option is deprecated for removal.
    # Its value may be silently ignored in the future.
    # Reason: The 'wsgi_log_format' option is deprecated and will be removed in a
    # future release.
    #wsgi_log_format = %(client_ip)s "%(request_line)s" status: %(status_code)s  len: %(body_length)s time: %(wall_seconds).7f

    # DEPRECATED: Sets the value of TCP_KEEPIDLE in seconds for each server socket.
    # Not supported on OS X. (integer value)
    # This option is deprecated for removal.
    # Its value may be silently ignored in the future.
    # Reason: The 'tcp_keepidle' option is deprecated and will be removed in a
    # future release.
    #tcp_keepidle = 600

    # DEPRECATED: Size of the pool of greenthreads used by wsgi (integer value)
    # This option is deprecated for removal.
    # Its value may be silently ignored in the future.
    # Reason: The 'wsgi_default_pool_size' option is deprecated and will be removed
    # in a future release.
    #wsgi_default_pool_size = 100

    # DEPRECATED: Maximum line size of message headers to be accepted.
    # max_header_line may need to be increased when using large tokens (typically
    # those generated when keystone is configured to use PKI tokens with big service
    # catalogs). (integer value)
    # This option is deprecated for removal.
    # Its value may be silently ignored in the future.
    # Reason: The 'max_header_line' option is deprecated and will be removed in a
    # future release.
    #max_header_line = 16384

    # DEPRECATED: If False, closes the client socket connection explicitly. (boolean
    # value)
    # This option is deprecated for removal.
    # Its value may be silently ignored in the future.
    # Reason: The 'wsgi_keep_alive' option is deprecated and will be removed in a
    # future release.
    #wsgi_keep_alive = true

    # DEPRECATED: Timeout for client connections' socket operations. If an incoming
    # connection is idle for this number of seconds it will be closed. A value of
    # '0' means wait forever. (integer value)
    # This option is deprecated for removal.
    # Its value may be silently ignored in the future.
    # Reason: The 'client_socket_timeout' option is deprecated and will be removed
    # in a future release.
    #client_socket_timeout = 900

    # DEPRECATED: True if the server should send exception tracebacks to the clients
    # on 500 errors. If False, the server will respond with empty bodies. (boolean
    # value)
    # This option is deprecated for removal.
    # Its value may be silently ignored in the future.
    # Reason: The 'wsgi_server_debug' option is deprecated and will be removed in a
    # future release.
    #wsgi_server_debug = false

    [backend:dynect]

    #
    # From designate.conf
    #

    # Timeout in seconds for pulling a job in DynECT. (integer value)
    #job_timeout = 30

    # Timeout in seconds for API Requests. (integer value)
    #timeout = 10

    # Measure requests timings. (boolean value)
    #timings = false

    [coordination]

    #
    # From designate.conf
    #

    # The backend URL to use for distributed coordination. If unset services that
    # need coordination will function as a standalone service. This is a `tooz` url
    # - see https://docs.openstack.org/tooz/latest/user/compatibility.html (string
    # value)
    #backend_url = <None>

    # Number of seconds between heartbeats for distributed coordination. (floating
    # point value)
    #heartbeat_interval = 5.0

    # Number of seconds between checks to see if group membership has changed
    # (floating point value)
    #run_watchers_interval = 10.0

    [cors]

    #
    # From oslo.middleware
    #

    # Indicate whether this resource may be shared with the domain received in the
    # requests "origin" header. Format: "<protocol>://<host>[:<port>]", no trailing
    # slash. Example: https://horizon.example.com (list value)
    #allowed_origin = <None>

    # Indicate that the actual request can include user credentials (boolean value)
    #allow_credentials = true

    # Indicate which headers are safe to expose to the API. Defaults to HTTP Simple
    # Headers. (list value)
    #expose_headers = X-OpenStack-Request-ID,Host

    # 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,HEAD

    # Indicate which header field names may be used during the actual request. (list
    # value)
    #allow_headers = X-Auth-Token,X-Auth-Sudo-Tenant-ID,X-Auth-Sudo-Project-ID,X-Auth-All-Projects,X-Designate-Edit-Managed-Records,X-Designate-Hard-Delete,OpenStack-DNS-Hide-Counts

    [database]

    #
    # From oslo.db
    #

    # If True, SQLite uses synchronous mode. (boolean value)
    #sqlite_synchronous = true

    # The back end to use for the database. (string value)
    #backend = sqlalchemy

    # The SQLAlchemy connection string to use to connect to the database. (string
    # value)
    #connection = <None>

    # The SQLAlchemy connection string to use to connect to the slave database.
    # (string value)
    #slave_connection = <None>

    # The SQLAlchemy asyncio connection string to use to connect to the database.
    # (string value)
    #asyncio_connection = <None>

    # The SQLAlchemy asyncio connection string to use to connect to the slave
    # database. (string value)
    #asyncio_slave_connection = <None>

    # Whether or not to assume a reader context needs to guarantee it can read data
    # committed by a writer assuming replication lag is present; defaults to True.
    # When False, a reader context works the same as async_reader and will select
    # the slave database if present. When using a galera cluster, this can be set to
    # False only if you set mysql_wsrep_sync_wait to 1 (this will guarantee that the
    # reader will wait until writesets are committed).Note that this may incur a
    # performance degradation within the galera cluster. Note also that this
    # parameter has no effect if you do not set any slave_connection. (boolean
    # value)
    #synchronous_reader = true

    # 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

    # For Galera only, configure wsrep_sync_wait causality checks on new
    # connections.  Default is None, meaning don't configure any setting. (integer
    # value)
    #mysql_wsrep_sync_wait = <None>

    # Connections which have been present in the connection pool longer than this
    # number of seconds will be replaced with a new one the next time they are
    # checked out from the pool. (integer value)
    #connection_recycle_time = 3600

    # Maximum number of SQL connections to keep open in a pool. Setting a value of 0
    # indicates no limit. (integer value)
    #max_pool_size = 5

    # Maximum number of database connection retries during startup. Set to -1 to
    # specify an infinite retry count. (integer value)
    #max_retries = 10

    # Interval between retries of opening a SQL connection. (integer value)
    #retry_interval = 10

    # If set, use this value for max_overflow with SQLAlchemy. (integer value)
    #max_overflow = 50

    # Verbosity of SQL debugging information: 0=None, 100=Everything. (integer
    # value)
    # Minimum value: 0
    # Maximum value: 100
    #connection_debug = 0

    # Add Python stack traces to SQL as comment strings. (boolean value)
    #connection_trace = false

    # If set, use this value for pool_timeout with SQLAlchemy. (integer value)
    #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

    # Optional URL parameters to append onto the connection URL at connect time;
    # specify as param1=value1&param2=value2&... (string value)
    #connection_parameters =

    [handler:neutron_floatingip]

    #
    # From designate.conf
    #

    # notification any events from neutron (list value)
    #notification_topics = notifications

    # control-exchange for neutron notification (string value)
    #control_exchange = neutron

    # Zone ID with each notification (string value)
    #zone_id = <None>

    # IPv4 format (multi valued)
    #formatv4 =

    # DEPRECATED: format which replaced by formatv4/formatv6 (multi valued)
    # This option is deprecated for removal.
    # Its value may be silently ignored in the future.
    # Reason: Replaced by 'formatv4/formatv6'
    #format =

    # IPv6 format (multi valued)
    #formatv6 =

    [handler:nova_fixed]

    #
    # From designate.conf
    #

    # notification any events from nova (list value)
    #notification_topics = notifications

    # control-exchange for nova notification (string value)
    #control_exchange = nova

    # Zone ID with each notification (string value)
    #zone_id = <None>

    # IPv4 format (multi valued)
    #formatv4 =

    # DEPRECATED: format which replaced by formatv4/formatv6 (multi valued)
    # This option is deprecated for removal.
    # Its value may be silently ignored in the future.
    # Reason: Replaced by 'formatv4/formatv6'
    #format =

    # IPv6 format (multi valued)
    #formatv6 =

    [healthcheck]

    #
    # From oslo.middleware
    #

    # 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.
    # (boolean value)
    #detailed = false

    # Additional backends that can perform health checks and report that information
    # back as part of a request. (list value)
    #backends =

    # 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. (list value)
    #allowed_source_ranges =

    # Ignore requests with proxy headers. (boolean value)
    #ignore_proxied_requests = false

    # Check the presence of a file to determine if an application is running on a
    # port. Used by DisableByFileHealthcheck plugin. (string value)
    #disable_by_file_path = <None>

    # 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. (list value)
    #disable_by_file_paths =

    # Check the presence of files. Used by EnableByFilesHealthcheck plugin. (list
    # value)
    #enable_by_file_paths =

    [heartbeat_emitter]

    #
    # From designate.conf
    #

    # Number of seconds between heartbeats for reporting state (floating point
    # value)
    #heartbeat_interval = 10.0

    # Emitter to use (string value)
    #emitter_type = rpc

    [keystone]

    #
    # From designate.conf
    #

    # The default service_type for endpoint URL discovery. (string value)
    #service_type = <None>

    # The default service_name for endpoint URL discovery. (string value)
    #service_name = <None>

    # List of interfaces, in order of preference, for endpoint URL. (list value)
    #valid_interfaces = <None>

    # The default region_name for endpoint URL discovery. (string value)
    #region_name = <None>

    # Always use this endpoint URL for requests for this client. NOTE: The
    # unversioned endpoint should be specified here; to request a particular API
    # version, use the `version`, `min-version`, and/or `max-version` options.
    # (string value)
    #endpoint_override = <None>

    # Minimum Major API version within a given Major API version for endpoint URL
    # discovery. Mutually exclusive with min_version and max_version (string value)
    #version = <None>

    # The minimum major version of a given API, intended to be used as the lower
    # bound of a range with max_version. Mutually exclusive with version. If
    # min_version is given with no max_version it is as if max version is "latest".
    # (string value)
    #min_version = <None>

    # The maximum major version of a given API, intended to be used as the upper
    # bound of a range with min_version. Mutually exclusive with version. (string
    # value)
    #max_version = <None>

    # The maximum number of retries that should be attempted for connection errors.
    # (integer value)
    #connect_retries = <None>

    # Delay (in seconds) between two retries for connection errors. If not set,
    # exponential retry starting with 0.5 seconds up to a maximum of 60 seconds is
    # used. (floating point value)
    #connect_retry_delay = <None>

    # The maximum number of retries that should be attempted for retriable HTTP
    # status codes. (integer value)
    #status_code_retries = <None>

    # Delay (in seconds) between two retries for retriable status codes. If not set,
    # exponential retry starting with 0.5 seconds up to a maximum of 60 seconds is
    # used. (floating point value)
    #status_code_retry_delay = <None>

    # List of retriable HTTP status codes that should be retried. If not set default
    # to  [503] (list value)
    #retriable_status_codes = <None>

    # DEPRECATED: The default interface for endpoint URL discovery. (string value)
    # This option is deprecated for removal.
    # Its value may be silently ignored in the future.
    # Reason: Using valid-interfaces is preferrable because it is capable of
    # accepting a list of possible interfaces.
    #interface = <None>

    # PEM encoded Certificate Authority to use when verifying HTTPs connections.
    # (string value)
    #cafile = <None>

    # PEM encoded client certificate cert file (string value)
    #certfile = <None>

    # PEM encoded client certificate key file (string value)
    #keyfile = <None>

    # Verify HTTPS connections. (boolean value)
    #insecure = false

    # Timeout value for http requests (integer value)
    #timeout = <None>

    # Collect per-API call timing information. (boolean value)
    #collect_timing = false

    # Log requests to multiple loggers. (boolean value)
    #split_loggers = false

    [keystone_authtoken]

    #
    # From keystonemiddleware.auth_token
    #

    # Complete "public" Identity API endpoint. This endpoint should not be an
    # "admin" endpoint, as it should be accessible by all end users. Unauthenticated
    # clients are redirected to this endpoint to authenticate. Although this
    # endpoint should ideally be unversioned, client support in the wild varies. If
    # you're using a versioned v2 endpoint here, then this should *not* be the same
    # endpoint the service user utilizes for validating tokens, because normal end
    # users may not be able to reach that endpoint. (string value)
    # Deprecated group/name - [keystone_authtoken]/auth_uri
    #www_authenticate_uri = <None>

    # DEPRECATED: Complete "public" Identity API endpoint. This endpoint should not
    # be an "admin" endpoint, as it should be accessible by all end users.
    # Unauthenticated clients are redirected to this endpoint to authenticate.
    # Although this endpoint should ideally be unversioned, client support in the
    # wild varies. If you're using a versioned v2 endpoint here, then this should
    # *not* be the same endpoint the service user utilizes for validating tokens,
    # because normal end users may not be able to reach that endpoint. This option
    # is deprecated in favor of www_authenticate_uri and will be removed in the S
    # release. (string value)
    # This option is deprecated for removal since Queens.
    # Its value may be silently ignored in the future.
    # Reason: The auth_uri option is deprecated in favor of www_authenticate_uri and
    # will be removed in the S  release.
    #auth_uri = <None>

    # API version of the Identity API endpoint. (string value)
    #auth_version = <None>

    # Interface to use for the Identity API endpoint. Valid values are "public",
    # "internal" (default) or "admin". (string value)
    #interface = internal

    # Do not handle authorization requests within the middleware, but delegate the
    # authorization decision to downstream WSGI components. (boolean value)
    #delay_auth_decision = false

    # Request timeout value for communicating with Identity API server. (integer
    # value)
    #http_connect_timeout = <None>

    # How many times are we trying to reconnect when communicating with Identity API
    # Server. (integer value)
    #http_request_max_retries = 3

    # Request environment key where the Swift cache object is stored. When
    # auth_token middleware is deployed with a Swift cache, use this option to have
    # the middleware share a caching backend with swift. Otherwise, use the
    # ``memcached_servers`` option instead. (string value)
    #cache = <None>

    # Required if identity server requires client certificate (string value)
    #certfile = <None>

    # Required if identity server requires client certificate (string value)
    #keyfile = <None>

    # A PEM encoded Certificate Authority to use when verifying HTTPs connections.
    # Defaults to system CAs. (string value)
    #cafile = <None>

    # Verify HTTPS connections. (boolean value)
    #insecure = false

    # The region in which the identity server can be found. (string value)
    #region_name = <None>

    # Optionally specify a list of memcached server(s) to use for caching. If left
    # undefined, tokens will instead be cached in-process. (list value)
    # Deprecated group/name - [keystone_authtoken]/memcache_servers
    #memcached_servers = <None>

    # In order to prevent excessive effort spent validating tokens, the middleware
    # caches previously-seen tokens for a configurable duration (in seconds). Set to
    # -1 to disable caching completely. (integer value)
    #token_cache_time = 300

    # (Optional) If defined, indicate whether token data should be authenticated or
    # authenticated and encrypted. If MAC, token data is authenticated (with HMAC)
    # in the cache. If ENCRYPT, token data is encrypted and authenticated in the
    # cache. If the value is not one of these options or empty, auth_token will
    # raise an exception on initialization. (string value)
    # Possible values:
    # None - <No description provided>
    # MAC - <No description provided>
    # ENCRYPT - <No description provided>
    #memcache_security_strategy = None

    # (Optional, mandatory if memcache_security_strategy is defined) This string is
    # used for key derivation. (string value)
    #memcache_secret_key = <None>

    # (Optional) Global toggle for TLS usage when comunicating with the caching
    # servers. (boolean value)
    #memcache_tls_enabled = false

    # (Optional) Path to a file of concatenated CA certificates in PEM format
    # necessary to establish the caching server's authenticity. If tls_enabled is
    # False, this option is ignored. (string value)
    #memcache_tls_cafile = <None>

    # (Optional) Path to a single file in PEM format containing the client's
    # certificate as well as any number of CA certificates needed to establish the
    # certificate's authenticity. This file is only required when client side
    # authentication is necessary. If tls_enabled is False, this option is ignored.
    # (string value)
    #memcache_tls_certfile = <None>

    # (Optional) Path to a single file containing the client's private key in.
    # Otherwhise the private key will be taken from the file specified in
    # tls_certfile. If tls_enabled is False, this option is ignored. (string value)
    #memcache_tls_keyfile = <None>

    # (Optional) Set the available ciphers for sockets created with the TLS context.
    # It should be a string in the OpenSSL cipher list format. If not specified, all
    # OpenSSL enabled ciphers will be available. (string value)
    #memcache_tls_allowed_ciphers = <None>

    # (Optional) Number of seconds memcached server is considered dead before it is
    # tried again. (integer value)
    #memcache_pool_dead_retry = 300

    # (Optional) Maximum total number of open connections to every memcached server.
    # (integer value)
    #memcache_pool_maxsize = 10

    # (Optional) Socket timeout in seconds for communicating with a memcached
    # server. (integer value)
    #memcache_pool_socket_timeout = 3

    # (Optional) Number of seconds a connection to memcached is held unused in the
    # pool before it is closed. (integer value)
    #memcache_pool_unused_timeout = 60

    # (Optional) Number of seconds that an operation will wait to get a memcached
    # client connection from the pool. (integer value)
    #memcache_pool_conn_get_timeout = 10

    # (Optional) Use the advanced (eventlet safe) memcached client pool. (boolean
    # value)
    #memcache_use_advanced_pool = true

    # (Optional) Indicate whether to set the X-Service-Catalog header. If False,
    # middleware will not ask for service catalog on token validation and will not
    # set the X-Service-Catalog header. (boolean value)
    #include_service_catalog = true

    # Used to control the use and type of token binding. Can be set to: "disabled"
    # to not check token binding. "permissive" (default) to validate binding
    # information if the bind type is of a form known to the server and ignore it if
    # not. "strict" like "permissive" but if the bind type is unknown the token will
    # be rejected. "required" any form of token binding is needed to be allowed.
    # Finally the name of a binding method that must be present in tokens. (string
    # value)
    #enforce_token_bind = permissive

    # A choice of roles that must be present in a service token. Service tokens are
    # allowed to request that an expired token can be used and so this check should
    # tightly control that only actual services should be sending this token. Roles
    # here are applied as an ANY check so any role in this list must be present. For
    # backwards compatibility reasons this currently only affects the allow_expired
    # check. (list value)
    #service_token_roles = service

    # For backwards compatibility reasons we must let valid service tokens pass that
    # don't pass the service_token_roles check as valid. Setting this true will
    # become the default in a future release and should be enabled if possible.
    # (boolean value)
    #service_token_roles_required = false

    # The name or type of the service as it appears in the service catalog. This is
    # used to validate tokens that have restricted access rules. (string value)
    #service_type = <None>

    # Enable the SASL(Simple Authentication and Security Layer) if the SASL_enable
    # is true, else disable. (boolean value)
    #memcache_sasl_enabled = false

    # the user name for the SASL (string value)
    #memcache_username =

    # the username password for SASL (string value)
    #memcache_password =

    # Authentication type to load (string value)
    # Deprecated group/name - [keystone_authtoken]/auth_plugin
    #auth_type = <None>

    # Config Section from which to load plugin specific options (string value)
    #auth_section = <None>

    [network_api:neutron]

    #
    # From designate.conf
    #

    # URL to use if None in the ServiceCatalog that is passed by the request
    # context. Format: <region>|<url> (list value)
    #endpoints = <None>

    # Endpoint type to use (string value)
    #endpoint_type = publicURL

    # timeout value for connecting to neutron in seconds (integer value)
    #timeout = 30

    # if set, ignore any SSL validation issues (boolean value)
    #insecure = false

    # Location of ca certificates file to use for neutron client requests. (string
    # value)
    #ca_certificates_file = <None>

    # Location of client certificate file to use for neutron client requests.
    # (string value)
    #client_certificate_file = <None>

    [oslo_concurrency]

    #
    # From oslo.concurrency
    #

    # Enables or disables inter-process locks. (boolean value)
    #disable_process_locking = false

    # Directory to use for lock files.  For security, the specified directory should
    # only be writable by the user running the processes that need locking. Defaults
    # to environment variable OSLO_LOCK_PATH. If external locks are used, a lock
    # path must be set. (string value)
    #lock_path = $state_path

    [oslo_messaging_kafka]

    #
    # From oslo.messaging
    #

    # Max fetch bytes of Kafka consumer (integer value)
    #kafka_max_fetch_bytes = 1048576

    # Default timeout(s) for Kafka consumers (floating point value)
    #kafka_consumer_timeout = 1.0

    # Group id for Kafka consumer. Consumers in one group will coordinate message
    # consumption (string value)
    #consumer_group = oslo_messaging_consumer

    # Upper bound on the delay for KafkaProducer batching in seconds (floating point
    # value)
    #producer_batch_timeout = 0.0

    # Size of batch for the producer async send (integer value)
    #producer_batch_size = 16384

    # The compression codec for all data generated by the producer. If not set,
    # compression will not be used. Note that the allowed values of this depend on
    # the kafka version (string value)
    # Possible values:
    # none - <No description provided>
    # gzip - <No description provided>
    # snappy - <No description provided>
    # lz4 - <No description provided>
    # zstd - <No description provided>
    #compression_codec = none

    # Enable asynchronous consumer commits (boolean value)
    #enable_auto_commit = false

    # The maximum number of records returned in a poll call (integer value)
    #max_poll_records = 500

    # Protocol used to communicate with brokers (string value)
    # Possible values:
    # PLAINTEXT - <No description provided>
    # SASL_PLAINTEXT - <No description provided>
    # SSL - <No description provided>
    # SASL_SSL - <No description provided>
    #security_protocol = PLAINTEXT

    # Mechanism when security protocol is SASL (string value)
    #sasl_mechanism = PLAIN

    # CA certificate PEM file used to verify the server certificate (string value)
    #ssl_cafile =

    # Client certificate PEM file used for authentication. (string value)
    #ssl_client_cert_file =

    # Client key PEM file used for authentication. (string value)
    #ssl_client_key_file =

    # Client key password file used for authentication. (string value)
    #ssl_client_key_password =

    [oslo_messaging_notifications]

    #
    # From oslo.messaging
    #

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

    # A URL representing the messaging driver to use for notifications. If not set,
    # we fall back to the same configuration used for RPC. (string value)
    #transport_url = <None>

    # AMQP topic used for OpenStack notifications. (list value)
    #topics = notifications

    # The maximum number of attempts to re-send a notification message which failed
    # to be delivered due to a recoverable error. 0 - No retry, -1 - indefinite
    # (integer value)
    #retry = -1

    [oslo_messaging_rabbit]

    #
    # From oslo.messaging
    #

    # Use durable queues in AMQP. If rabbit_quorum_queue is enabled, queues will be
    # durable and this value will be ignored. (boolean value)
    #amqp_durable_queues = false

    # Auto-delete queues in AMQP. (boolean value)
    #amqp_auto_delete = false

    # Size of RPC connection pool. (integer value)
    # Minimum value: 1
    #rpc_conn_pool_size = 30

    # The pool size limit for connections expiration policy (integer value)
    #conn_pool_min_size = 2

    # The time-to-live in sec of idle connections in the pool (integer value)
    #conn_pool_ttl = 1200

    # Connect over SSL. (boolean value)
    #ssl = false

    # SSL version to use (valid only if SSL enabled). Valid values are TLSv1 and
    # SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 may be available on some
    # distributions. (string value)
    #ssl_version =

    # SSL key file (valid only if SSL enabled). (string value)
    #ssl_key_file =

    # SSL cert file (valid only if SSL enabled). (string value)
    #ssl_cert_file =

    # SSL certification authority file (valid only if SSL enabled). (string value)
    #ssl_ca_file =

    # DEPRECATED: Global toggle for enforcing the OpenSSL FIPS mode. This feature
    # requires Python support. This is available in Python 3.9 in all environments
    # and may have been backported to older Python versions on select environments.
    # If the Python executable used does not support OpenSSL FIPS mode, an exception
    # will be raised. (boolean value)
    # This option is deprecated for removal.
    # Its value may be silently ignored in the future.
    # Reason: FIPS_mode_set API was removed in OpenSSL 3.0.0. This option has no
    # effect now.
    #ssl_enforce_fips_mode = false

    # DEPRECATED: (DEPRECATED) It is recommend not to use this option anymore. Run
    # the health check heartbeat thread through a native python thread by default.
    # If this option is equal to False then the health check heartbeat will inherit
    # the execution model from the parent process. For example if the parent process
    # has monkey patched the stdlib by using eventlet/greenlet then the heartbeat
    # will be run through a green thread. This option should be set to True only for
    # the wsgi services. (boolean value)
    # This option is deprecated for removal.
    # Its value may be silently ignored in the future.
    # Reason: The option is related to Eventlet which will be removed. In addition
    # this has never worked as expected with services using eventlet for core
    # service framework.
    #heartbeat_in_pthread = false

    # How long to wait (in seconds) before reconnecting in response to an AMQP
    # consumer cancel notification. (floating point value)
    # Minimum value: 0.0
    # Maximum value: 4.5
    #kombu_reconnect_delay = 1.0

    # Random time to wait for when reconnecting in response to an AMQP consumer
    # cancel notification. (floating point value)
    # Minimum value: 0.0
    #kombu_reconnect_splay = 0.0

    # EXPERIMENTAL: Possible values are: gzip, bz2. If not set compression will not
    # be used. This option may not be available in future versions. (string value)
    #kombu_compression = <None>

    # How long to wait a missing client before abandoning to send it its replies.
    # This value should not be longer than rpc_response_timeout. (integer value)
    # Deprecated group/name - [oslo_messaging_rabbit]/kombu_reconnect_timeout
    #kombu_missing_consumer_retry_timeout = 60

    # Determines how the next RabbitMQ node is chosen in case the one we are
    # currently connected to becomes unavailable. Takes effect only if more than one
    # RabbitMQ node is provided in config. (string value)
    # Possible values:
    # round-robin - <No description provided>
    # shuffle - <No description provided>
    #kombu_failover_strategy = round-robin

    # The RabbitMQ login method. (string value)
    # Possible values:
    # PLAIN - <No description provided>
    # AMQPLAIN - <No description provided>
    # EXTERNAL - <No description provided>
    # RABBIT-CR-DEMO - <No description provided>
    #rabbit_login_method = AMQPLAIN

    # How frequently to retry connecting with RabbitMQ. (integer value)
    # Minimum value: 1
    #rabbit_retry_interval = 1

    # How long to backoff for between retries when connecting to RabbitMQ. (integer
    # value)
    # Minimum value: 0
    #rabbit_retry_backoff = 2

    # Maximum interval of RabbitMQ connection retries. (integer value)
    # Minimum value: 1
    #rabbit_interval_max = 30

    # Try to use HA queues in RabbitMQ (x-ha-policy: all). If you change this
    # option, you must wipe the RabbitMQ database. In RabbitMQ 3.0, queue mirroring
    # is no longer controlled by the x-ha-policy argument when declaring a queue. If
    # you just want to make sure that all queues (except those with auto-generated
    # names) are mirrored across all nodes, run: "rabbitmqctl set_policy HA
    # '^(?!amq\.).*' '{"ha-mode": "all"}' " (boolean value)
    #rabbit_ha_queues = false

    # Use quorum queues in RabbitMQ (x-queue-type: quorum). The quorum queue is a
    # modern queue type for RabbitMQ implementing a durable, replicated FIFO queue
    # based on the Raft consensus algorithm. It is available as of RabbitMQ 3.8.0.
    # If set this option will conflict with the HA queues (``rabbit_ha_queues``) aka
    # mirrored queues, in other words the HA queues should be disabled. Quorum
    # queues are also durable by default so the amqp_durable_queues option is
    # ignored when this option is enabled. (boolean value)
    #rabbit_quorum_queue = false

    # Use quorum queues for transients queues in RabbitMQ. Enabling this option will
    # then make sure those queues are also using quorum kind of rabbit queues, which
    # are HA by default. (boolean value)
    #rabbit_transient_quorum_queue = false

    # Each time a message is redelivered to a consumer, a counter is incremented.
    # Once the redelivery count exceeds the delivery limit the message gets dropped
    # or dead-lettered (if a DLX exchange has been configured) Used only when
    # rabbit_quorum_queue is enabled, Default 0 which means dont set a limit.
    # (integer value)
    #rabbit_quorum_delivery_limit = 0

    # By default all messages are maintained in memory if a quorum queue grows in
    # length it can put memory pressure on a cluster. This option can limit the
    # number of messages in the quorum queue. Used only when rabbit_quorum_queue is
    # enabled, Default 0 which means dont set a limit. (integer value)
    #rabbit_quorum_max_memory_length = 0

    # By default all messages are maintained in memory if a quorum queue grows in
    # length it can put memory pressure on a cluster. This option can limit the
    # number of memory bytes used by the quorum queue. Used only when
    # rabbit_quorum_queue is enabled, Default 0 which means dont set a limit.
    # (integer value)
    #rabbit_quorum_max_memory_bytes = 0

    # Positive integer representing duration in seconds for queue TTL (x-expires).
    # Queues which are unused for the duration of the TTL are automatically deleted.
    # The parameter affects only reply and fanout queues. Setting 0 as value will
    # disable the x-expires. If doing so, make sure you have a rabbitmq policy to
    # delete the queues or you deployment will create an infinite number of queue
    # over time.In case rabbit_stream_fanout is set to True, this option will
    # control data retention policy (x-max-age) for messages in the fanout queue
    # rather then the queue duration itself. So the oldest data in the stream queue
    # will be discarded from it once reaching TTL Setting to 0 will disable x-max-
    # age for stream which make stream grow indefinitely filling up the diskspace
    # (integer value)
    # Minimum value: 0
    #rabbit_transient_queues_ttl = 1800

    # Specifies the number of messages to prefetch. Setting to zero allows unlimited
    # messages. (integer value)
    #rabbit_qos_prefetch_count = 0

    # Number of seconds after which the Rabbit broker is considered down if
    # heartbeat's keep-alive fails (0 disables heartbeat). (integer value)
    #heartbeat_timeout_threshold = 60

    # How often times during the heartbeat_timeout_threshold we check the heartbeat.
    # (integer value)
    #heartbeat_rate = 3

    # DEPRECATED: (DEPRECATED) Enable/Disable the RabbitMQ mandatory flag for direct
    # send. The direct send is used as reply, so the MessageUndeliverable exception
    # is raised in case the client queue does not exist.MessageUndeliverable
    # exception will be used to loop for a timeout to lets a chance to sender to
    # recover.This flag is deprecated and it will not be possible to deactivate this
    # functionality anymore (boolean value)
    # This option is deprecated for removal.
    # Its value may be silently ignored in the future.
    # Reason: Mandatory flag no longer deactivable.
    #direct_mandatory_flag = true

    # Enable x-cancel-on-ha-failover flag so that rabbitmq server will cancel and
    # notify consumerswhen queue is down (boolean value)
    #enable_cancel_on_failover = false

    # Should we use consistant queue names or random ones (boolean value)
    #use_queue_manager = false

    # Hostname used by queue manager. Defaults to the value returned by
    # socket.gethostname(). (string value)
    #
    # This option has a sample default set, which means that
    # its actual default value may vary from the one documented
    # below.
    #hostname = node1.example.com

    # Process name used by queue manager (string value)
    #
    # This option has a sample default set, which means that
    # its actual default value may vary from the one documented
    # below.
    #processname = nova-api

    # Use stream queues in RabbitMQ (x-queue-type: stream). Streams are a new
    # persistent and replicated data structure ("queue type") in RabbitMQ which
    # models an append-only log with non-destructive consumer semantics. It is
    # available as of RabbitMQ 3.9.0. If set this option will replace all fanout
    # queues with only one stream queue. (boolean value)
    #rabbit_stream_fanout = false

    [oslo_middleware]

    #
    # From oslo.middleware
    #

    # The maximum body size for each request, in bytes. (integer value)
    #max_request_body_size = 114688

    # Whether the application is behind a proxy or not. This determines if the
    # middleware should parse the headers or not. (boolean value)
    #enable_proxy_headers_parsing = false

    # HTTP basic auth password file. (string value)
    #http_basic_auth_user_file = /etc/htpasswd

    [oslo_policy]

    #
    # From oslo.policy
    #

    # DEPRECATED: This option controls whether or not to enforce scope when
    # evaluating policies. If ``True``, the scope of the token used in the request
    # is compared to the ``scope_types`` of the policy being enforced. If the scopes
    # do not match, an ``InvalidScope`` exception will be raised. If ``False``, a
    # message will be logged informing operators that policies are being invoked
    # with mismatching scope. (boolean value)
    # This option is deprecated for removal.
    # Its value may be silently ignored in the future.
    # Reason: This configuration was added temporarily to facilitate a smooth
    # transition to the new RBAC. OpenStack will always enforce scope checks. This
    # configuration option is deprecated and will be removed in the 2025.2 cycle.
    #enforce_scope = true

    # This option controls whether or not to use old deprecated defaults when
    # evaluating policies. If ``True``, the old deprecated defaults are not going to
    # be evaluated. This means if any existing token is allowed for old defaults but
    # is disallowed for new defaults, it will be disallowed. It is encouraged to
    # enable this flag along with the ``enforce_scope`` flag so that you can get the
    # benefits of new defaults and ``scope_type`` together. If ``False``, the
    # deprecated policy check string is logically OR'd with the new policy check
    # string, allowing for a graceful upgrade experience between releases with new
    # policies, which is the default behavior. (boolean value)
    #enforce_new_defaults = true

    # The relative or absolute path of a file that maps roles to permissions for a
    # given service. Relative paths must be specified in relation to the
    # configuration file setting this option. (string value)
    #policy_file = policy.yaml

    # Default rule. Enforced when a requested rule is not found. (string value)
    #policy_default_rule = default

    # Directories where policy configuration files are stored. They can be relative
    # to any directory in the search path defined by the config_dir option, or
    # absolute paths. The file defined by policy_file must exist for these
    # directories to be searched.  Missing or empty directories are ignored. (multi
    # valued)
    #policy_dirs = policy.d

    # Content Type to send and receive data for REST based policy check (string
    # value)
    # Possible values:
    # application/x-www-form-urlencoded - <No description provided>
    # application/json - <No description provided>
    #remote_content_type = application/x-www-form-urlencoded

    # server identity verification for REST based policy check (boolean value)
    #remote_ssl_verify_server_crt = false

    # Absolute path to ca cert file for REST based policy check (string value)
    #remote_ssl_ca_crt_file = <None>

    # Absolute path to client cert for REST based policy check (string value)
    #remote_ssl_client_crt_file = <None>

    # Absolute path client key file REST based policy check (string value)
    #remote_ssl_client_key_file = <None>

    # Timeout in seconds for REST based policy check (floating point value)
    # Minimum value: 0
    #remote_timeout = 60

    [oslo_reports]

    #
    # From oslo.reports
    #

    # Path to a log directory where to create a file (string value)
    #log_dir = <None>

    # The path to a file to watch for changes to trigger the reports, instead of
    # signals. Setting this option disables the signal trigger for the reports. If
    # application is running as a WSGI application it is recommended to use this
    # instead of signals. (string value)
    #file_event_handler = <None>

    # How many seconds to wait between polls when file_event_handler is set (integer
    # value)
    #file_event_handler_interval = 1

    [oslo_versionedobjects]

    #
    # From oslo.versionedobjects
    #

    # Make exception message format errors fatal (boolean value)
    #fatal_exception_format_errors = false

    [producer_task:delayed_notify]

    #
    # From designate.conf
    #

    # Run interval in seconds (integer value)
    #interval = 5

    # Default amount of results returned per page (integer value)
    #per_page = 100

    # How many zones to receive NOTIFY on each run (integer value)
    #batch_size = 100

    [producer_task:periodic_exists]

    #
    # From designate.conf
    #

    # Run interval in seconds (integer value)
    #interval = 3600

    # Default amount of results returned per page (integer value)
    #per_page = 100

    [producer_task:periodic_secondary_refresh]

    #
    # From designate.conf
    #

    # Run interval in seconds (integer value)
    #interval = 3600

    # Default amount of results returned per page (integer value)
    #per_page = 100

    [producer_task:worker_periodic_recovery]

    #
    # From designate.conf
    #

    # Run interval in seconds (integer value)
    #interval = 120

    # Default amount of results returned per page (integer value)
    #per_page = 100

    [producer_task:zone_purge]

    #
    # From designate.conf
    #

    # Run interval in seconds (integer value)
    #interval = 3600

    # Default amount of results returned per page (integer value)
    #per_page = 100

    # How old deleted zones should be (deleted_at) to be purged, in seconds (integer
    # value)
    #time_threshold = 604800

    # How many zones to be purged on each run (integer value)
    #batch_size = 100

    [proxy]

    #
    # From designate.conf
    #

    # Proxy HTTP requests via this proxy. (string value)
    #http_proxy = <None>

    # Proxy HTTPS requests via this proxy (string value)
    #https_proxy = <None>

    # These addresses should not be proxied (list value)
    #no_proxy =

    [service:api]

    #
    # From designate.conf
    #

    # Number of api worker processes to spawn (integer value)
    #workers = <None>

    # Number of api threads to spawn (integer value)
    #threads = 100

    # Enable host request headers (boolean value)
    #enable_host_header = true

    # the url used as the base for all API responses,This should consist of the
    # scheme (http/https),the hostname, port, and any paths that are addedto the
    # base of Designate is URLs,For example http://dns.openstack.example.com/dns
    # (string value)
    #api_base_uri = http://127.0.0.1:9001/

    # API host:port pairs to listen on (list value)
    #listen = 0.0.0.0:9001

    # File name for the paste.deploy config for designate-api (string value)
    #api_paste_config = api-paste.ini

    # The strategy to use for auth. Supports noauth or keystone (string value)
    #auth_strategy = keystone

    # Enable the Designate V2 API (boolean value)
    #enable_api_v2 = true

    # enable-api-admin (boolean value)
    #enable_api_admin = false

    # Pecan HTML Debug Interface (boolean value)
    #pecan_debug = false

    # Enabled API Extensions for the V2 API (list value)
    #enabled_extensions_v2 =

    # Default per-page limit for the V2 API, a value of None means show all results
    # by default (integer value)
    #default_limit_v2 = 20

    # Max per-page limit for the V2 API (integer value)
    #max_limit_v2 = 1000

    # Verify that the requested Project ID for quota target is a valid project in
    # Keystone. (boolean value)
    #quotas_verify_project_id = false

    # Allow tsig creation with empty secrets. While in theory an empty string is
    # valid for tsig secrets, it is highly not recommended (boolean value)
    #allow_empty_secrets_for_tsig = true

    # Enabled Admin API Extensions (list value)
    #enabled_extensions_admin =

    # Default per-page limit for the Admin API, a value of None means show all
    # results by default (integer value)
    #default_limit_admin = 20

    # Max per-page limit for the Admin API (integer value)
    #max_limit_admin = 1000

    # Enable API Maintenance Mode (boolean value)
    #maintenance_mode = false

    # Role allowed to bypass maintaince mode (string value)
    #maintenance_mode_role = admin

    [service:central]

    #
    # From designate.conf
    #

    # Number of central worker processes to spawn (integer value)
    #workers = <None>

    # Number of central threads to spawn (integer value)
    #threads = 100

    # Maximum zone name length (integer value)
    #max_zone_name_len = 255

    # Maximum recordset name length (integer value)
    # Deprecated group/name - [service:central]/max_record_name_len
    #max_recordset_name_len = 255

    # E-Mail for Managed resources (string value)
    #managed_resource_email = hostmaster@example.com

    # The Tenant ID that will own any managed resources. (string value)
    #managed_resource_tenant_id = 00000000-0000-0000-0000-000000000000

    # Minimum TTL allowed (integer value)
    #min_ttl = 0

    # The name of the default pool (string value)
    #default_pool_id = 794ccc2c-d751-44fe-b57f-8894c9f5c842

    # RPC topic name for central (string value)
    #topic = central

    # Enabled Pool Scheduling filters (list value)
    #scheduler_filters = default_pool

    [service:mdns]

    #
    # From designate.conf
    #

    # Number of mDNS worker processes to spawn (integer value)
    #workers = <None>

    # Number of mDNS threads to spawn (integer value)
    #threads = 1000

    # mDNS host:port pairs to listen on (list value)
    #listen = 0.0.0.0:5354

    # mDNS TCP Backlog (integer value)
    #tcp_backlog = 100

    # mDNS TCP Keepidle in seconds (integer value)
    #tcp_keepidle = <None>

    # mDNS TCP Receive Timeout in seconds (floating point value)
    #tcp_recv_timeout = 0.5

    # Enforce all incoming queries (including AXFR) are TSIG signed (boolean value)
    #query_enforce_tsig = false

    # Maximum message size to emit (integer value)
    #max_message_size = 65535

    [service:producer]

    #
    # From designate.conf
    #

    # Number of Producer worker processes to spawn (integer value)
    #workers = <None>

    # Number of Producer threads to spawn (integer value)
    #threads = 20

    # Enabled tasks to run (list value)
    #enabled_tasks = <None>

    # DEPRECATED: Whether to allow synchronous zone exports (boolean value)
    # This option is deprecated for removal.
    # Its value may be silently ignored in the future.
    # Reason: Migrated to designate-worker
    #export_synchronous = true

    # RPC topic name for producer (string value)
    #topic = producer

    [service:sink]

    #
    # From designate.conf
    #

    # Number of sink worker processes to spawn (integer value)
    #workers = <None>

    # Number of sink threads to spawn (integer value)
    #threads = 1000

    # Enabled Notification Handlers (list value)
    #enabled_notification_handlers =

    # pool name to use for oslo.messaging notification listener. Note that listener
    # pooling is not supported by all oslo.messaging drivers. (string value)
    #listener_pool_name = <None>

    [service:worker]

    #
    # From designate.conf
    #

    # Number of Worker worker processes to spawn (integer value)
    #workers = <None>

    # Number of Worker threads to spawn per process (integer value)
    #threads = 200

    # The percentage of servers requiring a successful update for a domain change to
    # be considered active (integer value)
    #threshold_percentage = 100

    # The time to wait for a response from a server (integer value)
    #poll_timeout = 30

    # The time between retrying to send a request and waiting for a response from a
    # server (integer value)
    #poll_retry_interval = 15

    # The maximum number of times to retry sending a request and wait for a response
    # from a server (integer value)
    #poll_max_retries = 10

    # The time to wait before sending the first request to a server (integer value)
    #poll_delay = 5

    # Whether to allow synchronous zone exports (boolean value)
    #export_synchronous = true

    # RPC topic name for worker (string value)
    #topic = worker

    # Timeout in seconds for XFR's. (integer value)
    #xfr_timeout = 10

    # The maximum number of times to retry fetching a zones serial. (integer value)
    #serial_max_retries = 3

    # The time to wait before retrying a zone serial request. (integer value)
    #serial_retry_delay = 1

    # Timeout in seconds before giving up on fetching a zones serial. (integer
    # value)
    #serial_timeout = 1

    # Send all traffic over TCP (boolean value)
    #all_tcp = false

    [ssl]

    #
    # From oslo.service.sslutils
    #

    # DEPRECATED: CA certificate file to use to verify connecting clients. (string
    # value)
    # This option is deprecated for removal.
    # Its value may be silently ignored in the future.
    # Reason: The 'ca_file' option is deprecated and will be removed in a future
    # release.
    #ca_file = <None>

    # DEPRECATED: Certificate file to use when starting the server securely. (string
    # value)
    # This option is deprecated for removal.
    # Its value may be silently ignored in the future.
    # Reason: The 'cert_file' option is deprecated and will be removed in a future
    # release.
    #cert_file = <None>

    # DEPRECATED: Private key file to use when starting the server securely. (string
    # value)
    # This option is deprecated for removal.
    # Its value may be silently ignored in the future.
    # Reason: The 'key_file' option is deprecated and will be removed in a future
    # release.
    #key_file = <None>

    # DEPRECATED: 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)
    # This option is deprecated for removal.
    # Its value may be silently ignored in the future.
    # Reason: The 'version' option is deprecated and will be removed in a future
    # release.
    #version = <None>

    # DEPRECATED: Sets the list of available ciphers. value should be a string in
    # the OpenSSL cipher list format. (string value)
    # This option is deprecated for removal.
    # Its value may be silently ignored in the future.
    # Reason: The 'ciphers' option is deprecated and will be removed in a future
    # release.
    #ciphers = <None>

    [storage:sqlalchemy]

    #
    # From designate.conf
    #

    # If True, SQLite uses synchronous mode. (boolean value)
    #sqlite_synchronous = true

    # The back end to use for the database. (string value)
    #backend = sqlalchemy

    # The SQLAlchemy connection string to use to connect to the database. (string
    # value)
    #connection = <None>

    # The SQLAlchemy connection string to use to connect to the slave database.
    # (string value)
    #slave_connection = <None>

    # The SQLAlchemy asyncio connection string to use to connect to the database.
    # (string value)
    #asyncio_connection = <None>

    # The SQLAlchemy asyncio connection string to use to connect to the slave
    # database. (string value)
    #asyncio_slave_connection = <None>

    # Whether or not to assume a reader context needs to guarantee it can read data
    # committed by a writer assuming replication lag is present; defaults to True.
    # When False, a reader context works the same as async_reader and will select
    # the slave database if present. When using a galera cluster, this can be set to
    # False only if you set mysql_wsrep_sync_wait to 1 (this will guarantee that the
    # reader will wait until writesets are committed).Note that this may incur a
    # performance degradation within the galera cluster. Note also that this
    # parameter has no effect if you do not set any slave_connection. (boolean
    # value)
    #synchronous_reader = true

    # 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

    # For Galera only, configure wsrep_sync_wait causality checks on new
    # connections.  Default is None, meaning don't configure any setting. (integer
    # value)
    #mysql_wsrep_sync_wait = <None>

    # Connections which have been present in the connection pool longer than this
    # number of seconds will be replaced with a new one the next time they are
    # checked out from the pool. (integer value)
    #connection_recycle_time = 3600

    # Maximum number of SQL connections to keep open in a pool. Setting a value of 0
    # indicates no limit. (integer value)
    #max_pool_size = 5

    # Maximum number of database connection retries during startup. Set to -1 to
    # specify an infinite retry count. (integer value)
    #max_retries = 10

    # Interval between retries of opening a SQL connection. (integer value)
    #retry_interval = 10

    # If set, use this value for max_overflow with SQLAlchemy. (integer value)
    #max_overflow = 50

    # Verbosity of SQL debugging information: 0=None, 100=Everything. (integer
    # value)
    # Minimum value: 0
    # Maximum value: 100
    #connection_debug = 0

    # Add Python stack traces to SQL as comment strings. (boolean value)
    #connection_trace = false

    # If set, use this value for pool_timeout with SQLAlchemy. (integer value)
    #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

    # Optional URL parameters to append onto the connection URL at connect time;
    # specify as param1=value1&param2=value2&... (string value)
    #connection_parameters =

this page last updated: 2026-04-13 15:37:16

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.

found an error? report a bug