from diagrams import Cluster, Diagram, Edge from diagrams.onprem.gitops import Argocd from diagrams.onprem.vcs import Gitlab from diagrams.onprem.ci import Gitlabci from diagrams.generic.os import LinuxGeneral from diagrams.k8s.compute import Pod from diagrams.onprem.container import Docker from diagrams.onprem.compute import Server from diagrams.k8s.compute import Pod from diagrams.k8s.podconfig import Secret with Diagram("Dalebot overview", show=False): user = LinuxGeneral("User") with Cluster("On-Prem Kubernetes"): gitlab = Gitlab("Gitlab") gitlabci = Gitlabci("Gitlab CI runner") argocd = Argocd("ArgoCD") secrets = Secret("API Keys") bot = Pod("Dale-bot") dockerhub = Docker("Dockerhub") storage = Server("On-prem Storage") user >> Edge(label="Push") >> gitlab >> gitlabci gitlabci >> Edge(label="Application sync") >> dockerhub dockerhub >> argocd gitlabci >> Edge(label="Application sync") >> argocd storage >> bot secrets >> bot argocd >> bot