33 lines
912 B
Python
33 lines
912 B
Python
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()
|