mirror of
https://github.com/philippemerle/KubeDiagrams.git
synced 2026-05-18 09:46:33 +00:00
Improve diagram nodes clusters management
This commit is contained in:
@@ -309,25 +309,31 @@ with open(args.filename) as f:
|
||||
cluster = resource_cluster.get_or_create_cluster("Namespace: %s" % name)
|
||||
else:
|
||||
cluster = resource_cluster
|
||||
cluster.resources[rid] = resource
|
||||
else: # scope = Namespaced
|
||||
rid = name + "/" + get_namespace(resource) + "/" + get_type(resource)
|
||||
resources[rid] = resource
|
||||
cluster = resource_cluster.get_or_create_cluster("Namespace: %s" % get_namespace(resource))
|
||||
def process_clusters(cluster, resource, clusters):
|
||||
for cluster_config in clusters:
|
||||
data = query_path(resource, cluster_config["path"])
|
||||
if data != None:
|
||||
cluster = cluster.get_or_create_cluster("%s: %s" % (cluster_config["label"], data))
|
||||
|
||||
def process_clusters(cluster, resource, clusters):
|
||||
for cluster_config in clusters:
|
||||
if "label" in cluster_config:
|
||||
label = cluster_config["label"]
|
||||
labels = query_path(resource, "metadata.labels")
|
||||
if labels != None and label in labels:
|
||||
cluster = cluster.get_or_create_cluster("%s: %s" % (
|
||||
cluster_config["title"],
|
||||
labels[label]
|
||||
))
|
||||
clusters.remove(cluster_config)
|
||||
return process_clusters(cluster, resource, clusters)
|
||||
return cluster
|
||||
cluster = process_clusters(
|
||||
cluster,
|
||||
resource,
|
||||
copy.deepcopy(config.get("clusters", []))
|
||||
)
|
||||
cluster.resources[rid] = resource
|
||||
return cluster
|
||||
|
||||
cluster = process_clusters(
|
||||
cluster,
|
||||
resource,
|
||||
copy.deepcopy(config.get("clusters", []))
|
||||
)
|
||||
cluster.resources[rid] = resource
|
||||
|
||||
if resource["kind"] == "List":
|
||||
for r in resource["items"]:
|
||||
|
||||
@@ -11,12 +11,18 @@ edges:
|
||||
UNDEFINED:
|
||||
color: red
|
||||
clusters:
|
||||
- label: K8s Application
|
||||
path: metadata.labels.k8s-app
|
||||
- label: Application
|
||||
path: metadata.labels.app
|
||||
- label: Microservice
|
||||
path: metadata.labels.service
|
||||
- label: app
|
||||
title: Application
|
||||
- label: service
|
||||
title: Microservice
|
||||
- label: app.kubernetes.io/instance
|
||||
title: K8s Application
|
||||
- label: k8s-app
|
||||
title: K8s Application
|
||||
- label: kubernetes.io/bootstrapping
|
||||
title: K8s Bootstrapping
|
||||
- label: tier
|
||||
title: K8s Tier
|
||||
nodes:
|
||||
ClusterRole/rbac.authorization.k8s.io/v1:
|
||||
scope: Cluster
|
||||
|
||||
Reference in New Issue
Block a user