2. Configuring the Override
The values.yaml is a cluster-wide configuration file. It is used to configure the default values for all the charts in the cluster. The values.yaml file is a hierarchical file. The values at the top of the file are chart specific and will only be applied to the chart they are associated with. The values at the bottom of the file are are global and will be applied to all charts. The Charts are organized as “sibling charts” so the values can be applied and overridden at the chart level with the values in a section named after the corresponding Helm Chart.
Here is an example of a values.yaml for all of the individual services taken from a AWS EKS deployment:
##values for graphistry-helm domain: your-site.com tlsEmail: "admin@your-site.com" tls: true metrics: true fwdHeaders: true volumeName: dataMount: pvc-91ac0b15-f7c9-471c-a00d-ab6dfb59885f localMediaMount: pvc-89de61bf-2d96-4613-9a24-fb19a93d2c43 gakPublic: pvc-97b39989-9cfa-4058-b489-fbcab0c3dc7f gakPrivate: pvc-9afe0118-e483-4b90-85a5-79a7181071e5 ##values for graphistry-resources graphistryResources: storageClassParameters: csi.storage.k8s.io/fstype: ext4 type: gp2 ##values for kubernetes dashboard k8sDashboard: enabled: true readonly: false createServiceAccount: false ## createServiceAccount: true only on initial deployment ##values for grafana grafana: grafana.ini: server: domain: your-site.com root_url: https://your-site.com/k8s/grafana serve_from_sub_path: true auth.anonymous: enabled: true ##values for prometheus prometheus: prometheusSpec: serviceMonitorSelectorNilUsesHelmValues: false ##values for ingress-nginx ingress controller when prometheus is installed ingress-nginx: controller: metrics: enabled: true serviceMonitor: enabled: true additionalLabels: release: "prometheus" ##values for cert-manager cert-manager: #defined by either the name or alias of your dependency in Chart.yaml namespace: cert-manager installCRDs: true createCustomResource: true ##values for global global: provisioner: ebs.csi.aws.com tag: v2.39.28-admin nodeSelector: {"kubernetes.io/hostname": "ip-171-00-00-0.us-west-2.compute.internal"} logs: LogLevel: "TRACE" GraphistryLogLevel: "TRACE" imagePullPolicy: Always imagePullSecrets: - name: docker-secret-prod
2.1. Mandatory Values
Some of the global values are mandatory to work correctly. These are:
global.imagePullSecrets
global.provisioner
global.nodeSelector
graphistryResources.storageClassParameters
global.tag
For more information on configuration options for each chart, see the Configuration section in each corresponding chapter.