Skip to content

Latest commit

 

History

History
 
 

infrastructure

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

Infrastructure

Tools and packages that are used to run a deployment of Taskcluster.

Kubernetes

Using

Helm chart is being autogenerated by yarn generate command. It can be found in k8s folder.

Templates are being generated with json-e from tooling/templates/k8s/ sources for each service and resource type.

Generated files should be fed to helm template using dev-config.yml values file to produce valid kubernetes yaml files. yarn dev:apply does this automatically and applies its output with the help of kubectl command.

A value in the YAML can be either a literal string or it can be a placeholder for a value helm will substitute. The latter all start with .Values..

Note: keep in mind that helm templates are autogenerated from the yaml source using json-e. Because of this, it is currently not possible to used advanced Helm (go) templating like flow control, because it is not a valid YAML, and json-e would fail to process such files. If you need to use more go template features, you will need to create custom replacements inside k8s.js generator

Updating

To apply any change to the templates, you should only modify files inside tooling/templates/k8s folder and use yarn generate to produce resulting k8s/templates files.

Occasionally you might need to introduce new values. k8s/values.schema.json contains the schema and is also autogenerated by the k8s.js generator. Change the schema as needed and run yarn generate to create updated templates and schema files.

To debug templates and see how they will look rendered you can run yarn dev:templates and then open taskcluster.k8s.yml file to inspect.