Add oslo.config.opts entrypoint for basic auth middleware

... so that its options can be rendered by oslo-config-generator by
adding the entry point.
This change also updates the base oslo.middleware entry point to
include options of the middleware because the base entry point is
supposed to include all options in the oslo.middleware library.

Closes-Bug: #1940747
Change-Id: Ic9d79d9c46fc1dc78aa4d089e36219b2a34f4099
This commit is contained in:
Takashi Kajinami 2021-08-22 01:54:29 +09:00
parent da7987ca92
commit b413298763
2 changed files with 28 additions and 0 deletions

View File

@ -15,6 +15,7 @@
import copy
import itertools
from oslo_middleware import basic_auth
from oslo_middleware import cors
from oslo_middleware.healthcheck import opts as healthcheck_opts
from oslo_middleware import http_proxy_to_wsgi
@ -28,6 +29,7 @@ __all__ = [
'list_opts_cors',
'list_opts_http_proxy_to_wsgi',
'list_opts_healthcheck',
'list_opts_basic_auth',
]
@ -57,6 +59,7 @@ def list_opts():
list_opts_cors(),
list_opts_http_proxy_to_wsgi(),
list_opts_healthcheck(),
list_opts_basic_auth(),
)
)
@ -183,3 +186,27 @@ def list_opts_healthcheck():
healthcheck_opts.DISABLE_BY_FILE_OPTS +
healthcheck_opts.DISABLE_BY_FILES_OPTS))
]
def list_opts_basic_auth():
"""Return a list of oslo.config options for basic auth middleware.
The returned list includes all oslo.config options which may be registered
at runtime by the library.
Each element of the list is a tuple. The first element is the name of the
group under which the list of elements in the second element will be
registered. A group name of None corresponds to the [DEFAULT] group in
config files.
This function is also discoverable via the 'oslo.middleware' entry point
under the 'oslo.config.opts' namespace.
The purpose of this is to allow tools like the Oslo sample config file
generator to discover the options exposed to users by this library.
:returns: a list of (group_name, opts) tuples
"""
return [
('oslo_middleware', copy.deepcopy(basic_auth.OPTS)),
]

View File

@ -33,6 +33,7 @@ oslo.config.opts =
oslo.middleware.ssl = oslo_middleware.opts:list_opts_ssl
oslo.middleware.http_proxy_to_wsgi = oslo_middleware.opts:list_opts_http_proxy_to_wsgi
oslo.middleware.healthcheck = oslo_middleware.opts:list_opts_healthcheck
oslo.middleware.basic_auth = oslo_middleware.opts:list_opts_basic_auth
oslo.middleware.healthcheck =
disable_by_file = oslo_middleware.healthcheck.disable_by_file:DisableByFileHealthcheck