mirror of
https://github.com/philippemerle/KubeDiagrams.git
synced 2026-08-22 14:36:24 +00:00
133 lines
3.8 KiB
Plaintext
133 lines
3.8 KiB
Plaintext
diagram:
|
|
clusters:
|
|
EMEA:
|
|
name: "K8s Cluster: EMEA"
|
|
graph_attr:
|
|
bgcolor: transparent
|
|
pencolor: black
|
|
style: dashed,rounded
|
|
clusters:
|
|
cert-manager:
|
|
name: "cert-manager"
|
|
type: diagrams.k8s.group.Namespace
|
|
graph_attr:
|
|
bgcolor: transparent
|
|
pencolor: black
|
|
style: dashed,rounded
|
|
clusters:
|
|
appcm:
|
|
name: ""
|
|
nodes:
|
|
cert-manager:
|
|
name: "Certificate Management"
|
|
type: diagrams.onprem.certificates.CertManager
|
|
minio-tls:
|
|
name: "minio-tls"
|
|
type: diagrams.k8s.group.Namespace
|
|
graph_attr:
|
|
bgcolor: transparent
|
|
pencolor: black
|
|
style: dashed,rounded
|
|
clusters:
|
|
appminio:
|
|
name: ""
|
|
nodes:
|
|
minio-tls:
|
|
name: "S3 Storage"
|
|
icon: icons/minio.png
|
|
nodes:
|
|
Admin:
|
|
name: Admin / DevOps
|
|
type: diagrams.azure.general.Supportrequests
|
|
Users:
|
|
name: Users
|
|
type: diagrams.azure.identity.Groups
|
|
PKI:
|
|
name: PKI
|
|
type: diagrams.aws.security.CertificateAuthority
|
|
edges:
|
|
- from: Admin
|
|
to: myapp-mgmt/myapp/Service/v1
|
|
xlabel: SSH
|
|
color: orange
|
|
- from: Users
|
|
to: myapp/myapp/Ingress/networking.k8s.io/v1
|
|
xlabel: HTTPS
|
|
color: "#00AB00"
|
|
- from: myapp/myapp/Ingress/networking.k8s.io/v1
|
|
to: EMEA.cert-manager.appcm.cert-manager
|
|
- from: EMEA.cert-manager.appcm.cert-manager
|
|
to: PKI
|
|
xlabel: HTTPS
|
|
color: "#00AB00"
|
|
- from: myapp-db/myapp/postgresql/acid.zalan.do/v1
|
|
to: EMEA.minio-tls.appminio.minio-tls
|
|
xlabel: HTTPS
|
|
color: "#00AB00"
|
|
- from: myapp/myapp/Deployment/apps/v1
|
|
to: myapp-db/myapp/postgresql/acid.zalan.do/v1
|
|
generate_diagram_in_cluster: EMEA
|
|
nodes:
|
|
CiliumNetworkPolicy/cilium.io/v2:
|
|
scope: Namespaced
|
|
custom_icon: icons/cilium.png
|
|
postgresql/acid.zalan.do/v1:
|
|
scope: Namespaced
|
|
diagram_node_classname: diagrams.onprem.database.Postgresql
|
|
edges: |
|
|
edges.add_edge_to(
|
|
"spec",
|
|
get_name(resource),
|
|
get_namespace(resource),
|
|
"ConfigMap",
|
|
"v1",
|
|
"REFERENCE"
|
|
)
|
|
# add edge from postgresql to MinIO ConfigMap
|
|
edges.add_edge_to(
|
|
"spec",
|
|
"minio",
|
|
get_namespace(resource),
|
|
"ConfigMap",
|
|
"v1",
|
|
"REFERENCE"
|
|
)
|
|
# add edge from postgresql to MinIO Secret
|
|
edges.add_edge_to(
|
|
"spec",
|
|
"minio",
|
|
get_namespace(resource),
|
|
"Secret",
|
|
"v1",
|
|
"REFERENCE"
|
|
)
|
|
Ingress/networking.k8s.io/v1:
|
|
scope: Namespaced
|
|
nodes: |
|
|
for idx, tls in enumerate(query_path(resource, "spec.tls", [])):
|
|
nodes.append({
|
|
"kind": "Secret",
|
|
"apiVersion": "v1",
|
|
"metadata": {
|
|
"name": tls.get("secretName"),
|
|
"namespace": get_namespace(resource),
|
|
"labels": {
|
|
**query_path(resource, "metadata.labels", {})
|
|
}
|
|
}
|
|
})
|
|
edges: |
|
|
edges.add_service("spec.defaultBackend.service.name")
|
|
for ridx, rule in enumerate(query_path(resource, "spec.rules", [])):
|
|
for pidx, path in enumerate(query_path(rule, "http.paths", [])):
|
|
edges.add_service(f"spec.rules[{ridx}].http.paths[{pidx}].backend.service.name", name=query_path(path, "backend.service.name"))
|
|
for idx, tls in enumerate(query_path(resource, "spec.tls", [])):
|
|
edges.add_edge_to(
|
|
f"spec.tls[{idx}]",
|
|
tls.get("secretName"),
|
|
get_namespace(resource),
|
|
"Secret",
|
|
"v1",
|
|
"REFERENCE"
|
|
)
|