bundlewrap/nodes.py

24 lines
815 B
Python

from json import dumps as json_dumps
from os.path import join
from pathlib import Path
import bwpass
from bundlewrap.metadata import atomic
from bundlewrap.utils import error_context
for name, data in nodes.items():
data.setdefault('metadata', {})
if 'password' in data:
data['password'] = vault.decrypt(data['password'])
data['metadata'].update(libs.demagify.demagify(data['metadata'], vault))
for node in Path(join(repo_path, "nodes")).rglob("*.py"):
with error_context(filename=str(node)):
with open(node, 'r') as f:
exec(f.read())
for name, data in nodes.items():
data.setdefault('hostname', '.'.join(reversed(name.split('.'))) + '.kunbox.net')
data.setdefault('metadata', {}).setdefault('hostname', '.'.join(reversed(name.split('.'))) + '.kunbox.net')