Skip to content

Commit 610cdc8

Browse files
committed
Add --namespace option to kube-diagrams as requested by #44
1 parent 7797115 commit 610cdc8

2 files changed

Lines changed: 10 additions & 0 deletions

File tree

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,8 @@ options:
177177
-f, --format FORMAT output format, allowed formats are dot, dot_json, gif, jp2, jpe, jpeg, jpg, pdf, png, svg, tif, tiff, set to png by default
178178
--embed-all-icons embed all icons into svg or dot_json output diagrams
179179
-c, --config CONFIG custom kube-diagrams configuration file
180+
-n, --namespace NAMESPACE
181+
visualize only the resources inside a given namespace
180182
-v, --verbose verbosity, set to false by default
181183
--without-namespace disable namespace cluster generation
182184
```

bin/kube-diagrams

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -886,6 +886,8 @@ parser.add_argument("--embed-all-icons",
886886
action="store_true", default=False)
887887
parser.add_argument("-c", "--config", type=str,
888888
help="custom kube-diagrams configuration file")
889+
parser.add_argument("-n", "--namespace", type=str,
890+
help="visualize only the resources inside a given namespace")
889891
parser.add_argument("-v", "--verbose",
890892
help="verbosity, set to false by default",
891893
action="store_true", default=False)
@@ -964,6 +966,12 @@ def process_resource(resource):
964966
cluster = resource_cluster
965967
name = get_name(resource)
966968
resource_scope = get_node_config(resource).get("scope")
969+
# Namespace filter
970+
if args.namespace is not None and \
971+
( resource_scope != "Namespaced" \
972+
or get_namespace(resource) != args.namespace):
973+
return # skip this resource
974+
967975
if resource_scope == "Outside":
968976
rid = name + "/" + get_type(resource)
969977
elif resource_scope == "Cluster":

0 commit comments

Comments
 (0)