# Helm Values Yaml

All Helm packed applications have an associated values.yaml file which dictates the configuration of an application. By design many applications ship with a default values.yaml file that is tuned for production deployments which quite often impacts the viability of a prototype or trial deployment. It is important to review the default vales.yaml file to ensure the application will deploy successfully into your target cluster.

Platform9 automatically populates the charts default values.yaml file for all applications, this file can be updated directly in the UI, edited within a text editor or a preexisting configuration may be uploaded.

<figure><img src="/files/j5TGGEDhKkTDs5YkMLPM" alt="Edit values.yaml in Platform9 Web App"><figcaption><p>Edit values.yaml in Platform9 Web App</p></figcaption></figure>

## Common values.yaml Issues

### Application Services

Most applications built for Kubernetes expect a Load Balancer service to be associated with the Kubernetes cluster. For deployments in AWS and Azure Platform9 will automatically deploy and associate a load balancer, for BareOS on a VM or Physical Node MetalLB is optional. When a load balancer is not available or you wish to use an ingress controller or NodePort the chart will need to be updated.

The code snippet below is an example of a load balancer configuration.

{% tabs %}
{% tab title="Service: Load Balancer" %}

```yaml
"service": {
  "annotations": {},
  "externalTrafficPolicy": "Cluster",
  "extraPorts": [],
  "loadBalancerIP": null,
  "nodePorts": {
   "http": ""
  },
  "port": 80,
  "type": "LoadBalancer"
 },
```

{% endtab %}
{% endtabs %}

### Storage

Some Helm packaged applications leverage persistent storage by default, when an application is configured to deploy with persistent storage and no storage class or volume can be found the application will fail to start. Updating charts to deploy without persistent storage can be a tricky task, especially if the chart is deploying multiple deployments each with their own storage configuration.

Review the chart documentation for configuring storage and disabling persistent storage.

{% tabs %}
{% tab title="Persistence Storage" %}

```yaml
"primary": {
   "persistence": {
    "accessModes": [
     "ReadWriteOnce"
    ],
    "enabled": true,
    "existingClaim": null,
    "hostPath": null,
    "size": "8Gi"
   }
  }
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.platform9.com/managed-kubernetes/5.9/application-catalog/helm-values-yaml.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
