mkimuram / k8sviz

Generate Kubernetes architecture diagrams from the actual state in a namespace
Apache License 2.0
286 stars 47 forks source link

Add flag for supplying path to directory containing icons #55

Open totoroot opened 1 year ago

totoroot commented 1 year ago

Hi there,

Thanks for creating this handy utility! :tada:

I wanted to package this for Nix/NixOS and noticed that there are a couple issues that have to be resolved first. For many use cases, it is inconvenient to require the icons directory to reside in the same directory as the k8sviz binary.

In case you install the Go version manually and put the k8sviz binary in say /usr/local/bin, you really don't want to have to copy a random directory containing icons in there as well, since this path is expected to only contain binaries

Therefore I propose introducing a flag that makes it possible to supply the path to any directory containing the required icons. You could then for example put the icons in /usr/local/share/k8sviz/ and run k8sviz like this:

k8sviz -i /usr/local/share/k8sviz

I made it possible to pass either an absolute path or one relative to the binary. It still defaults to icons so the default behaviour does not change.

I also updated the README and in two separate commits, fixed all Markdown linting errors found with mdl and improved the portability of the shell scripts.

Please let me know if anything is unclear