vmware-archive / kubecfg

A tool for managing complex enterprise Kubernetes environments as code.
Apache License 2.0
727 stars 62 forks source link

Add ability to render multiple files from same invocation to kubecfg #306

Open wojciechka opened 3 years ago

wojciechka commented 3 years ago

Currently kubecfg show can only be used to render a single jsonnet file at a time.

I am currently using kubecfg show to convert jsonnet files into YAML files as part of GitOps flow - where the files are being rendered on developers' machines.

We're currently using parallel to parallelize the process, but perhaps same could be done by allowing multiple files to be passed to kubecfg show, or perhaps to a new command - such as kubecfg render.

I would imagine that this use case would entail providing pairs of input jsonnet and output YAML/JSON files, kubecfg would either use concurrency or single thread reusing jsonnet VM (depending on which is faster / easier to implement) and render all of the files faster than running multiple copies of kubecfg. Such as:

kubecfg render \
  ./path1/app.jsonnet ./path1/app.yml \
  ./path2/app.jsonnet ./path2/app.yml \
  ./path3/app.jsonnet ./path3/app.yml