|
| 1 | +# Mercator Helm Chart |
| 2 | +## TL;DR |
| 3 | + |
| 4 | +```bash |
| 5 | +helm install mercator . |
| 6 | +``` |
| 7 | + |
| 8 | +## Introduction |
| 9 | + |
| 10 | +This chart bootstraps **Mercator** deployment on a [Kubernetes](https://kubernetes.io/) cluster using the [Helm](https://helm.sh/) package manager. |
| 11 | + |
| 12 | +## Prerequisites |
| 13 | +- Kubernetes 1.23+ |
| 14 | +- Helm 3.8.0+ |
| 15 | + |
| 16 | +## Persistence |
| 17 | +The Mercator chart relies on the PostgreSQL chart persistence. This means that Mercator does not persist anything. |
| 18 | + |
| 19 | +## Parameters |
| 20 | +This part provides an overview of all the configurable parameters used in the `values.yaml` file for deploying the Mercator application using a Helm chart. |
| 21 | + |
| 22 | +### Global parameters |
| 23 | + |
| 24 | +| Parameter | Description | Default Value | |
| 25 | +|------------------------------------------------|------------------------------------------------------------------------------|----------------------------| |
| 26 | +| **replicaCount** | Number of application replicas to deploy. | `1` | |
| 27 | +| **image.repository** | Docker image repository for the Mercator application. | `ghcr.io/dbarzin/mercator` | |
| 28 | +| **image.pullPolicy** | Specifies when to pull the Docker image (`Always`, `IfNotPresent`, `Never`). | `IfNotPresent` | |
| 29 | +| **image.tag** | Tag of the Docker image. | `"latest"` | |
| 30 | +| **imagePullSecrets** | Secrets to use for pulling private Docker images. | `[]` | |
| 31 | +| **serviceAccount.create** | Specifies whether a service account should be created. | `true` | |
| 32 | +| **serviceAccount.automount** | Automatically mount the ServiceAccount’s API credentials. | `true` | |
| 33 | +| **serviceAccount.annotations** | Annotations to add to the service account. | `{}` | |
| 34 | +| **serviceAccount.name** | Name of the service account to use or create. | `""` | |
| 35 | +| **podAnnotations** | Annotations to add to the pod. | `{}` | |
| 36 | +| **podLabels** | Labels to add to the pod. | `{}` | |
| 37 | +| **podSecurityContext** | Security context for the pod. | `{}` | |
| 38 | +| **securityContext** | Security context for the container, e.g., user permissions. | `{}` | |
| 39 | +| **service.type** | Kubernetes service type (`ClusterIP`, `NodePort`, `LoadBalancer`). | `ClusterIP` | |
| 40 | +| **service.port** | Port exposed by the service. | `80` | |
| 41 | +| **ingress.enabled** | Enable or disable ingress resource creation. | `false` | |
| 42 | +| **resources** | Resource limits and requests for the application. | `{}` | |
| 43 | +| **livenessProbe.httpGet.path** | HTTP path for liveness probe. | `/` | |
| 44 | +| **livenessProbe.httpGet.port** | Port for liveness probe. | `http` | |
| 45 | +| **readinessProbe.httpGet.path** | HTTP path for readiness probe. | `/` | |
| 46 | +| **readinessProbe.httpGet.port** | Port for readiness probe. | `http` | |
| 47 | +| **autoscaling.enabled** | Enable or disable horizontal pod autoscaling. | `false` | |
| 48 | +| **autoscaling.minReplicas** | Minimum number of replicas for autoscaling. | `1` | |
| 49 | +| **autoscaling.maxReplicas** | Maximum number of replicas for autoscaling. | `100` | |
| 50 | +| **autoscaling.targetCPUUtilizationPercentage** | Target CPU utilization for autoscaling. | `80` | |
| 51 | +| **volumes** | Additional volumes for the deployment. | `[]` | |
| 52 | +| **volumeMounts** | Additional volume mounts for the deployment. | `[]` | |
| 53 | +| **nodeSelector** | Node selector for scheduling pods. | `{}` | |
| 54 | +| **tolerations** | Tolerations for scheduling pods. | `[]` | |
| 55 | +| **affinity** | Affinity rules for scheduling pods. | `{}` | |
| 56 | + |
| 57 | +### Mercator parameters |
| 58 | + |
| 59 | +| Parameter | Description | Default Value | |
| 60 | +|--------------------------------------------|------------------------------------------------------------------------------|------------------------------| |
| 61 | +| **debug** | Enable debug mode for the application. | `false` | |
| 62 | +| **environment** | Environment to deploy (`development`, `production`). | `"development"` | |
| 63 | +| **key** | Secret key for the application. | `""` | |
| 64 | +| **reverse_proxy** | URL for the reverse proxy used by the application. | `"http://localhost"` | |
| 65 | +| **use_demo_data** | Specify if demo data should be used (1 for true, 0 for false). | `1` | |
| 66 | + |
| 67 | +### Mercator LDAP parameters |
| 68 | + |
| 69 | +| Parameter | Description | Default Value | |
| 70 | +|--------------------------------------------|------------------------------------------------------------------------------|------------------------------| |
| 71 | +| **ldap.enabled** | Enable or disable LDAP integration. | `false` | |
| 72 | +| **ldap.type** | Type of LDAP server (e.g., Active Directory). | `"AD"` | |
| 73 | +| **ldap.host** | LDAP server host. | `"127.0.0.1"` | |
| 74 | +| **ldap.username** | LDAP bind user credentials. | `"cn=user,dc=local,dc=com"` | |
| 75 | +| **ldap.password** | Password for the LDAP bind user. | `"secret"` | |
| 76 | +| **ldap.base_dn** | Base DN for LDAP queries. | `"dc=local,dc=com"` | |
| 77 | +| **ldap.service.number** | LDAP service port number. | `"389"` | |
| 78 | +| **ldap.scope** | Scope for LDAP queries. | `"ou=Accounting,dc=com"` | |
| 79 | + |
| 80 | +### Mercator SMTP parameters |
| 81 | +| Parameter | Description | Default Value | |
| 82 | +|--------------------------------------------|------------------------------------------------------------------------------|------------------------------| |
| 83 | +| **smtp.host** | SMTP server host for sending emails. | `"smtp.mailtrap.io"` | |
| 84 | +| **smtp.port** | SMTP server port. | `"25"` | |
| 85 | +| **smtp.username** | SMTP username for authentication. | `""` | |
| 86 | +| **smtp.password** | SMTP password for authentication. | `""` | |
| 87 | + |
| 88 | +### Mercator AWS parameters |
| 89 | +| Parameter | Description | Default Value | |
| 90 | +|--------------------------------------------|------------------------------------------------------------------------------|------------------------------| |
| 91 | +| **aws.access_key_id** | AWS access key ID. | `""` | |
| 92 | +| **aws.secret_access_key** | AWS secret access key. | `""` | |
| 93 | +| **aws.default_region** | Default AWS region. | `"us-east-1"` | |
| 94 | +| **aws.bucket** | AWS S3 bucket name. | `""` | |
| 95 | + |
| 96 | +### Mercator PUSHER parameters |
| 97 | +| Parameter | Description | Default Value | |
| 98 | +|--------------------------------------------|------------------------------------------------------------------------------|------------------------------| |
| 99 | +| **pusher.app_id** | Pusher app ID. | `""` | |
| 100 | +| **pusher.app_key** | Pusher app key. | `""` | |
| 101 | +| **pusher.app_secret** | Pusher app secret. | `""` | |
| 102 | + |
| 103 | +### Mercator KEYCLOAK parameters |
| 104 | +| Parameter | Description | Default Value | |
| 105 | +|--------------------------------------------|------------------------------------------------------------------------------|------------------------------| |
| 106 | +| **keycloak.enabled** | Enable or disable Keycloak integration. | `false` | |
| 107 | +| **keycloak.client_id** | Keycloak client ID. | `""` | |
| 108 | +| **keycloak.client_secret** | Keycloak client secret. | `""` | |
| 109 | +| **keycloak.redirect_uri** | Redirect URI for Keycloak integration. | `""` | |
| 110 | +| **keycloak.base_url** | Base URL of Keycloak server. | `""` | |
| 111 | +| **keycloak.realm** | Keycloak realm name. | `""` | |
| 112 | + |
| 113 | +### Mercator database parameters |
| 114 | + |
| 115 | +| Parameter | Description | Default Value | |
| 116 | +|--------------------------------------------|------------------------------------------------------------------------------|------------------------------| |
| 117 | +| **secret.postgres.postgresPassword** | PostgreSQL password for the application. | `"2ù_-qeeYT21!8zA2~"` | |
| 118 | +| **postgresql.enabled** | Enable or disable PostgreSQL deployment. | `true` | |
| 119 | +| **postgresql.auth.username** | PostgreSQL username for authentication. | `"mercator_user"` | |
| 120 | +| **postgresql.auth.database** | PostgreSQL database name. | `"mercator"` | |
| 121 | +| **redis.enabled** | Enable or disable Redis deployment. | `true` | |
| 122 | +| **redis.auth.enabled** | Enable or disable Redis authentication. | `true` | |
| 123 | +| **redis.auth.password** | Password for Redis authentication. |
0 commit comments