Skip to content

Design Draft: Pligos as a helm plugin

Joschka Tillmanns edited this page Apr 11, 2019 · 1 revision

Right now the output of Pligos is a Helm Chart, I am suggesting instead to make Pligos live in symbiosis with a Helm Chart. This means changing the chart from within, instead of creating a new one. The workflow for this would then be the following:

helm create myservice // creata new Helm chart 'myservice'
helm pligos --init types.yaml // this initiates the pligos.yaml and generates default configuration based on the types.yaml

Pligos init kind of 'morphs' a helm chart to a pligos capable one. It not only generates the pligos.yaml, but also adds the values.yaml and templates/ directory to the .gitignore.

Therefore, the /pligos directory would disappear completely and we would reduce the configuration files to just one: a pligos.yaml. In this file we only define the contexts. The configs, secrets, deployment and chartDependencies keys would disappear completely. When we then run, for instance helm pligos dev, to 'switch' to the dev context, pligos does the following:

  1. read the flavor
  2. compile the values.yaml
  3. write the templates of your flavor to your templates/ directory

Dependency management by Pligos also disappears completely. Pligos is ONLY responsible to resolve the flavor and write the values.yaml and the templates.

We could still allow the user to create a clean helm chart that doesn't contain a pligos yaml in order to, for instance, publish it.

Clone this wiki locally