Get startedSign in

Service templating

Applying on-the-fly configuration to your Plural services

Overview

Plural allows a number of different mechanism to template service configuration into your yaml before applying to the destination cluster. There are a few key usecases for this:

  • injecting cluster-level configuration into a service, like IRSA role ARNs or other information needed to configure authentication to cloud services
  • injecting Plural secrets into service manifests
  • injecting information from other tools passed from service contexts or Stack outputs

All templating is done via Shopify's liquid template engine. It's a mature templating language with generally better documentation than go's native text/template. We also inject a subset of the Sprig library into the engine, you can see how it's configured here.

It's important to know where templates can be applied and what data is available.

Templatable files

The following files can have liquid templating applied to them:

  • yaml files in raw (non-helm/kustomize/etc) services with a .liquid extension
  • helm values files ending in .liquid

Available Data

You will have the following data fields available for templating: