From b5860daf11ac353049cb1654b9414a129e5cfb96 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Wed, 13 May 2026 00:13:57 +0300 Subject: Rework --- inventory/jails.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100755 inventory/jails.py (limited to 'inventory/jails.py') diff --git a/inventory/jails.py b/inventory/jails.py new file mode 100755 index 0000000..0458dc0 --- /dev/null +++ b/inventory/jails.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python3 +"""Dynamic inventory script that discovers jails from roles/jails/.""" +import json +import os +import re + +def main(): + # Resolve to project root (one level up from inventory/) + script_dir = os.path.dirname(os.path.realpath(__file__)) + project_root = os.path.dirname(script_dir) + jails_dir = os.path.join(project_root, "roles", "jails") + + hosts = [] + if os.path.isdir(jails_dir): + for entry in sorted(os.listdir(jails_dir)): + path = os.path.join(jails_dir, entry) + if os.path.isdir(path) and re.match(r"^\d+_", entry): + name = re.sub(r"^\d+_", "", entry) + hosts.append(name) + + inventory = { + "jails": { + "hosts": hosts, + }, + "_meta": { + "hostvars": {}, + }, + } + + print(json.dumps(inventory)) + +if __name__ == "__main__": + main() -- cgit v1.3