From b41329876351f988589574b2ea81e1dade8e379c Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Sun, 22 Aug 2021 01:54:29 +0900 Subject: 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 --- oslo_middleware/opts.py | 27 +++++++++++++++++++++++++++ setup.cfg | 1 + 2 files changed, 28 insertions(+) diff --git a/oslo_middleware/opts.py b/oslo_middleware/opts.py index 734c21f..eb03db0 100644 --- a/oslo_middleware/opts.py +++ b/oslo_middleware/opts.py @@ -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)), + ] diff --git a/setup.cfg b/setup.cfg index de5689a..7d3d771 100644 --- a/setup.cfg +++ b/setup.cfg @@ -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 -- cgit v1.2.1