Skip to content
This repository has been archived by the owner on Oct 22, 2021. It is now read-only.

Helm Chart Generation

viovanov edited this page May 2, 2018 · 3 revisions

Next to the helm templates, fissile also generates a yaml value file that contains the following sections:

  • env
  • sizing
  • secrets
  • kube

The values in these sections are used by the operator to configure the deployment during installations or upgrades.

env

This section contains all environment variables defined in the role manifest that are not secrets.

They are all under a key named env.

Required vars that have no value must be first in the list. These must be set by the operator before deployment can start.

Vars that are not required are commented out, and are last in the list.

There should be an empty line between each var definition.

The description of each var from the role manifest is transformed into a comment and placed before the var's key. Examples from the role manifest are transformed into human readable text and appended to the var's comment.

Comments should be wrapped with an 80 character limit.

secrets

This section contains all the environment variables in the role manifest that are secrets.

This section is generated in the same fashion as env, with the following differences:

All vars placed under a key named secrets.

For vars that have immutable: true, the comments are appended with the line Cannot be rotated.

For each var that is a cert, the certificate generation information is transformed into human readable text, and appended to the var's comment. This helps the operator understand how to manually generate certificates, if required.

sizing

This section contains a list of all non-dev roles in the role manifest. Each key contains subkeys for changing how many containers are run for the respective role and the size of each container.

They are all under a key named sizing.

The description of each role from the role manifest is transformed into a comment and placed before the role's key.

The minimum and maximum instance counts are transformed into human readable text and added as a comment before the count key for each role. If a role cannot be scaled, the text The [ROLE] role cannot be scaled is added instead.

A disk-sizes key is added only for roles that require persistence.

There should be an empty line between each role definition.

Comments should be wrapped with an 80 character limit.

The sizing values are qualitatively different from the other configuration values. They will be used for setting non-string values in the kube templates and other features like:

  • setting replica counts
  • setting container resource limits
  • setting replica count values in environment variables for self-clustering roles
  • boolean logic to disable roles that have a count of 0