''' This module is here to provide a consistent way of generating diagrams of the current infrastrcuture ''' from diagrams import Cluster from diagrams import Diagram from diagrams.k8s.compute import Pod from diagrams.k8s.network import Service from diagrams.k8s.network import Ingress from diagrams.generic.compute import Rack from custom import Gitea from custom import StaticSite from custom import Internet if __name__ == '__main__': with Diagram('Public Infrastructure', show=False): # Internet node :) inet = Internet() with Cluster('Namespace - playground'): ingress = Ingress('Nginx Controller') s = Pod('Sanity') >> Service('sanity.shockrah.xyz') >> ingress u = Pod('Uptime') >> Service('uptime.shockrah.xyz') >> ingress p = Pod('Wiki') >> Service('wiki.shockrah.xyz') >> ingress _ = ingress >> inet with Cluster('Randy Random Host'): nginx = Rack('Nginx LB') git = Gitea('Gitea') >> nginx tmp = StaticSite('Temper Blog') >> nginx dev = StaticSite('Dev Blog') >> nginx _ = nginx >> inet