Service templating
Applying on-the-fly configuration to your Plural services
Articles in this section:
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: