> Markdown version of [Configure Installation](https://vaadin.com/docs/v24/control-center/getting-started/configure-installation). Section index: [llms.txt](https://vaadin.com/docs/v24/control-center/llms.txt)

# Configure Installation

This page explains how to configure the installation of Control Center using Helm. You can set many values, including your domain and user information.

## <a id="setting-configuration-values"></a>Setting Configuration Values

Below is an example using the Helm command to configure several values. You would change the values in the example to your particular use.

Terminal

```bash
helm install control-center-name oci://docker.io/vaadin/control-center \ # (1)
    -n foo-namespace --create-namespace \ # (2)
    --set domain=mydomain.com \ # (3)
    --set user.email=example@mydomain.com \ # (4)
    --set app.host=cc.mydomain.com \ # (5)
    -f values-ingress.yaml \ # (6)
    --wait
```

1. The name of the installed application is set to `control-center-name`.

2. The namespace in which the application is installed is set to `foo-namespace`.

3. The required value of `domain` is set to `mydomain.com`.

4. The required value of `user.email` is set to `example@mydomain.com`.

5. The optional value of `app.host` is set to `cc.mydomain.com`.

6. The values for the Ingress are set using a file named `values-ingress.yaml`.

More command options, than the ones shown in the example above, are available for configuring the installation. All options are explained in detail in the [Helm documentation](https://helm.sh/docs/helm/helm_install/).

## <a id="list-of-values"></a>List of Values

The following table lists the available values and their descriptions. Each of the values can be set using the `--set` flag when installing Control Center using Helm.

| Value                                               | Required | Default                                          | Description                                                                                                                                                                                               |
| --------------------------------------------------- | -------- | ------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `domain`                                            | Yes      |                                                  | The domain name of the Control Center installation. This is used to generate the host names for Control Center and Keycloak.                                                                              |
| `user.email`                                        | Yes      |                                                  | The email address of the Control Center administrator user.                                                                                                                                               |
| `nameOverride`                                      | No       |                                                  | Replace every occurrence of "control-center".                                                                                                                                                             |
| `fullnameOverride`                                  | No       |                                                  | The full name is generated as "control-center" if the release name is "control-center". However, if the release name is "foo", the full name is "foo-control-center". This value overrides the full name. |
| `serviceAccount.create`                             | No       | `true`                                           | Specifies whether a service account should be created.                                                                                                                                                    |
| `serviceAccount.automount`                          | No       | `true`                                           | Specifies whether to automount the service account token.                                                                                                                                                 |
| `serviceAccount.name`                               | No       |                                                  | The name of the service account to use.                                                                                                                                                                   |
| `serviceAccount.annotations`                        | No       |                                                  | Annotations to add to the service account.                                                                                                                                                                |
| `app.host`                                          | No       |                                                  | The host name of the Control Center application. If none is specified, `control.${domain}` is used.                                                                                                       |
| `app.tlsSecret`                                     | No       |                                                  | The name of the secret with the `keystore` for the Control Center application.                                                                                                                            |
| `app.image.repository`                              | No       | `vaadin/control-center`                          | The image repository to use for the Control Center application.                                                                                                                                           |
| `app.image.pullPolicy`                              | No       |                                                  | The pull policy to use for the image. If none is specified, the Kubernetes default is used.                                                                                                               |
| `app.image.tag`                                     | No       |                                                  | The image tag to use for the Control Center application. If none is specified, the chart’s `appVersion` is used.                                                                                          |
| `app.imagePullSecrets`                              | No       |                                                  | The image pull secrets to use for the Control Center application.                                                                                                                                         |
| `app.podLabels`                                     | No       |                                                  | Extra labels to add to the Control Center application pods.                                                                                                                                               |
| `app.podAnnotations`                                | No       |                                                  | Extra annotations to add to the Control Center application pods.                                                                                                                                          |
| `app.podSecurityContext`                            | No       |                                                  | The security context for the Control Center application pods.                                                                                                                                             |
| `app.securityContext`                               | No       |                                                  | The security context for the Control Center application deployment.                                                                                                                                       |
| `app.replicaCount`                                  | No       | `1`                                              | The number of replicas for the Control Center application.                                                                                                                                                |
| `app.autoscaling.enabled`                           | No       | `false`                                          | Specifies whether `autoscaling` should be enabled for the Control Center application.                                                                                                                     |
| `app.autoscaling.minReplicas`                       | No       | `1`                                              | The minimum number of replicas for the Control Center application.                                                                                                                                        |
| `app.autoscaling.maxReplicas`                       | No       | `100`                                            | The maximum number of replicas for the Control Center application.                                                                                                                                        |
| `app.autoscaling.targetCPUUtilizationPercentage`    | No       | `80`                                             | The target CPU utilization percentage for the Control Center application.                                                                                                                                 |
| `app.autoscaling.targetMemoryUtilizationPercentage` | No       | `90`                                             | The target memory utilization percentage for the Control Center application.                                                                                                                              |
| `app.resources`                                     | No       |                                                  | The resource to allocate for the Control Center application containers.                                                                                                                                   |
| `app.startupProbe.httpGet.path`                     | No       | `/actuator/health`                               | The path to use for the startup probe for the Control Center application.                                                                                                                                 |
| `app.startupProbe.httpGet.port`                     | No       | `http`                                           | The port to use for the startup probe.                                                                                                                                                                    |
| `app.startupProbe.initialDelaySeconds`              | No       | `0`                                              | The initial delay in seconds for the startup probe.                                                                                                                                                       |
| `app.startupProbe.failureThreshold`                 | No       | `30`                                             | The failure threshold for the startup probe. If the probe fails this many times, the container is restarted.                                                                                              |
| `app.livenessProbe.httpGet.path`                    | No       | `/actuator/health/liveness`                      | The path to use for the liveness probe for the Control Center application.                                                                                                                                |
| `app.livenessProbe.httpGet.port`                    | No       | `http`                                           | The port to use for the liveness probe.                                                                                                                                                                   |
| `app.livenessProbe.initialDelaySeconds`             | No       | `0`                                              | The initial delay in seconds for the liveness probe.                                                                                                                                                      |
| `app.livenessProbe.failureThreshold`                | No       | `3`                                              | The failure threshold for the liveness probe. If the probe fails this many times, the container is restarted.                                                                                             |
| `app.readinessProbe.httpGet.path`                   | No       | `/actuator/health/readiness`                     | The path to use for the readiness probe for the Control Center application.                                                                                                                               |
| `app.readinessProbe.httpGet.port`                   | No       | `http`                                           | The port to use for the readiness probe.                                                                                                                                                                  |
| `app.readinessProbe.initialDelaySeconds`            | No       | `0`                                              | The initial delay in seconds for the readiness probe.                                                                                                                                                     |
| `app.readinessProbe.failureThreshold`               | No       | `3`                                              | The failure threshold for the readiness probe.                                                                                                                                                            |
| `app.volumes`                                       | No       |                                                  | The volume definitions for the Control Center application.                                                                                                                                                |
| `app.volumeMounts`                                  | No       |                                                  | The volume mounts for the Control Center application.                                                                                                                                                     |
| `app.nodeSelector`                                  | No       |                                                  | The custom node selectors for the Control Center application.                                                                                                                                             |
| `app.tolerations`                                   | No       |                                                  | The custom `tolerations` for the Control Center application.                                                                                                                                              |
| `app.affinity`                                      | No       |                                                  | The custom affinity for the Control Center application.                                                                                                                                                   |
| `app.service.type`                                  | No       | `ClusterIP`                                      | The type of service to create for the Control Center application.                                                                                                                                         |
| `app.service.port`                                  | No       | `80`                                             | The port to expose for the Control Center application.                                                                                                                                                    |
| `app.service.targetPort`                            | No       | `8080`                                           | The port for the Control Center application containers.                                                                                                                                                   |
| `app.ingress.enabled`                               | No       | `true`                                           | Specifies whether to create an Ingress for the Control Center application.                                                                                                                                |
| `app.ingress.annotations`                           | No       |                                                  | The annotations to add to the Ingress.                                                                                                                                                                    |
| `app.ingress.hosts`                                 | No       |                                                  | The hosts to add to the Ingress. If none is specified, `app.host` is used.                                                                                                                                |
| `app.ingress.tls`                                   | No       |                                                  | The TLS configuration for the Ingress.                                                                                                                                                                    |
| `postgres.replicaCount`                             | No       | `1`                                              | The number of replicas for the PostgreSQL database.                                                                                                                                                       |
| `postgres.storage.size`                             | No       | `1Gi`                                            | The storage size for the PostgreSQL database. <!-- vale Vale.Terms = NO -->                                                                                                                               |
| `keycloak.image.repository`                         | No       | `vaadin/control-center-keycloak`                 | The image repository to use for the Keycloak instance.<!-- vale Vale.Terms = YES -->                                                                                                                      |
| `keycloak.image.tag`                                | No       |                                                  | The image tag to use for the Keycloak instance. If none is specified, the chart’s `appVersion` is used.                                                                                                   |
| `keycloak.resources`                                | No       |                                                  | The resources to allocate for the Keycloak containers.                                                                                                                                                    |
| `keycloak.host`                                     | No       |                                                  | The hosts for the Keycloak instance. If none is specified, `auth.${domain}` is used.                                                                                                                      |
| `keycloak.tlsSecret`                                | No       |                                                  | The name of the secret with the keystore for the Keycloak instance.                                                                                                                                       |
| `acme.enabled`                                      | No       | `false`                                          | Specifies whether to enable ACME for the Ingress. When enabled, certificates are automatically requested from `Let’s Encrypt using CertManager`. This requires public DNS records for the Ingress hosts.  |
| `acme.server`                                       | No       | `https://acme-v02.api.letsencrypt.org/directory` | The ACME server to use.                                                                                                                                                                                   |
| `keycloak-operator.enabled`                         | No       | `true`                                           | Specifies whether to enable the Keycloak Operator. <!-- vale Vale.Terms = NO -->                                                                                                                          |
| `keycloak-operator.image.repository`                | No       | `quay.io/keycloak/keycloak-operator`             | The image repository to use for the Keycloak Operator.<!-- vale Vale.Terms = YES -->                                                                                                                      |
| `cloudnative-pg.enabled`                            | No       | `true`                                           | Specifies whether to enable Cloud Native PostgreSQL Operator.                                                                                                                                             |
| `cloudnative-pg.crds.create`                        | No       | `false`                                          | Specifies whether to create the Custom Resource Definitions (CRD) for the Operator.                                                                                                                       |
| `ingress-nginx.enabled`                             | No       | `true`                                           | Specifies whether to enable the Ingress NGINX Controller.                                                                                                                                                 |
| `ingress-nginx.controller.scope.enabled`            | No       | `true`                                           | Specifies whether to enable the scope for the Ingress NGINX Controller.                                                                                                                                   |
| `cert-manager.enabled`                              | No       | `true`                                           | Specifies whether to enable CertManager.                                                                                                                                                                  |
| `cert-manager.enableCertificateOwnerRef`            | No       | `true`                                           | Specifies whether to enable the certificate owner reference for CertManager.                                                                                                                              |
| `external-dns.enabled`                              | No       | `false`                                          | Specifies whether to enable ExternalDNS                                                                                                                                                                   |
| `external-dns.namespaced`                           | No       | `true`                                           | Specifies whether ExternalDNS should be namespaced.                                                                                                                                                       |
| `external-dns.txtOwnerId`                           | No       | `control-center`                                 | The TXT owner ID for ExternalDNS.                                                                                                                                                                         |
| `external-dns.sources`                              | No       | `[ingress]`                                      | The sources for ExternalDNS.                                                                                                                                                                              |
