Files
infra/wiki-resources/topology/__main__.py

34 lines
1.1 KiB
Python

'''
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