Skip to content

Tag plugins

Two kinds of plugins

There are two kinds of plugins:

  • a docker-compose: docker-compose.<tag_name>.yml YAML file
  • a jsonnet script: <tag_name>.jsonnet jsonnet file

A plugin can be used for:

  • Providing extra variables
  • Transform docker-compose final file

How to choose between both?

docker-compose jsonnet
Pros
  • Well known merge mecanism, supported by docker
  • Easy to learn
  • Can be used many times, with differents parameters
  • Allow to create variables
  • Very powerful turing language to manupulate docker-compose content
  • Provides a convenient API/plugin system
Cons
  • Can be used only once
  • Quite limited on advanced use case, such as rewrite or modification
  • Need to learn jsonnet language
  • Hard to learn and debug

See how to create plugins for further infos.

docker-compose tag

This is the easiest and simplest form of modularity to use. Just create your docker-compose.<tag_name>.yml fragments, like explained here.

Documenting Plugins

TODO: jsonschema

Test and debug Plugins

TODO: Add features to support plugin development

Jsonnet tag

This is a full turing compliant language avaialable to modify the docker-compose internal structure. Jsonnet language is documented here

Documenting Plugins

TODO: jsonschema

Test and debug Plugins

TODO: Add features to support plugin development