1
0
mirror of https://github.com/quay/quay.git synced 2025-04-19 21:42:17 +03:00
quay/util/label_validator.py
2020-02-05 19:55:07 -08:00

28 lines
943 B
Python

class LabelValidator(object):
"""
Helper class for validating that labels meet prefix requirements.
"""
def __init__(self, app):
self.app = app
overridden_prefixes = app.config.get("LABEL_KEY_RESERVED_PREFIXES", [])
for prefix in overridden_prefixes:
if not prefix.endswith("."):
raise Exception(
'Prefix "%s" in LABEL_KEY_RESERVED_PREFIXES must end in a dot', prefix
)
default_prefixes = app.config.get("DEFAULT_LABEL_KEY_RESERVED_PREFIXES", [])
self.reserved_prefixed_set = set(default_prefixes + overridden_prefixes)
def has_reserved_prefix(self, label_key):
"""
Validates that the provided label key does not match any reserved prefixes.
"""
for prefix in self.reserved_prefixed_set:
if label_key.startswith(prefix):
return True
return False