2023-03-29 13:35:19 +02:00

40 lines
2.0 KiB
Plaintext

digraph "Zuul CI/CD Security Design" {
graph [bgcolor=transparent compound=true fontcolor="#2D3436" fontname="Sans-Serif" fontsize=10 rankdir=LR]
node [fixedsize=false]
git [label="Git Provider" fixedsize=true fontsize=10 height=1.4 image="../_images/git.png" imagescale=true labelloc=b shape=none width=1]
db [label="SQL Database" fixedsize=true fontsize=10 height=1.4 image="../_images/postgresql.png" imagescale=true labelloc=b shape=none width=1]
cloud [label="Clouds resources" fixedsize=true fontsize=10 height=1.4 image="../_images/openstack.png" imagescale=true labelloc=b shape=none width=1]
"zuul-web" -> zookeeper [label=TLS color=red fontsize=8]
"zuul-merger" -> zookeeper [label=TLS color=red fontsize=8]
"zuul-executor" -> zookeeper [label=TLS color=red fontsize=8]
"zuul-scheduler" -> zookeeper [label=TLS color=red fontsize=8]
"nodepool-launcher" -> zookeeper [label=TLS color=red fontsize=8]
"nodepool-builder" -> zookeeper [label=TLS color=red fontsize=8]
subgraph cluster_k8 {
graph [bgcolor="#E5F5FD" shape=box style=rounded]
node [fontsize=8]
label="Kubernetes Cluster"
subgraph cluster_zuul {
node [fontsize=8]
label="Zuul Namespace"
"zuul-web" [label="Zuul Web"]
"zuul-merger" [label="Zuul Merger"]
"zuul-executor" [label="Zuul Executor"]
"zuul-scheduler" [label="Zuul Scheduler"]
"nodepool-launcher" [label="Nodepool Launcher"]
"nodepool-builder" [label="Nodepool Builder"]
}
subgraph cluster_zk {
node [fontsize=8]
label="Zuul Namespace"
zookeeper [label=Zookeeper fixedsize=true fontsize=10 height=1.4 image="../_images/zookeeper.png" imagescale=true labelloc=b shape=none width=1]
}
}
"zuul-merger" -> git [label=SSH color=blue fontsize=8]
"zuul-executor" -> git [label=SSH color=blue fontsize=8]
"zuul-web" -> db [label=TLS fontsize=8]
"nodepool-launcher" -> cloud [label=HTTPS color=green fontsize=8]
"nodepool-builder" -> cloud [label=HTTPS color=green fontsize=8]
"zuul-executor" -> cloud [label=SSH color=blue fontsize=8]
}