from diagrams import Cluster, Diagram, Edge from diagrams.onprem.gitops import Argocd from diagrams.onprem.vcs import Gitea from diagrams.onprem.ci import DroneCI 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"): gitea = Gitea("Gitea") droneci = DroneCI("DroneCI runner") argocd = Argocd("ArgoCD") secrets = Secret("API Keys") bot = Pod("Dale-bot") dockerhub = Docker("Dockerhub") storage = Server("On-prem Storage") user >> Edge(label="Push") >> gitea >> droneci droneci >> Edge(label="Application sync") >> dockerhub dockerhub >> argocd droneci >> Edge(label="Application sync") >> argocd storage >> bot secrets >> bot argocd >> bot