diff --git a/CHANGES/1550.bugfix b/CHANGES/1550.bugfix new file mode 100644 index 000000000..54f524512 --- /dev/null +++ b/CHANGES/1550.bugfix @@ -0,0 +1,2 @@ +Pulp Container specific settings are now properly validated during the deployment checks of a Pulp +instance. diff --git a/pulp_container/app/__init__.py b/pulp_container/app/__init__.py index 669f62a21..d02fc572d 100644 --- a/pulp_container/app/__init__.py +++ b/pulp_container/app/__init__.py @@ -11,3 +11,4 @@ class PulpContainerPluginAppConfig(PulpPluginAppConfig): def ready(self): super().ready() + from . import checks diff --git a/pulp_container/app/checks.py b/pulp_container/app/checks.py new file mode 100644 index 000000000..43d7b8753 --- /dev/null +++ b/pulp_container/app/checks.py @@ -0,0 +1,46 @@ +from django.conf import settings +from django.core.checks import Error as CheckError, register + + +@register(deploy=True) +def container_settings_check(app_configs, **kwargs): + errors = [] + + # Other checks only apply if token auth is enabled + if str(getattr(settings, "TOKEN_AUTH_DISABLED", False)).lower() == "true": + return errors + + if getattr(settings, "TOKEN_SERVER", None) is None: + errors.append( + CheckError( + "TOKEN_SERVER is a required setting that has to be configured when token" + " authentification is enabled", + id="pulp_container.E001", + ), + ) + if getattr(settings, "TOKEN_SIGNATURE_ALGORITHM", None) is None: + errors.append( + CheckError( + "TOKEN_SIGNATURE_ALGORITHM is a required setting that has to be configured when" + " token authentification is enabled", + id="pulp_container.E001", + ) + ) + if getattr(settings, "PUBLIC_KEY_PATH", None) is None: + errors.append( + CheckError( + "PUBLIC_KEY_PATH is a required setting that has to be configured when token" + " authentification is enabled", + id="pulp_container.E001", + ) + ) + if getattr(settings, "PRIVATE_KEY_PATH", None) is None: + errors.append( + CheckError( + "PRIVATE_KEY_PATH is a required setting that has to be configured when token" + " authentification is enabled", + id="pulp_container.E001", + ) + ) + + return errors