159 Commits
Author SHA1 Message Date
asimon f34baa0c14 feat(kube-diagrams): resolve symlinks when locating config and icons
`os.path.dirname(__file__)` returns the symlink's directory when the script is invoked through a symlink (Nix, ln -s into ~/.local/bin), so kube-diagrams.yaml and icons/ are not found.

Use `os.path.realpath(__file__)` to resolve to the real script location. No behavior change for copied installs (`pip/setup.py` scripts).
2026-07-18 16:31:34 +02:00
Philippe Merle eed1b0d6bd Add support for D2 output format 2026-06-30 15:32:07 +02:00
Philippe Merle 63fa668d41 Lint Kub-eidagrams script 2026-06-28 16:50:02 +02:00
Philippe Merle a903b07a6c Add support for Mermaid format 2026-06-28 16:18:01 +02:00
Philippe Merle 667915ee12 Fixed edges for StatefulSet spec.volumeClaimTemplates 2026-06-26 12:03:00 +02:00
Philippe Merle 702705d29f Duplicated data when creating new PersistentVolumeClaim resources to avoid to modify these data 2026-06-26 09:50:03 +02:00
Philippe Merle 9edd27d8f2 Add acronyms in ComponentStatus, ControllerRevision, FlowSchema, and PriorityLevelConfiguration icons 2026-06-14 19:10:33 +02:00
Philippe MERLE 317766267b Add support for ComponentStatus, ControllerRevision, FlowSchema, and PriorityLevelConfiguration kinds 2026-06-14 18:08:07 +02:00
Philippe MERLE c4748a9800 Reduce max node label length in order to reduce 'size too small for label' warnings generated by dot 2026-06-14 16:22:52 +02:00
Philippe MERLE 7d02a92258 Fix edges computation for EndpointSlice/discovery.k8s.io/v1 2026-06-14 15:54:41 +02:00
Philippe Merle fe2520739d Add support for Gateway API, see issue https://github.com/philippemerle/KubeDiagrams/issues/72 2026-05-22 14:55:06 +02:00
Philippe Merle 8f8d62b398 Add support for draw.io format 2026-02-25 15:57:38 +01:00
Michael Lucka e4868de5c4 extend functions to suport custom object icons
- def create_custom_cluster:

  easy fix to allow icons on custom cluster definitions by using
  an additional "type" key/attribute that refers to a diagram class

  allowing custom icons seems a bit more tricky as it may require a
  refactoring of the icon function. maybe this can also be added to
  have a consistent behavior...?

- create_custom_node:

  custom nodes already support icons by specifying a diagram class
  via "type" key/attribute

  in addition, it is now possible to specify a custom icon using the
  new key/attribute "icon"
