in dusty/models/config.py [0:0]
def _depot_substitution(self, obj):
""" Allows to use depot secrets inside YAML/JSON config """
if isinstance(obj, dict):
for key in list(obj.keys()):
obj[self._depot_substitution(key)] = \
self._depot_substitution(obj.pop(key))
if isinstance(obj, list):
for index, item in enumerate(obj):
obj[index] = self._depot_substitution(item)
if isinstance(obj, str):
if re.match(r"^\$\=\S*$", obj.strip()):
obj_key = obj.strip()[2:]
obj_value = depots.get_secret(self.context, obj_key)
if obj_value is not None:
self.context.set_meta(
"depots_resolved_secrets",
self.context.get_meta("depots_resolved_secrets", 0) + 1
)
return obj_value
return obj