> ## Documentation Index
> Fetch the complete documentation index at: https://anaconda.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuring platform settings

Global configurations:

* The Authentication Center client URL
* The internal database
* Optional NFS server volume mounts
* HTTPS certificate settings
* Resource profiles
* The Kubernetes cluster
* Any users, groups, or roles with Admin authorization
* The git commit file size limit (Anaconda recommends keeping files under 50MB)

Per-Service configurations:

* The authentication server used to secure access
* The deployment server used to deploy apps
* The workspace server used to run sessions
* The storage server used to store and version projects
* The local repository server used for channels and packages
* The S3 endpoint and Git server used to store object and data
* The local documentation server URL and platform UI configuration
* System metrics from Prometheus
* Alert management
* Grafana dashboard visualizations

## Setting platform configurations using the Helm chart

*This is the preferred and recommended method for updating platform configurations.*

Anaconda’s Kubernetes Helm chart encapsulates application definitions, dependencies, and configurations into a single `values.yaml` file. This file contains both global and per-service settings for the platform. For more information about how Workbench uses Helm and to view the default Helm chart template, see [Helm chart](../../environment-prep/byok8s-prep#helm-charts).

To make configuration changes to the platform:

1. Connect to your instance of Workbench.
2. Save your current configurations using the `extract_config.sh` script by running the following command:

```
# Replace <NAMESPACE> with the namespace Workbench is installed in
NAMESPACE=<NAMESPACE> ./extract_config.sh
```

<Note>
  The `extract_config.sh` script creates multiple files and saves them in the directory where the script was run. You need the `helm_values.yaml` file.
</Note>

3. Verify that the information captured in `helm_values.yaml` file contains your current cluster configuration settings.
4. Update the Helm chart to include or alter your cluster configurations and save your changes.
5. Perform a Helm upgrade by running the following command:

```
helm upgrade --values ./helm_values.yaml anaconda-enterprise ./Anaconda-Enterprise/
```

## Setting platform configurations using the config map

Workbench platform settings can also be managed by the `anaconda-enterprise-anaconda-platform.yml` config map, though this is *no longer the recommended method for platform configuration updates*.

1. Connect to your instance of Workbench.
2. Create a backup of your current configmap file, then edit your configurations by running the following commands:

<Tabs>
  <Tab title="BYOK8s">
    Run the commands from anywhere you have `kubectl` access to the cluster:

    ```
    # Replace <NAMESPACE> with your Workbench cluster namespace
    kubectl get cm -n <NAMESPACE> anaconda-enterprise-anaconda-platform.yml -o=jsonpath={.data."anaconda-platform\.yml"} > anaconda-platform.yml
    kubectl delete cm -n <NAMESPACE> anaconda-enterprise-anaconda-platform.yml
    kubectl create cm -n <NAMESPACE> anaconda-enterprise-anaconda-platform.yml --from-file anaconda-platform.yml
    ```
  </Tab>

  <Tab title="Gravity">
    Run the following commands in an interactive shell *on the master node*:

    ```
    # Replace <NAMESPACE> with your Workbench cluster namespace
    sudo gravity enter
    kubectl get cm -n <NAMESPACE> anaconda-enterprise-anaconda-platform.yml -o=jsonpath={.data."anaconda-platform\.yml"} > anaconda-platform.yml
    kubectl delete cm -n <NAMESPACE> anaconda-enterprise-anaconda-platform.yml
    kubectl create cm -n <NAMESPACE> anaconda-enterprise-anaconda-platform.yml --from-file anaconda-platform.yml
    ```
  </Tab>
</Tabs>

3. Make your changes to the file, then save it.
4. Restart all pods using the following command:

```
# Replace <NAMESPACE> with your Workbench cluster namespace
kubectl delete -n <NAMESPACE> --wait=false $(kubectl get pods -o name|grep ap-)
```

<Tip>
  If something goes wrong with your configuration updates, you can restore your previous configurations by re-running the following commands:

  ```
  # Replace <NAMESPACE> with your Workbench cluster namespace
  kubectl delete cm -n <NAMESPACE> anaconda-enterprise-anaconda-platform.yml
  kubectl create cm -n <NAMESPACE> anaconda-enterprise-anaconda-platform.yml --from-file anaconda-platform.yml
  ```
</Tip>
