Adding transformations to Base Template Repos

Overview

Base Template Repositories (BTRs) are an excellent way to systematise and enforce configuration standards for your application. You can add Skycap Transformation definitions to any BTR to ensure that configuration files (Stencils) generated from that BTR are automatically transformed by your scripts.

Note

This guide assumes you have a working knowledge of both BTRs and Skycap Transformations. Please read our separate guides for both these topics if you're unsure about them.

How to add transformations to a BTR

Transformations are defined in a BTR via a central templates.json file that sits in the root of the repo. This is an excerpt from a templates.json file that illustrates the structure of the transformations section:

    "transformations": [
             {
                "name": "Insert Sidecar",
                "filename": "sidecar.js",
                "description": "Insert sidecar in all of your services",
                "selector": "kind: Service",
                "tags": [],
                "preferred_sequence": 0
             },
          ]

The same templates.json file is also used to define the Kubernetes templates (Stencils) and any policies applied to those templates. For more info, please read our guides to these features.

Components of the JSON definition

The Transformation section of the templates.json has the following fields:

Directory structure for transformations in BTRs

BTRs must be organized as follows: