import argparse from compiler import ( load_services, load_globals, build_nat_rules, build_firewall_rules, build_dns, render_nat, ) def main(): parser = argparse.ArgumentParser() parser.add_argument("command", choices=["plan", "render"]) args = parser.parse_args() services = load_services("config/services.yml") globals_config = load_globals("config/globals.yml") nat_rules = build_nat_rules(services, globals_config) fw_rules = build_firewall_rules(services, globals_config) dns_entries = build_dns(services, globals_config) if args.command == "plan": print("Services:", len(services)) print("NAT rules:", len(nat_rules)) print("Firewall rules:", len(fw_rules)) print("DNS entries:", len(dns_entries)) elif args.command == "render": print(render_nat(nat_rules)) if __name__ == "__main__": main()