Introduction
The charts make heavy use of Values
yaml files to pass configuration details to the Helm Charts. As defined by Helm Values Files, values are provided to the chart using the following mechanisms:
-
values.yaml
file in the chart -
Value files passed to Helm during install/upgrade with the
-f
flag -
Individual parameters passed with the
--set
flag
The list above is in order of specificity: values.yaml
in the chart can be overridden with -f
supplied files, which can in turn be overridden with the --set
parameter.
The example below shows how values from the chart, a user-supplied myconfig.yaml
file, and --set
parameters are merged with each other to form merged values.

Chart Values
To see the values supplied by the chart, simply use the helm show values
command to print them. This provides both the data as ell as context-sensitive comments to each section.
helm show values pingidentity/ping-devops
############################################################
# Ping Identity DevOps values.yaml
############################################################
# ...
You can also see all the available values in the helm-charts repository on GitHub.
The default values are broken up into two major sections:
-
global — Represents the base set of values that will be provided to each product section unless it’s overridden in that section.
-
product — For every image/product, the values will be merged with the global settings and take precedence.
Values can only be modified when merged. They cannot be deleted. Also, if a value is set to the boolean true, and merged with a boolean of false, it will always be true. |
Global Section
The global:
section of the values contains configuration that is available to each product section. If a value is set in globals, that will be available to every product. This is very powerful, as you can turn on the ingress for every product by simply setting:
global:
ingress:
enabled: true
This would in essence set ingress.enabled=true
for every product:
pingaccess:
ingress:
enabled: true
pingdirectory:
ingress:
enable: true
and so on.
It is much easier to set something in the global:
section rather than repeat it for each product. To enable the ingress for only a few specific products, leave the default of global.ingress.enabled=false
and set that value for those product sections.
Product Sections
Just like the global:
values, each product can have the same values as well as many more that are specific to that product/image. In the following example, persistent volume configuration is provided for PingDirectory:
pingdirectory:
persistentvolume:
enabled: true
volumes:
- name: out-dir
mountPath: /opt/out
storage: 8Gi
storageClassName: