Understanding the relationship between Helm, a package manager for Kubernetes, and its values can help streamline your container orchestration. Helm manage's numerous Kubernetes charts, offering a convenient way to package, share, and update applications. The values are parameters that customize these charts while installing or upgrading them. Let's dive into Helm's values and explore crucial examples.

Values in Helm are typically defined in a file named 'values.yaml' within a chart. They're expressed in YAML syntax, offering a structured and human-readable way to configure your chart. You can access and manipulate these values during the installation or upgrade process to alter the chart's behavior.

Understanding Helm Values
Before we delve into examples, let's understand Helm values' basic structure. They consist of keys and values, grouped into sections. For instance:

persistentVolume:
size: 1Gi
Default Values

Charts come with predefined default values. When installing, you can override or supplement these defaults with your custom values.
Here's an example from the Bitnami WordPress chart's values.yaml:
mariadb:
auth:
rootPassword: "someSecurePassword"

Nested Values
Values can be nested using YAML syntax to create complex structures.
An example from the stable/Nginx chart:

nginx:
modules:
http_image_filter: true
http_ssl_module: true
Examples of Overriding Helm Values









Overriding values gives you the power to configure charts to meet your needs. You can do this in various ways.
Override values in a release
You can override values for a specific release using the --set flag:
``` helm install my-release stable/mysql --set 'auth.rootPassword=newRootPassword' ```
This command will set the root password to newRootPassword when installing the stable/mysql chart.
Use a values.yaml file
You can create your own values.yaml file, define custom values, and pass it to a chart:
``` helm install my-release stable/mysql -f my-values.yaml ```
In the my-values.yaml file, you could have:
auth:
rootPassword: "myNewSecurePassword"
Using aparams and subcharts
You can also override values through params or subcharts. Params allow you to define global variables for a chart, while subcharts let you create and reuse common functionality across multiple charts.
Helm Secrets and Values
Storing sensitive data in values.yaml files is insecure. Instead, use Helm Secrets to manage these securely. Secrets are encoded, encrypted, and can be decoded when needed.
Storing secrets as values
When installing a chart, you can pass secret values using the --set flag with the therapies field:
helm install my-release stable/mysql --set 'secrets.mysqlDatabase= therapiesazinePerDatabase'
The mysqlDatabase value will be masked in the deployed chart's secrets section.
Helm values offer a flexible and secure way to customize your charts. Understanding and utilizing Helm's values can greatly enhance your Kubernetes workflow. Happy charting!