2025-09-12 11:37:40 +02:00
Philippe Merle 5027db2bd4 Complete edge tooltips in generated SVG and dot_json diagrams 2025-08-20 18:55:42 +03:00
Philippe Merle 2c5824559f Check hidden nodes before adding edges 2025-08-20 12:14:02 +03:00
Philippe Merle 99f725c314 Avoid overlapping node names in diagrams as pointing out in (https://github.com/philippemerle/KubeDiagrams/issues/53) 2025-08-19 17:26:09 +03:00
Philippe Merle d164bc00d6 [examples/inside-workloads] Improve edge tooltips 2025-08-13 14:54:12 +03:00
Philippe Merle 025984a1ea Add new inside-workloads example to show the internal structure of workloads, i.e., their pods, volumes, containers, mounted volumes, referenced config maps and secrets, as discussed in https://github.com/philippemerle/KubeDiagrams/discussions/52 2025-08-13 02:08:19 +03:00
Philippe Merle e2dded6490 Simplify how cluster titles are managed 2025-08-11 21:28:51 +03:00
Philippe Merle 46f860db2d Add clusters for admin, edit, and view cluster role aggregations 2025-08-11 17:50:29 +03:00
Philippe Merle 320bec7022 Allow to set up several KubeDiagrams configuration files 2025-08-11 13:15:05 +03:00
Philippe Merle e354ca8080 Fix exceptions on Endpoints edges 2025-08-11 11:24:26 +03:00
Philippe Merle 4b997c816a Add label-based clustering and change color for label-based clusters 2025-08-08 13:37:24 +03:00
Philippe Merle b99d9ed186 Fix exceptions when a value has not the expected type 2025-08-05 19:28:02 +03:00
Philippe Merle 2b9743fbb9 Change how services, network and PodDisruptionBudget policies are bound to either pods or workloads 2025-08-05 14:40:21 +03:00
Philippe Merle 303736730c Add support for spec.defaultBackend.service for Ingress resources 2025-08-05 13:47:14 +03:00
Philippe Merle 7ea19af36f Add get_metadata_annotation function 2025-08-04 11:42:29 +03:00
Philippe Merle 1e3f9f75e6 Pylint previous commits 2025-08-02 18:23:51 +03:00
Philippe Merle 18af9be2fc Update create_new_nodes to create new nodes recursively 2025-08-02 18:21:19 +03:00
Philippe Merle 133a1f1fb9 Add support for spec.tls.secretName fields in Ingress resources 2025-08-02 18:12:06 +03:00
Philippe Merle 45650d786b Don't generate a warning when serviceAccountName or priorityClassName or storageClassName is equals to an empty string 2025-08-02 14:52:55 +03:00
Philippe Merle 2b75cf49f8 Add support for rules.resourceNames fields in Role and ClusterRole resources 2025-08-02 13:39:32 +03:00
Philippe Merle 5c33bbcbe8 Generate more precise paths in messages outputed by add_containers_env_value_from_and_env_from() 2025-07-31 08:49:27 +03:00
Philippe Merle 4a5a85696b Log << undefined but optional >> as info messages instead of warning messages as discussed in https://github.com/philippemerle/KubeDiagrams/issues/30 2025-07-30 13:12:00 +03:00
Philippe Merle 5294173477 Add support for PodSpec.initContainers and PodSpec.ephemeralContainers 2025-07-30 12:21:52 +03:00
Philippe Merle 78e318a292 Read any list of objects 2025-07-30 10:40:26 +03:00
Philippe Merle f1bde71352 Fix typo 2025-07-30 10:39:08 +03:00
Philippe Merle 8f53e0de5e Color warning (in yellow) and error (in red) messages 2025-07-29 23:33:10 +03:00
Philippe Merle e7674ebb6b Add support for ContainerSpec.valueFrom.configMapKeyRef.optional and ContainerSpec.envFrom 2025-07-29 20:50:28 +03:00
Philippe Merle 0c0839ab04 Fix an exception, container env must be a list 2025-07-26 17:56:59 +03:00
Philippe Merle 666723658e Document helm-diagrams flags, as issued in https://github.com/philippemerle/KubeDiagrams/issues/50 2025-07-19 22:25:30 +02:00
Philippe Merle 9a41cc1d8e Fix a dot parsing limit 2025-07-18 16:09:04 +02:00
Philippe Merle 64e32c0ff2 Fix a KeyError exception 2025-07-18 15:47:34 +02:00
Philippe Merle b09f1f5e00 Fix an infinite recursion issue 2025-07-18 15:42:33 +02:00
Philippe Merle cf649626ee Remove UNDEFINED edge type 2025-07-17 01:31:29 +02:00
Philippe Merle f46f3cd242 Add support for DaemonSet/extensions/v1beta1, Ingress/extensions/v1beta1, and PodSecurityPolicy/extensions/v1beta1 2025-07-17 01:26:11 +02:00
Philippe Merle 610cdc8953 Add --namespace option to kube-diagrams as requested by https://github.com/philippemerle/KubeDiagrams/issues/44 2025-07-03 14:59:37 +02:00
Philippe Merle b7b24afd06 Add --embed-all-icons flag to kube-diagrams, helm-diagrams, and kubectl-diagrams in order to embed all icons in generated svg or dot_json diagrams as requested in https://github.com/philippemerle/KubeDiagrams/issues/38 2025-06-24 03:39:49 +02:00
Philippe Merle 956ba255b1 Add support for Deployment/extensions/v1beta1 2025-06-21 17:39:50 +02:00
Philippe Merle 31a8abe6f2 Add options to helm-diagrams script 2025-06-20 04:58:38 +02:00