Tools and packages that are used to run a deployment of Taskcluster.
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
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.