2021-07-04 19:27:12 +02:00
|
|
|
from json import dumps as json_dumps
|
2020-02-23 10:13:45 +00:00
|
|
|
from os.path import join
|
|
|
|
from pathlib import Path
|
|
|
|
|
2021-07-02 19:29:52 +02:00
|
|
|
import bwpass
|
2023-02-05 17:30:58 +01:00
|
|
|
|
2021-05-15 06:58:42 +02:00
|
|
|
from bundlewrap.metadata import atomic
|
2022-02-07 06:57:58 +01:00
|
|
|
from bundlewrap.utils import error_context
|
2021-05-15 06:58:42 +02:00
|
|
|
|
2020-02-23 10:13:45 +00:00
|
|
|
for node in Path(join(repo_path, "nodes")).rglob("*.py"):
|
2022-02-07 06:57:58 +01:00
|
|
|
with error_context(filename=str(node)):
|
|
|
|
with open(node, 'r') as f:
|
|
|
|
exec(f.read())
|
2020-03-27 12:28:37 +00:00
|
|
|
|
|
|
|
for name, data in nodes.items():
|
2022-01-04 11:33:18 +01:00
|
|
|
data.setdefault('hostname', '.'.join(reversed(name.split('.'))) + '.kunbox.net')
|
|
|
|
data.setdefault('metadata', {}).setdefault('hostname', '.'.join(reversed(name.split('.'))) + '.kunbox.net')
|
2023-03-28 22:52:10 +02:00
|
|
|
|
|
|
|
if 'password' in data:
|
|
|
|
data['password'] = vault.decrypt(data['password'])
|