-
Notifications
You must be signed in to change notification settings - Fork 36
Helm Chart Generation
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.
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.
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.
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