1
0
forked from clan/clan-core

tests/generate_flake: support inventory argument

This commit is contained in:
DavHau 2024-07-24 17:06:21 +07:00
parent 4d25118853
commit bf5cc8c215

View File

@ -56,6 +56,7 @@ def generate_flake(
},
# define the machines directly including their config
machine_configs: dict[str, dict] = {},
inventory: dict[str, dict] = {},
) -> FlakeForTest:
"""
Creates a clan flake with the given name.
@ -80,6 +81,12 @@ def generate_flake(
shutil.copytree(flake_template, flake)
sp.run(["chmod", "+w", "-R", str(flake)], check=True)
# initialize inventory
if inventory:
# check if inventory valid
inventory_path = flake / "inventory.json"
inventory_path.write_text(json.dumps(inventory, indent=2))
# substitute `substitutions` in all files of the template
for file in flake.rglob("*"):
if file.is_file():