Expand chart documentation, fix HPA definition.
This commit is contained in:
parent
1f070ff180
commit
6674bf139b
|
@ -1,39 +1,193 @@
|
||||||
# Budibase
|
# budibase
|
||||||
|
|
||||||
[Budibase](https://budibase.com/) Budibase is an open source low-code platform, helping thousands of teams build apps for their workplace in minutes.
|
Budibase is an open source low-code platform, helping thousands of teams build apps for their workplace in minutes.
|
||||||
|
|
||||||
## TL;DR;
|
|
||||||
```console
|
|
||||||
$ cd chart
|
|
||||||
$ helm install budibase .
|
|
||||||
```
|
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
This chart bootstraps a [Budibase](https://budibase.com/) deployment on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
|
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
- helm v3 or above
|
- `helm` v3 or above
|
||||||
- Kubernetes 1.4+
|
- Kubernetes 1.4+
|
||||||
- PV provisioner support in the underlying infrastructure (with persistence storage enabled)
|
- A storage controller (for `PersistentVolume` creation, if you want to ensure your data does not get lost when pods restart)
|
||||||
|
|
||||||
## Installing the Chart
|
## Installing the Chart
|
||||||
|
|
||||||
To install the chart with the release name `budi-release`:
|
To install the chart from our repository:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
$ helm install budi-release .
|
$ helm repo add budibase https://budibase.github.io/budibase/
|
||||||
|
$ helm repo update
|
||||||
|
$ helm install --create-namespace --namespace budibase budibase budibase/budibase
|
||||||
```
|
```
|
||||||
|
|
||||||
The command deploys Budibase on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation.
|
To install the chart from this repo:
|
||||||
|
|
||||||
> **Tip**: List all releases using `helm list`
|
```console
|
||||||
|
$ git clone git@github.com:budibase/budibase.git
|
||||||
|
$ cd budibase/charts/budibase
|
||||||
|
$ helm install --create-namespace --namespace budibase budibase .
|
||||||
|
```
|
||||||
|
|
||||||
|
## Example minimal configuration
|
||||||
|
|
||||||
|
Here's an example `values.yaml` that would get a Budibase instance running in a home
|
||||||
|
cluster using an nginx ingress controller and NFS as cluster storage (basically one of our
|
||||||
|
staff's homelabs).
|
||||||
|
|
||||||
|
<details>
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
ingress:
|
||||||
|
enabled: true
|
||||||
|
annotations:
|
||||||
|
nginx.ingress.kubernetes.io/client-max-body-size: 150M
|
||||||
|
nginx.ingress.kubernetes.io/proxy-body-size: 50m
|
||||||
|
className: "nginx"
|
||||||
|
hosts:
|
||||||
|
- host: budibase.local # set this to whatever DNS name you'd use
|
||||||
|
paths:
|
||||||
|
- backend:
|
||||||
|
service:
|
||||||
|
name: proxy-service
|
||||||
|
port:
|
||||||
|
number: 10000
|
||||||
|
path: /
|
||||||
|
pathType: Prefix
|
||||||
|
|
||||||
|
couchdb:
|
||||||
|
persistentVolume:
|
||||||
|
enabled: true
|
||||||
|
storageClass: "nfs-client"
|
||||||
|
adminPassword: admin
|
||||||
|
|
||||||
|
image:
|
||||||
|
repository: samwho/test
|
||||||
|
tag: latest
|
||||||
|
pullPolicy: Always
|
||||||
|
|
||||||
|
objectStore:
|
||||||
|
storageClass: "nfs-client"
|
||||||
|
redis:
|
||||||
|
storageClass: "nfs-client"
|
||||||
|
```
|
||||||
|
|
||||||
|
If you wanted to use this when bringing up Budibase in your own cluster, you could save it
|
||||||
|
to your hard disk and run the following:
|
||||||
|
|
||||||
|
```console
|
||||||
|
$ helm install --create-namespace --namespace budibase budibase . -f values.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
## Configuration reference
|
||||||
|
|
||||||
|
| Key | Type | Default | Description |
|
||||||
|
|-----|------|---------|-------------|
|
||||||
|
| affinity | object | `{}` | Sets the affinity for all pods created by this chart. Should not ordinarily need to be changed. See <https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/> for more information on affinity. |
|
||||||
|
| awsAlbIngress.certificateArn | string | `""` | If you're wanting to use HTTPS, you'll need to create an ACM certificate and specify the ARN here. |
|
||||||
|
| awsAlbIngress.enabled | bool | `false` | Whether to create an ALB Ingress resource pointing to the Budibase proxy. Requires the AWS ALB Ingress Controller. |
|
||||||
|
| couchdb.clusterSize | int | `1` | The number of replicas to run in the CouchDB cluster. We set this to 1 by default to make things simpler, but you can set it to 3 if you need a high-availability CouchDB cluster. |
|
||||||
|
| couchdb.couchdbConfig.couchdb.uuid | string | `"budibase-couchdb"` | Unique identifier for this CouchDB server instance. You shouldn't need to change this. |
|
||||||
|
| couchdb.image | object | `{}` | We use a custom CouchDB image for running Budibase and we don't support using any other CouchDB image. You shouldn't change this, and if you do we can't guarantee that Budibase will work. |
|
||||||
|
| globals.apiEncryptionKey | string | `""` | Used for encrypting API keys and environment variables when stored in the database. You don't need to set this if `createSecrets` is true. |
|
||||||
|
| globals.appVersion | string | `""` | The version of Budibase to deploy. Defaults to what's specified by {{ .Chart.AppVersion }}. Ends up being used as the image version tag for the apps, proxy, and worker images. |
|
||||||
|
| globals.automationMaxIterations | string | `"200"` | The maximum number of iterations allows for an automation loop step. You can read more about looping here: <https://docs.budibase.com/docs/looping>. |
|
||||||
|
| globals.budibaseEnv | string | `"PRODUCTION"` | Sets the environment variable BUDIBASE_ENVIRONMENT for the apps and worker pods. Should not ordinarily need to be changed. |
|
||||||
|
| globals.cookieDomain | string | `""` | Sets the domain attribute of the cookie that Budibase uses to store session information. See <https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#define_where_cookies_are_sent> for details on why you might want to set this. |
|
||||||
|
| globals.createSecrets | bool | `true` | Create an internal API key, JWT secret, object store access key and secret, and store them in a Kubernetes `Secret`. |
|
||||||
|
| globals.enableAnalytics | string | `"1"` | Whether to enable analytics or not. You can read more about our analytics here: <https://docs.budibase.com/docs/analytics>. |
|
||||||
|
| globals.google | object | `{"clientId":"","secret":""}` | Google OAuth settings. These can also be set in the Budibase UI, see <https://docs.budibase.com/docs/sso-with-google> for details. |
|
||||||
|
| globals.google.clientId | string | `""` | Client ID of your Google OAuth app. |
|
||||||
|
| globals.google.secret | string | `""` | Client secret of your Google OAuth app. |
|
||||||
|
| globals.httpMigrations | string | `"0"` | Whether or not to enable doing data migrations over the HTTP API. If this is set to "0", migrations are run on startup. You shouldn't ordinarily need to change this. |
|
||||||
|
| globals.internalApiKey | string | `""` | API key used for internal Budibase API calls. You don't need to set this if `createSecrets` is true. |
|
||||||
|
| globals.internalApiKeyFallback | string | `""` | A fallback value for `internalApiKey`. If you're rotating your encryption key, you can set this to the old value for the duration of the rotation. |
|
||||||
|
| globals.jwtSecret | string | `""` | Secret used for signing JWTs. You don't need to set this if `createSecrets` is true. |
|
||||||
|
| globals.jwtSecretFallback | string | `""` | A fallback value for `jwtSecret`. If you're rotating your JWT secret, you can set this to the old value for the duration of the rotation. |
|
||||||
|
| globals.multiTenancy | string | `"0"` | Whether to enable the multi-tenancy feature or not. "0" means an installation can only have one tenant. "1" allows multiple tenants. |
|
||||||
|
| globals.platformUrl | string | `""` | Set the `platformUrl` binding. You can also do this in Settings > Organisation if you are self-hosting. |
|
||||||
|
| globals.smtp.enabled | bool | `false` | Whether to enable SMTP or not. |
|
||||||
|
| globals.smtp.from | string | `""` | The email address to use in the "From:" field of emails sent by Budibase. |
|
||||||
|
| globals.smtp.host | string | `""` | The hostname of your SMTP server. |
|
||||||
|
| globals.smtp.password | string | `""` | The password to use when authenticating with your SMTP server. |
|
||||||
|
| globals.smtp.port | string | `"587"` | The port of your SMTP server. |
|
||||||
|
| globals.smtp.user | string | `""` | The username to use when authenticating with your SMTP server. |
|
||||||
|
| globals.tenantFeatureFlags | string | `"*:LICENSING,*:USER_GROUPS,*:ONBOARDING_TOUR"` | Sets what feature flags are enabled and for which tenants. Should not ordinarily need to be changed. |
|
||||||
|
| imagePullSecrets | list | `[]` | Passed to all pods created by this chart. Should not ordinarily need to be changed. |
|
||||||
|
| ingress.className | string | `""` | What ingress class to use. |
|
||||||
|
| ingress.enabled | bool | `true` | Whether to create an Ingress resource pointing to the Budibase proxy. |
|
||||||
|
| ingress.hosts | list | `[]` | Standard hosts block for the Ingress resource. Defaults to pointing to the Budibase proxy. |
|
||||||
|
| nameOverride | string | `""` | Override the name of the deploymen. Defaults to {{ .Chart.Name }}. |
|
||||||
|
| service.port | int | `10000` | Port to expose on the service. |
|
||||||
|
| service.type | string | `"ClusterIP"` | Service type for the service that points to the main Budibase proxy pod. |
|
||||||
|
| serviceAccount.annotations | object | `{}` | Annotations to add to the service account |
|
||||||
|
| serviceAccount.create | bool | `true` | Specifies whether a service account should be created |
|
||||||
|
| serviceAccount.name | string | `""` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template |
|
||||||
|
| services.apps.autoscaling.enabled | bool | `false` | Whether to enable horizontal pod autoscaling for the apps service. |
|
||||||
|
| services.apps.autoscaling.maxReplicas | int | `10` | |
|
||||||
|
| services.apps.autoscaling.minReplicas | int | `1` | |
|
||||||
|
| services.apps.autoscaling.targetCPUUtilizationPercentage | int | `80` | Target CPU utilization percentage for the apps service. Note that for autoscaling to work, you will need to have metrics-server configured, and resources set for the apps pods. |
|
||||||
|
| services.apps.httpLogging | int | `1` | Whether or not to log HTTP requests to the apps service. |
|
||||||
|
| services.apps.livenessProbe | object | HTTP health checks. | Liveness probe configuration for apps pods. You shouldn't need to change this, but if you want to you can find more information here: <https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/> |
|
||||||
|
| services.apps.logLevel | string | `"info"` | The log level for the apps service. |
|
||||||
|
| services.apps.readinessProbe | object | HTTP health checks. | Readiness probe configuration for apps pods. You shouldn't need to change this, but if you want to you can find more information here: <https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/> |
|
||||||
|
| services.apps.replicaCount | int | `1` | The number of apps replicas to run. |
|
||||||
|
| services.apps.resources | object | `{}` | The resources to use for apps pods. See <https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/> for more information on how to set these. |
|
||||||
|
| services.apps.startupProbe | object | HTTP health checks. | Startup probe configuration for apps pods. You shouldn't need to change this, but if you want to you can find more information here: <https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/> |
|
||||||
|
| services.couchdb.backup.enabled | bool | `false` | Whether or not to enable periodic CouchDB backups. This works by replicating to another CouchDB instance. |
|
||||||
|
| services.couchdb.backup.interval | string | `""` | Backup interval in seconds |
|
||||||
|
| services.couchdb.backup.resources | object | `{}` | The resources to use for CouchDB backup pods. See <https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/> for more information on how to set these. |
|
||||||
|
| services.couchdb.backup.target | string | `""` | Target couchDB instance to back up to, either a hostname or an IP address. |
|
||||||
|
| services.couchdb.enabled | bool | `true` | Whether or not to spin up a CouchDB instance in your cluster. True by default, and the configuration for the CouchDB instance is under the `couchdb` key at the root of this file. You can see what options are available to you by looking at the official CouchDB Helm chart: <https://github.com/apache/couchdb-helm/tree/couchdb-4.3.0/couchdb>. |
|
||||||
|
| services.couchdb.port | int | `5984` | |
|
||||||
|
| services.dns | string | `"cluster.local"` | The DNS suffix to use for service discovery. You only need to change this if you've configured your cluster to use a different DNS suffix. |
|
||||||
|
| services.objectStore.accessKey | string | `""` | AWS_ACCESS_KEY if using S3 |
|
||||||
|
| services.objectStore.browser | bool | `true` | Whether to enable the Minio web console or not. If you're exposing Minio to the Internet (via a custom Ingress record, for example), you should set this to false. If you're only exposing Minio to your cluster, you can leave this as true. |
|
||||||
|
| services.objectStore.cloudfront.cdn | string | `""` | Set the url of a distribution to enable cloudfront. |
|
||||||
|
| services.objectStore.cloudfront.privateKey64 | string | `""` | Base64 encoded private key for the above public key. |
|
||||||
|
| services.objectStore.cloudfront.publicKeyId | string | `""` | ID of public key stored in cloudfront. |
|
||||||
|
| services.objectStore.minio | bool | `true` | Set to false if using another object store, such as S3. You will need to set `services.objectStore.url` to point to your bucket if you do this. |
|
||||||
|
| services.objectStore.region | string | `""` | AWS_REGION if using S3 |
|
||||||
|
| services.objectStore.resources | object | `{}` | The resources to use for Minio pods. See <https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/> for more information on how to set these. |
|
||||||
|
| services.objectStore.secretKey | string | `""` | AWS_SECRET_ACCESS_KEY if using S3 |
|
||||||
|
| services.objectStore.storage | string | `"100Mi"` | How much storage to give Minio in its PersistentVolumeClaim. |
|
||||||
|
| services.objectStore.storageClass | string | `""` | If defined, storageClassName: <storageClass> If set to "-", storageClassName: "", which disables dynamic provisioning If undefined (the default) or set to null, no storageClassName spec is set, choosing the default provisioner. |
|
||||||
|
| services.objectStore.url | string | `"http://minio-service:9000"` | URL to use for object storage. Only change this if you're using an external object store, such as S3. Remember to set `minio: false` if you do this. |
|
||||||
|
| services.proxy.autoscaling.enabled | bool | `false` | Whether to enable horizontal pod autoscaling for the proxy service. |
|
||||||
|
| services.proxy.autoscaling.maxReplicas | int | `10` | |
|
||||||
|
| services.proxy.autoscaling.minReplicas | int | `1` | |
|
||||||
|
| services.proxy.autoscaling.targetCPUUtilizationPercentage | int | `80` | Target CPU utilization percentage for the proxy service. Note that for autoscaling to work, you will need to have metrics-server configured, and resources set for the proxy pods. |
|
||||||
|
| services.proxy.livenessProbe | object | HTTP health checks. | Liveness probe configuration for proxy pods. You shouldn't need to change this, but if you want to you can find more information here: <https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/> |
|
||||||
|
| services.proxy.readinessProbe | object | HTTP health checks. | Readiness probe configuration for proxy pods. You shouldn't need to change this, but if you want to you can find more information here: <https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/> |
|
||||||
|
| services.proxy.replicaCount | int | `1` | The number of proxy replicas to run. |
|
||||||
|
| services.proxy.resources | object | `{}` | The resources to use for proxy pods. See <https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/> for more information on how to set these. |
|
||||||
|
| services.proxy.startupProbe | object | HTTP health checks. | Startup probe configuration for proxy pods. You shouldn't need to change this, but if you want to you can find more information here: <https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/> |
|
||||||
|
| services.redis.enabled | bool | `true` | Whether or not to deploy a Redis pod into your cluster. |
|
||||||
|
| services.redis.password | string | `"budibase"` | The password to use when connecting to Redis. It's recommended that you change this from the default if you're running Redis in-cluster. |
|
||||||
|
| services.redis.port | int | `6379` | Port to expose Redis on. |
|
||||||
|
| services.redis.resources | object | `{}` | The resources to use for Redis pods. See <https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/> for more information on how to set these. |
|
||||||
|
| services.redis.storage | string | `"100Mi"` | How much persistent storage to allocate to Redis. |
|
||||||
|
| services.redis.storageClass | string | `""` | If defined, storageClassName: <storageClass> If set to "-", storageClassName: "", which disables dynamic provisioning If undefined (the default) or set to null, no storageClassName spec is set, choosing the default provisioner. |
|
||||||
|
| services.redis.url | string | `""` | If you choose to run Redis externally to this chart, you can specify the connection details here. |
|
||||||
|
| services.worker.autoscaling.enabled | bool | `false` | Whether to enable horizontal pod autoscaling for the worker service. |
|
||||||
|
| services.worker.autoscaling.maxReplicas | int | `10` | |
|
||||||
|
| services.worker.autoscaling.minReplicas | int | `1` | |
|
||||||
|
| services.worker.autoscaling.targetCPUUtilizationPercentage | int | `80` | Target CPU utilization percentage for the worker service. Note that for autoscaling to work, you will need to have metrics-server configured, and resources set for the worker pods. |
|
||||||
|
| services.worker.httpLogging | int | `1` | Whether or not to log HTTP requests to the worker service. |
|
||||||
|
| services.worker.livenessProbe | object | HTTP health checks. | Liveness probe configuration for worker pods. You shouldn't need to change this, but if you want to you can find more information here: <https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/> |
|
||||||
|
| services.worker.logLevel | string | `"info"` | The log level for the worker service. |
|
||||||
|
| services.worker.readinessProbe | object | HTTP health checks. | Readiness probe configuration for worker pods. You shouldn't need to change this, but if you want to you can find more information here: <https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/> |
|
||||||
|
| services.worker.replicaCount | int | `1` | The number of worker replicas to run. |
|
||||||
|
| services.worker.resources | object | `{}` | The resources to use for worker pods. See <https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/> for more information on how to set these. |
|
||||||
|
| services.worker.startupProbe | object | HTTP health checks. | Startup probe configuration for worker pods. You shouldn't need to change this, but if you want to you can find more information here: <https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/> |
|
||||||
|
| tolerations | list | `[]` | Sets the tolerations for all pods created by this chart. Should not ordinarily need to be changed. See <https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/> for more information on tolerations. |
|
||||||
|
|
||||||
## Uninstalling the Chart
|
## Uninstalling the Chart
|
||||||
|
|
||||||
To uninstall/delete the `my-release` deployment:
|
To uninstall the chart, assuming you named the release `budibase` (both commands in the installation section do so):
|
||||||
|
|
||||||
```console
|
```console
|
||||||
$ helm delete my-release
|
$ helm uninstall --namespace budibase budibase
|
||||||
```
|
```
|
||||||
|
|
||||||
|
----------------------------------------------
|
||||||
|
Autogenerated from chart metadata using [helm-docs v1.11.3](https://github.com/norwoodj/helm-docs/releases/v1.11.3)
|
||||||
|
|
|
@ -0,0 +1,92 @@
|
||||||
|
{{ template "chart.header" . }}
|
||||||
|
{{ template "chart.description" . }}
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
- `helm` v3 or above
|
||||||
|
- Kubernetes 1.4+
|
||||||
|
- A storage controller (for `PersistentVolume` creation, if you want to ensure your data does not get lost when pods restart)
|
||||||
|
|
||||||
|
## Installing the Chart
|
||||||
|
|
||||||
|
To install the chart from our repository:
|
||||||
|
|
||||||
|
```console
|
||||||
|
$ helm repo add budibase https://budibase.github.io/budibase/
|
||||||
|
$ helm repo update
|
||||||
|
$ helm install --create-namespace --namespace budibase budibase budibase/budibase
|
||||||
|
```
|
||||||
|
|
||||||
|
To install the chart from this repo:
|
||||||
|
|
||||||
|
```console
|
||||||
|
$ git clone git@github.com:budibase/budibase.git
|
||||||
|
$ cd budibase/charts/budibase
|
||||||
|
$ helm install --create-namespace --namespace budibase budibase .
|
||||||
|
```
|
||||||
|
|
||||||
|
## Example minimal configuration
|
||||||
|
|
||||||
|
Here's an example `values.yaml` that would get a Budibase instance running in a home
|
||||||
|
cluster using an nginx ingress controller and NFS as cluster storage (basically one of our
|
||||||
|
staff's homelabs).
|
||||||
|
|
||||||
|
<details>
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
ingress:
|
||||||
|
enabled: true
|
||||||
|
annotations:
|
||||||
|
nginx.ingress.kubernetes.io/client-max-body-size: 150M
|
||||||
|
nginx.ingress.kubernetes.io/proxy-body-size: 50m
|
||||||
|
className: "nginx"
|
||||||
|
hosts:
|
||||||
|
- host: budibase.local # set this to whatever DNS name you'd use
|
||||||
|
paths:
|
||||||
|
- backend:
|
||||||
|
service:
|
||||||
|
name: proxy-service
|
||||||
|
port:
|
||||||
|
number: 10000
|
||||||
|
path: /
|
||||||
|
pathType: Prefix
|
||||||
|
|
||||||
|
couchdb:
|
||||||
|
persistentVolume:
|
||||||
|
enabled: true
|
||||||
|
storageClass: "nfs-client"
|
||||||
|
adminPassword: admin
|
||||||
|
|
||||||
|
image:
|
||||||
|
repository: samwho/test
|
||||||
|
tag: latest
|
||||||
|
pullPolicy: Always
|
||||||
|
|
||||||
|
objectStore:
|
||||||
|
storageClass: "nfs-client"
|
||||||
|
redis:
|
||||||
|
storageClass: "nfs-client"
|
||||||
|
```
|
||||||
|
|
||||||
|
If you wanted to use this when bringing up Budibase in your own cluster, you could save it
|
||||||
|
to your hard disk and run the following:
|
||||||
|
|
||||||
|
```console
|
||||||
|
$ helm install --create-namespace --namespace budibase budibase . -f values.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
## Configuration reference
|
||||||
|
|
||||||
|
{{ template "chart.valuesTable" . }}
|
||||||
|
|
||||||
|
## Uninstalling the Chart
|
||||||
|
|
||||||
|
To uninstall the chart, assuming you named the release `budibase` (both commands in the installation section do so):
|
||||||
|
|
||||||
|
```console
|
||||||
|
$ helm uninstall --namespace budibase budibase
|
||||||
|
```
|
||||||
|
|
||||||
|
{{ template "helm-docs.versionFooter" . }}
|
|
@ -0,0 +1,32 @@
|
||||||
|
{{- if .Values.services.apps.autoscaling.enabled }}
|
||||||
|
apiVersion: {{ ternary "autoscaling/v2" "autoscaling/v2beta2" (.Capabilities.APIVersions.Has "autoscaling/v2") }}
|
||||||
|
kind: HorizontalPodAutoscaler
|
||||||
|
metadata:
|
||||||
|
name: {{ include "budibase.fullname" . }}-apps
|
||||||
|
labels:
|
||||||
|
{{- include "budibase.labels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
scaleTargetRef:
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
name: app-service
|
||||||
|
minReplicas: {{ .Values.services.apps.autoscaling.minReplicas }}
|
||||||
|
maxReplicas: {{ .Values.services.apps.autoscaling.maxReplicas }}
|
||||||
|
metrics:
|
||||||
|
{{- if .Values.services.apps.autoscaling.targetCPUUtilizationPercentage }}
|
||||||
|
- type: Resource
|
||||||
|
resource:
|
||||||
|
name: cpu
|
||||||
|
target:
|
||||||
|
type: Utilization
|
||||||
|
averageUtilization: {{ .Values.services.apps.autoscaling.targetCPUUtilizationPercentage }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.services.apps.autoscaling.targetMemoryUtilizationPercentage }}
|
||||||
|
- type: Resource
|
||||||
|
resource:
|
||||||
|
name: memory
|
||||||
|
target:
|
||||||
|
type: Utilization
|
||||||
|
averageUtilization: {{ .Values.services.apps.autoscaling.targetMemoryUtilizationPercentage }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
|
@ -1,28 +0,0 @@
|
||||||
{{- if .Values.autoscaling.enabled }}
|
|
||||||
apiVersion: autoscaling/v2beta1
|
|
||||||
kind: HorizontalPodAutoscaler
|
|
||||||
metadata:
|
|
||||||
name: {{ include "budibase.fullname" . }}
|
|
||||||
labels:
|
|
||||||
{{- include "budibase.labels" . | nindent 4 }}
|
|
||||||
spec:
|
|
||||||
scaleTargetRef:
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
name: {{ include "budibase.fullname" . }}
|
|
||||||
minReplicas: {{ .Values.autoscaling.minReplicas }}
|
|
||||||
maxReplicas: {{ .Values.autoscaling.maxReplicas }}
|
|
||||||
metrics:
|
|
||||||
{{- if .Values.autoscaling.targetCPUUtilizationPercentage }}
|
|
||||||
- type: Resource
|
|
||||||
resource:
|
|
||||||
name: cpu
|
|
||||||
targetAverageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.autoscaling.targetMemoryUtilizationPercentage }}
|
|
||||||
- type: Resource
|
|
||||||
resource:
|
|
||||||
name: memory
|
|
||||||
targetAverageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
{{- if .Values.services.proxy.autoscaling.enabled }}
|
||||||
|
apiVersion: {{ ternary "autoscaling/v2" "autoscaling/v2beta2" (.Capabilities.APIVersions.Has "autoscaling/v2") }}
|
||||||
|
kind: HorizontalPodAutoscaler
|
||||||
|
metadata:
|
||||||
|
name: {{ include "budibase.fullname" . }}-proxy
|
||||||
|
labels:
|
||||||
|
{{- include "budibase.labels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
scaleTargetRef:
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
name: proxy-service
|
||||||
|
minReplicas: {{ .Values.services.proxy.autoscaling.minReplicas }}
|
||||||
|
maxReplicas: {{ .Values.services.proxy.autoscaling.maxReplicas }}
|
||||||
|
metrics:
|
||||||
|
{{- if .Values.services.proxy.autoscaling.targetCPUUtilizationPercentage }}
|
||||||
|
- type: Resource
|
||||||
|
resource:
|
||||||
|
name: cpu
|
||||||
|
target:
|
||||||
|
type: Utilization
|
||||||
|
averageUtilization: {{ .Values.services.proxy.autoscaling.targetCPUUtilizationPercentage }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.services.proxy.autoscaling.targetMemoryUtilizationPercentage }}
|
||||||
|
- type: Resource
|
||||||
|
resource:
|
||||||
|
name: memory
|
||||||
|
target:
|
||||||
|
type: Utilization
|
||||||
|
averageUtilization: {{ .Values.services.proxy.autoscaling.targetMemoryUtilizationPercentage }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,32 @@
|
||||||
|
{{- if .Values.services.worker.autoscaling.enabled }}
|
||||||
|
apiVersion: {{ ternary "autoscaling/v2" "autoscaling/v2beta2" (.Capabilities.APIVersions.Has "autoscaling/v2") }}
|
||||||
|
kind: HorizontalPodAutoscaler
|
||||||
|
metadata:
|
||||||
|
name: {{ include "budibase.fullname" . }}-worker
|
||||||
|
labels:
|
||||||
|
{{- include "budibase.labels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
scaleTargetRef:
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
name: worker-service
|
||||||
|
minReplicas: {{ .Values.services.worker.autoscaling.minReplicas }}
|
||||||
|
maxReplicas: {{ .Values.services.worker.autoscaling.maxReplicas }}
|
||||||
|
metrics:
|
||||||
|
{{- if .Values.services.worker.autoscaling.targetCPUUtilizationPercentage }}
|
||||||
|
- type: Resource
|
||||||
|
resource:
|
||||||
|
name: cpu
|
||||||
|
target:
|
||||||
|
type: Utilization
|
||||||
|
averageUtilization: {{ .Values.services.worker.autoscaling.targetCPUUtilizationPercentage }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.services.worker.autoscaling.targetMemoryUtilizationPercentage }}
|
||||||
|
- type: Resource
|
||||||
|
resource:
|
||||||
|
name: memory
|
||||||
|
target:
|
||||||
|
type: Utilization
|
||||||
|
averageUtilization: {{ .Values.services.worker.autoscaling.targetMemoryUtilizationPercentage }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
|
@ -1,47 +1,32 @@
|
||||||
# Default values for budibase.
|
# -- Passed to all pods created by this chart. Should not ordinarily need to be changed.
|
||||||
# This is a YAML-formatted file.
|
|
||||||
# Declare variables to be passed into your templates.
|
|
||||||
|
|
||||||
imagePullSecrets: []
|
imagePullSecrets: []
|
||||||
|
# -- Override the name of the deploymen. Defaults to {{ .Chart.Name }}.
|
||||||
nameOverride: ""
|
nameOverride: ""
|
||||||
# fullnameOverride: ""
|
|
||||||
|
|
||||||
serviceAccount:
|
serviceAccount:
|
||||||
# Specifies whether a service account should be created
|
# -- Specifies whether a service account should be created
|
||||||
create: true
|
create: true
|
||||||
# Annotations to add to the service account
|
# -- Annotations to add to the service account
|
||||||
annotations: {}
|
annotations: {}
|
||||||
# The name of the service account to use.
|
# -- The name of the service account to use.
|
||||||
# If not set and create is true, a name is generated using the fullname template
|
# If not set and create is true, a name is generated using the fullname template
|
||||||
name: ""
|
name: ""
|
||||||
|
|
||||||
podAnnotations: {}
|
|
||||||
|
|
||||||
podSecurityContext:
|
|
||||||
{}
|
|
||||||
# fsGroup: 2000
|
|
||||||
|
|
||||||
securityContext:
|
|
||||||
{}
|
|
||||||
# capabilities:
|
|
||||||
# drop:
|
|
||||||
# - ALL
|
|
||||||
# readOnlyRootFilesystem: true
|
|
||||||
# runAsNonRoot: true
|
|
||||||
# runAsUser: 1000
|
|
||||||
|
|
||||||
service:
|
service:
|
||||||
|
# -- Service type for the service that points to the main Budibase proxy pod.
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
|
# -- Port to expose on the service.
|
||||||
port: 10000
|
port: 10000
|
||||||
|
|
||||||
ingress:
|
ingress:
|
||||||
|
# -- Whether to create an Ingress resource pointing to the Budibase proxy.
|
||||||
enabled: true
|
enabled: true
|
||||||
|
# -- What ingress class to use.
|
||||||
className: ""
|
className: ""
|
||||||
annotations:
|
# -- Standard hosts block for the Ingress resource. Defaults to pointing to the Budibase proxy.
|
||||||
# nginx.ingress.kubernetes.io/client-max-body-size: 150M
|
|
||||||
# nginx.ingress.kubernetes.io/proxy-body-size: 50m
|
|
||||||
hosts:
|
hosts:
|
||||||
- host: # change if using custom domain
|
# @ignore
|
||||||
|
- host:
|
||||||
paths:
|
paths:
|
||||||
- path: /
|
- path: /
|
||||||
pathType: Prefix
|
pathType: Prefix
|
||||||
|
@ -52,473 +37,426 @@ ingress:
|
||||||
number: 10000
|
number: 10000
|
||||||
|
|
||||||
awsAlbIngress:
|
awsAlbIngress:
|
||||||
|
# -- Whether to create an ALB Ingress resource pointing to the Budibase proxy. Requires the AWS ALB Ingress Controller.
|
||||||
enabled: false
|
enabled: false
|
||||||
|
# -- If you're wanting to use HTTPS, you'll need to create an ACM certificate and specify the ARN here.
|
||||||
certificateArn: ""
|
certificateArn: ""
|
||||||
|
|
||||||
autoscaling:
|
# -- Sets the tolerations for all pods created by this chart. Should not ordinarily need to be changed.
|
||||||
enabled: false
|
# See <https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/> for more information
|
||||||
minReplicas: 1
|
# on tolerations.
|
||||||
maxReplicas: 100
|
|
||||||
targetCPUUtilizationPercentage: 80
|
|
||||||
# targetMemoryUtilizationPercentage: 80
|
|
||||||
|
|
||||||
nodeSelector: {}
|
|
||||||
|
|
||||||
tolerations: []
|
tolerations: []
|
||||||
|
|
||||||
|
# -- Sets the affinity for all pods created by this chart. Should not ordinarily
|
||||||
|
# need to be changed. See
|
||||||
|
# <https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/>
|
||||||
|
# for more information on affinity.
|
||||||
affinity: {}
|
affinity: {}
|
||||||
|
|
||||||
globals:
|
globals:
|
||||||
appVersion: "" # Use as an override to .Chart.AppVersion
|
# -- The version of Budibase to deploy. Defaults to what's specified by {{ .Chart.AppVersion }}.
|
||||||
|
# Ends up being used as the image version tag for the apps, proxy, and worker images.
|
||||||
|
appVersion: ""
|
||||||
|
# -- Sets the environment variable BUDIBASE_ENVIRONMENT for the apps and worker pods. Should not
|
||||||
|
# ordinarily need to be changed.
|
||||||
budibaseEnv: PRODUCTION
|
budibaseEnv: PRODUCTION
|
||||||
|
# -- Sets what feature flags are enabled and for which tenants. Should not ordinarily need to be
|
||||||
|
# changed.
|
||||||
tenantFeatureFlags: "*:LICENSING,*:USER_GROUPS,*:ONBOARDING_TOUR"
|
tenantFeatureFlags: "*:LICENSING,*:USER_GROUPS,*:ONBOARDING_TOUR"
|
||||||
|
# -- Whether to enable analytics or not. You can read more about our analytics here:
|
||||||
|
# <https://docs.budibase.com/docs/analytics>.
|
||||||
enableAnalytics: "1"
|
enableAnalytics: "1"
|
||||||
|
# @ignore (only used if enableAnalytics is set to 1)
|
||||||
posthogToken: "phc_bIjZL7oh2GEUd2vqvTBH8WvrX0fWTFQMs6H5KQxiUxU"
|
posthogToken: "phc_bIjZL7oh2GEUd2vqvTBH8WvrX0fWTFQMs6H5KQxiUxU"
|
||||||
selfHosted: "1" # set to 0 for budibase cloud environment, set to 1 for self-hosted setup
|
# @ignore (should not normally need to be changed, we only set this to "0"
|
||||||
multiTenancy: "0" # set to 0 to disable multiple orgs, set to 1 to enable multiple orgs
|
# when deploying to our Cloud environment)
|
||||||
offlineMode: "0" # set to 1 to enable offline mode
|
selfHosted: "1"
|
||||||
|
# -- Whether to enable the multi-tenancy feature or not. "0" means an installation can only
|
||||||
|
# have one tenant. "1" allows multiple tenants.
|
||||||
|
multiTenancy: "0"
|
||||||
|
# @ignore (only currently used to determine whether to fetch licenses offline or not, should
|
||||||
|
# not normally need to be changed)
|
||||||
|
offlineMode: "0"
|
||||||
|
# @ignore (only needs to be set in our cloud environment)
|
||||||
accountPortalUrl: ""
|
accountPortalUrl: ""
|
||||||
|
# @ignore (only needs to be set in our cloud environment)
|
||||||
accountPortalApiKey: ""
|
accountPortalApiKey: ""
|
||||||
|
# -- Sets the domain attribute of the cookie that Budibase uses to store session information.
|
||||||
|
# See <https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#define_where_cookies_are_sent>
|
||||||
|
# for details on why you might want to set this.
|
||||||
cookieDomain: ""
|
cookieDomain: ""
|
||||||
|
# -- Set the `platformUrl` binding. You can also do this in Settings > Organisation if you are
|
||||||
|
# self-hosting.
|
||||||
platformUrl: ""
|
platformUrl: ""
|
||||||
|
# -- Whether or not to enable doing data migrations over the HTTP API. If this is set to "0",
|
||||||
|
# migrations are run on startup. You shouldn't ordinarily need to change this.
|
||||||
httpMigrations: "0"
|
httpMigrations: "0"
|
||||||
|
# -- Google OAuth settings. These can also be set in the Budibase UI, see
|
||||||
|
# <https://docs.budibase.com/docs/sso-with-google> for details.
|
||||||
google:
|
google:
|
||||||
|
# -- Client ID of your Google OAuth app.
|
||||||
clientId: ""
|
clientId: ""
|
||||||
|
# -- Client secret of your Google OAuth app.
|
||||||
secret: ""
|
secret: ""
|
||||||
|
# -- The maximum number of iterations allows for an automation loop step. You can read more about
|
||||||
|
# looping here: <https://docs.budibase.com/docs/looping>.
|
||||||
automationMaxIterations: "200"
|
automationMaxIterations: "200"
|
||||||
|
|
||||||
createSecrets: true # creates an internal API key, JWT secrets and redis password for you
|
# -- Create an internal API key, JWT secret, object store access key and
|
||||||
|
# secret, and store them in a Kubernetes `Secret`.
|
||||||
|
createSecrets: true
|
||||||
|
|
||||||
# if createSecrets is set to false, you can hard-code your secrets here
|
# -- Used for encrypting API keys and environment variables when stored in the database.
|
||||||
|
# You don't need to set this if `createSecrets` is true.
|
||||||
apiEncryptionKey: ""
|
apiEncryptionKey: ""
|
||||||
|
# -- API key used for internal Budibase API calls. You don't need to set this
|
||||||
|
# if `createSecrets` is true.
|
||||||
internalApiKey: ""
|
internalApiKey: ""
|
||||||
|
# -- Secret used for signing JWTs. You don't need to set this if `createSecrets` is true.
|
||||||
jwtSecret: ""
|
jwtSecret: ""
|
||||||
cdnUrl: ""
|
|
||||||
# fallback values used during live rotation
|
# -- A fallback value for `internalApiKey`. If you're rotating your encryption key, you can
|
||||||
|
# set this to the old value for the duration of the rotation.
|
||||||
internalApiKeyFallback: ""
|
internalApiKeyFallback: ""
|
||||||
|
# -- A fallback value for `jwtSecret`. If you're rotating your JWT secret, you can set this
|
||||||
|
# to the old value for the duration of the rotation.
|
||||||
jwtSecretFallback: ""
|
jwtSecretFallback: ""
|
||||||
|
|
||||||
smtp:
|
smtp:
|
||||||
|
# -- Whether to enable SMTP or not.
|
||||||
enabled: false
|
enabled: false
|
||||||
|
# -- The hostname of your SMTP server.
|
||||||
# globalAgentHttpProxy:
|
host: ""
|
||||||
# globalAgentHttpsProxy:
|
# -- The port of your SMTP server.
|
||||||
# globalAgentNoProxy:
|
port: "587"
|
||||||
|
# -- The email address to use in the "From:" field of emails sent by Budibase.
|
||||||
|
from: ""
|
||||||
|
# -- The username to use when authenticating with your SMTP server.
|
||||||
|
user: ""
|
||||||
|
# -- The password to use when authenticating with your SMTP server.
|
||||||
|
password: ""
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
# -- The DNS suffix to use for service discovery. You only need to change this
|
||||||
|
# if you've configured your cluster to use a different DNS suffix.
|
||||||
dns: cluster.local
|
dns: cluster.local
|
||||||
# tlsRejectUnauthorized: 0
|
|
||||||
|
|
||||||
proxy:
|
proxy:
|
||||||
|
# @ignore (you shouldn't need to change this)
|
||||||
port: 10000
|
port: 10000
|
||||||
|
# -- The number of proxy replicas to run.
|
||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
|
# @ignore (you should never need to change this)
|
||||||
upstreams:
|
upstreams:
|
||||||
apps: "http://app-service.{{ .Release.Namespace }}.svc.{{ .Values.services.dns }}:{{ .Values.services.apps.port }}"
|
apps: "http://app-service.{{ .Release.Namespace }}.svc.{{ .Values.services.dns }}:{{ .Values.services.apps.port }}"
|
||||||
worker: "http://worker-service.{{ .Release.Namespace }}.svc.{{ .Values.services.dns }}:{{ .Values.services.worker.port }}"
|
worker: "http://worker-service.{{ .Release.Namespace }}.svc.{{ .Values.services.dns }}:{{ .Values.services.worker.port }}"
|
||||||
minio: "http://minio-service.{{ .Release.Namespace }}.svc.{{ .Values.services.dns }}:{{ .Values.services.objectStore.port }}"
|
minio: "http://minio-service.{{ .Release.Namespace }}.svc.{{ .Values.services.dns }}:{{ .Values.services.objectStore.port }}"
|
||||||
couchdb: "http://{{ .Release.Name }}-svc-couchdb:{{ .Values.services.couchdb.port }}"
|
couchdb: "http://{{ .Release.Name }}-svc-couchdb:{{ .Values.services.couchdb.port }}"
|
||||||
|
# -- The resources to use for proxy pods. See
|
||||||
|
# <https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/>
|
||||||
|
# for more information on how to set these.
|
||||||
resources: {}
|
resources: {}
|
||||||
|
# -- Startup probe configuration for proxy pods. You shouldn't need to
|
||||||
|
# change this, but if you want to you can find more information here:
|
||||||
|
# <https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/>
|
||||||
|
# @default -- HTTP health checks.
|
||||||
startupProbe:
|
startupProbe:
|
||||||
|
# @ignore
|
||||||
httpGet:
|
httpGet:
|
||||||
path: /health
|
path: /health
|
||||||
port: 10000
|
port: 10000
|
||||||
scheme: HTTP
|
scheme: HTTP
|
||||||
|
# @ignore
|
||||||
failureThreshold: 30
|
failureThreshold: 30
|
||||||
|
# @ignore
|
||||||
periodSeconds: 3
|
periodSeconds: 3
|
||||||
|
# -- Readiness probe configuration for proxy pods. You shouldn't need to
|
||||||
|
# change this, but if you want to you can find more information here:
|
||||||
|
# <https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/>
|
||||||
|
# @default -- HTTP health checks.
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
|
# @ignore
|
||||||
httpGet:
|
httpGet:
|
||||||
path: /health
|
path: /health
|
||||||
port: 10000
|
port: 10000
|
||||||
scheme: HTTP
|
scheme: HTTP
|
||||||
|
# @ignore
|
||||||
periodSeconds: 3
|
periodSeconds: 3
|
||||||
|
# @ignore
|
||||||
failureThreshold: 1
|
failureThreshold: 1
|
||||||
|
# -- Liveness probe configuration for proxy pods. You shouldn't need to
|
||||||
|
# change this, but if you want to you can find more information here:
|
||||||
|
# <https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/>
|
||||||
|
# @default -- HTTP health checks.
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
|
# @ignore
|
||||||
httpGet:
|
httpGet:
|
||||||
path: /health
|
path: /health
|
||||||
port: 10000
|
port: 10000
|
||||||
scheme: HTTP
|
scheme: HTTP
|
||||||
|
# @ignore
|
||||||
failureThreshold: 3
|
failureThreshold: 3
|
||||||
|
# @ignore
|
||||||
periodSeconds: 5
|
periodSeconds: 5
|
||||||
|
autoscaling:
|
||||||
|
# -- Whether to enable horizontal pod autoscaling for the proxy service.
|
||||||
|
enabled: false
|
||||||
|
minReplicas: 1
|
||||||
|
maxReplicas: 10
|
||||||
|
# -- Target CPU utilization percentage for the proxy service. Note that
|
||||||
|
# for autoscaling to work, you will need to have metrics-server
|
||||||
|
# configured, and resources set for the proxy pods.
|
||||||
|
targetCPUUtilizationPercentage: 80
|
||||||
|
|
||||||
apps:
|
apps:
|
||||||
|
# @ignore (you shouldn't need to change this)
|
||||||
port: 4002
|
port: 4002
|
||||||
|
# -- The number of apps replicas to run.
|
||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
|
# -- The log level for the apps service.
|
||||||
logLevel: info
|
logLevel: info
|
||||||
|
# -- Whether or not to log HTTP requests to the apps service.
|
||||||
httpLogging: 1
|
httpLogging: 1
|
||||||
|
# -- The resources to use for apps pods. See
|
||||||
|
# <https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/>
|
||||||
|
# for more information on how to set these.
|
||||||
resources: {}
|
resources: {}
|
||||||
|
# -- Startup probe configuration for apps pods. You shouldn't need to
|
||||||
|
# change this, but if you want to you can find more information here:
|
||||||
|
# <https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/>
|
||||||
|
# @default -- HTTP health checks.
|
||||||
startupProbe:
|
startupProbe:
|
||||||
|
# @ignore
|
||||||
httpGet:
|
httpGet:
|
||||||
path: /health
|
path: /health
|
||||||
port: 4002
|
port: 4002
|
||||||
scheme: HTTP
|
scheme: HTTP
|
||||||
|
# @ignore
|
||||||
failureThreshold: 30
|
failureThreshold: 30
|
||||||
|
# @ignore
|
||||||
periodSeconds: 3
|
periodSeconds: 3
|
||||||
|
# -- Readiness probe configuration for apps pods. You shouldn't need to
|
||||||
|
# change this, but if you want to you can find more information here:
|
||||||
|
# <https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/>
|
||||||
|
# @default -- HTTP health checks.
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
|
# @ignore
|
||||||
httpGet:
|
httpGet:
|
||||||
path: /health
|
path: /health
|
||||||
port: 4002
|
port: 4002
|
||||||
scheme: HTTP
|
scheme: HTTP
|
||||||
|
# @ignore
|
||||||
periodSeconds: 3
|
periodSeconds: 3
|
||||||
|
# @ignore
|
||||||
failureThreshold: 1
|
failureThreshold: 1
|
||||||
|
# -- Liveness probe configuration for apps pods. You shouldn't need to
|
||||||
|
# change this, but if you want to you can find more information here:
|
||||||
|
# <https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/>
|
||||||
|
# @default -- HTTP health checks.
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
|
# @ignore
|
||||||
httpGet:
|
httpGet:
|
||||||
path: /health
|
path: /health
|
||||||
port: 4002
|
port: 4002
|
||||||
scheme: HTTP
|
scheme: HTTP
|
||||||
|
# @ignore
|
||||||
failureThreshold: 3
|
failureThreshold: 3
|
||||||
|
# @ignore
|
||||||
periodSeconds: 5
|
periodSeconds: 5
|
||||||
# nodeDebug: "" # set the value of NODE_DEBUG
|
autoscaling:
|
||||||
# annotations:
|
# -- Whether to enable horizontal pod autoscaling for the apps service.
|
||||||
# co.elastic.logs/multiline.type: pattern
|
enabled: false
|
||||||
# co.elastic.logs/multiline.pattern: '^[[:space:]]'
|
minReplicas: 1
|
||||||
# co.elastic.logs/multiline.negate: false
|
maxReplicas: 10
|
||||||
# co.elastic.logs/multiline.match: after
|
# -- Target CPU utilization percentage for the apps service. Note that for
|
||||||
|
# autoscaling to work, you will need to have metrics-server configured,
|
||||||
|
# and resources set for the apps pods.
|
||||||
|
targetCPUUtilizationPercentage: 80
|
||||||
|
|
||||||
worker:
|
worker:
|
||||||
|
# @ignore (you shouldn't need to change this)
|
||||||
port: 4003
|
port: 4003
|
||||||
|
# -- The number of worker replicas to run.
|
||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
|
# -- The log level for the worker service.
|
||||||
logLevel: info
|
logLevel: info
|
||||||
|
# -- Whether or not to log HTTP requests to the worker service.
|
||||||
httpLogging: 1
|
httpLogging: 1
|
||||||
|
# -- The resources to use for worker pods. See
|
||||||
|
# <https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/>
|
||||||
|
# for more information on how to set these.
|
||||||
resources: {}
|
resources: {}
|
||||||
|
# -- Startup probe configuration for worker pods. You shouldn't need to
|
||||||
|
# change this, but if you want to you can find more information here:
|
||||||
|
# <https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/>
|
||||||
|
# @default -- HTTP health checks.
|
||||||
startupProbe:
|
startupProbe:
|
||||||
|
# @ignore
|
||||||
httpGet:
|
httpGet:
|
||||||
path: /health
|
path: /health
|
||||||
port: 4003
|
port: 4003
|
||||||
scheme: HTTP
|
scheme: HTTP
|
||||||
|
# @ignore
|
||||||
failureThreshold: 30
|
failureThreshold: 30
|
||||||
|
# @ignore
|
||||||
periodSeconds: 3
|
periodSeconds: 3
|
||||||
|
# -- Readiness probe configuration for worker pods. You shouldn't need to
|
||||||
|
# change this, but if you want to you can find more information here:
|
||||||
|
# <https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/>
|
||||||
|
# @default -- HTTP health checks.
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
|
# @ignore
|
||||||
httpGet:
|
httpGet:
|
||||||
path: /health
|
path: /health
|
||||||
port: 4003
|
port: 4003
|
||||||
scheme: HTTP
|
scheme: HTTP
|
||||||
|
# @ignore
|
||||||
periodSeconds: 3
|
periodSeconds: 3
|
||||||
|
# @ignore
|
||||||
failureThreshold: 1
|
failureThreshold: 1
|
||||||
|
# -- Liveness probe configuration for worker pods. You shouldn't need to
|
||||||
|
# change this, but if you want to you can find more information here:
|
||||||
|
# <https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/>
|
||||||
|
# @default -- HTTP health checks.
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
|
# @ignore
|
||||||
httpGet:
|
httpGet:
|
||||||
path: /health
|
path: /health
|
||||||
port: 4003
|
port: 4003
|
||||||
scheme: HTTP
|
scheme: HTTP
|
||||||
|
# @ignore
|
||||||
failureThreshold: 3
|
failureThreshold: 3
|
||||||
|
# @ignore
|
||||||
periodSeconds: 5
|
periodSeconds: 5
|
||||||
# annotations:
|
autoscaling:
|
||||||
# co.elastic.logs/multiline.type: pattern
|
# -- Whether to enable horizontal pod autoscaling for the worker service.
|
||||||
# co.elastic.logs/multiline.pattern: '^[[:space:]]'
|
enabled: false
|
||||||
# co.elastic.logs/multiline.negate: false
|
minReplicas: 1
|
||||||
# co.elastic.logs/multiline.match: after
|
maxReplicas: 10
|
||||||
|
# -- Target CPU utilization percentage for the worker service. Note that
|
||||||
|
# for autoscaling to work, you will need to have metrics-server
|
||||||
|
# configured, and resources set for the worker pods.
|
||||||
|
targetCPUUtilizationPercentage: 80
|
||||||
|
|
||||||
couchdb:
|
couchdb:
|
||||||
|
# -- Whether or not to spin up a CouchDB instance in your cluster. True by
|
||||||
|
# default, and the configuration for the CouchDB instance is under the
|
||||||
|
# `couchdb` key at the root of this file. You can see what options are
|
||||||
|
# available to you by looking at the official CouchDB Helm chart:
|
||||||
|
# <https://github.com/apache/couchdb-helm/tree/couchdb-4.3.0/couchdb>.
|
||||||
enabled: true
|
enabled: true
|
||||||
# url: "" # only change if pointing to existing couch server
|
# url: "" # only change if pointing to existing couch server
|
||||||
# user: "" # only change if pointing to existing couch server
|
# user: "" # only change if pointing to existing couch server
|
||||||
# password: "" # only change if pointing to existing couch server
|
# password: "" # only change if pointing to existing couch server
|
||||||
port: 5984
|
port: 5984
|
||||||
backup:
|
backup:
|
||||||
|
# -- Whether or not to enable periodic CouchDB backups. This works by replicating
|
||||||
|
# to another CouchDB instance.
|
||||||
enabled: false
|
enabled: false
|
||||||
# target couchDB instance to back up to
|
# -- Target couchDB instance to back up to, either a hostname or an IP address.
|
||||||
target: ""
|
target: ""
|
||||||
# backup interval in seconds
|
# -- Backup interval in seconds
|
||||||
interval: ""
|
interval: ""
|
||||||
|
# -- The resources to use for CouchDB backup pods. See
|
||||||
|
# <https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/>
|
||||||
|
# for more information on how to set these.
|
||||||
resources: {}
|
resources: {}
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
enabled: true # disable if using external redis
|
# -- Whether or not to deploy a Redis pod into your cluster.
|
||||||
|
enabled: true
|
||||||
|
# -- Port to expose Redis on.
|
||||||
port: 6379
|
port: 6379
|
||||||
|
# @ignore (you should leave this as 1, we don't support clustering Redis)
|
||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
url: "" # only change if pointing to existing redis cluster and enabled: false
|
# -- If you choose to run Redis externally to this chart, you can specify the
|
||||||
password: "budibase" # recommended to override if using built-in redis
|
# connection details here.
|
||||||
|
url: ""
|
||||||
|
# -- The password to use when connecting to Redis. It's recommended that you change
|
||||||
|
# this from the default if you're running Redis in-cluster.
|
||||||
|
password: "budibase"
|
||||||
|
# -- How much persistent storage to allocate to Redis.
|
||||||
storage: 100Mi
|
storage: 100Mi
|
||||||
## If defined, storageClassName: <storageClass>
|
# -- If defined, storageClassName: <storageClass> If set to "-",
|
||||||
## If set to "-", storageClassName: "", which disables dynamic provisioning
|
# storageClassName: "", which disables dynamic provisioning If undefined
|
||||||
## If undefined (the default) or set to null, no storageClassName spec is
|
# (the default) or set to null, no storageClassName spec is set, choosing
|
||||||
## set, choosing the default provisioner.
|
# the default provisioner.
|
||||||
storageClass: ""
|
storageClass: ""
|
||||||
|
# -- The resources to use for Redis pods. See
|
||||||
|
# <https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/>
|
||||||
|
# for more information on how to set these.
|
||||||
resources: {}
|
resources: {}
|
||||||
|
|
||||||
objectStore:
|
objectStore:
|
||||||
# Set to false if using another object store such as S3
|
# -- Set to false if using another object store, such as S3. You will need
|
||||||
|
# to set `services.objectStore.url` to point to your bucket if you do this.
|
||||||
minio: true
|
minio: true
|
||||||
|
# -- Whether to enable the Minio web console or not. If you're exposing
|
||||||
|
# Minio to the Internet (via a custom Ingress record, for example), you
|
||||||
|
# should set this to false. If you're only exposing Minio to your cluster,
|
||||||
|
# you can leave this as true.
|
||||||
browser: true
|
browser: true
|
||||||
|
# @ignore
|
||||||
port: 9000
|
port: 9000
|
||||||
|
# @ignore (you should leave this as 1, we don't support clustering Minio)
|
||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
accessKey: "" # AWS_ACCESS_KEY if using S3 or existing minio access key
|
# -- AWS_ACCESS_KEY if using S3
|
||||||
secretKey: "" # AWS_SECRET_ACCESS_KEY if using S3 or existing minio secret
|
accessKey: ""
|
||||||
region: "" # AWS_REGION if using S3 or existing minio secret
|
# -- AWS_SECRET_ACCESS_KEY if using S3
|
||||||
url: "http://minio-service:9000" # only change if pointing to existing minio cluster or S3 and minio: false
|
secretKey: ""
|
||||||
|
# -- AWS_REGION if using S3
|
||||||
|
region: ""
|
||||||
|
# -- URL to use for object storage. Only change this if you're using an
|
||||||
|
# external object store, such as S3. Remember to set `minio: false` if you
|
||||||
|
# do this.
|
||||||
|
url: "http://minio-service:9000"
|
||||||
|
# -- How much storage to give Minio in its PersistentVolumeClaim.
|
||||||
storage: 100Mi
|
storage: 100Mi
|
||||||
## If defined, storageClassName: <storageClass>
|
# -- If defined, storageClassName: <storageClass> If set to "-",
|
||||||
## If set to "-", storageClassName: "", which disables dynamic provisioning
|
# storageClassName: "", which disables dynamic provisioning If undefined
|
||||||
## If undefined (the default) or set to null, no storageClassName spec is
|
# (the default) or set to null, no storageClassName spec is set, choosing
|
||||||
## set, choosing the default provisioner.
|
# the default provisioner.
|
||||||
storageClass: ""
|
storageClass: ""
|
||||||
|
# -- The resources to use for Minio pods. See
|
||||||
|
# <https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/>
|
||||||
|
# for more information on how to set these.
|
||||||
resources: {}
|
resources: {}
|
||||||
cloudfront:
|
cloudfront:
|
||||||
# Set the url of a distribution to enable cloudfront
|
# -- Set the url of a distribution to enable cloudfront.
|
||||||
cdn: ""
|
cdn: ""
|
||||||
# ID of public key stored in cloudfront
|
# -- ID of public key stored in cloudfront.
|
||||||
publicKeyId: ""
|
publicKeyId: ""
|
||||||
# Base64 encoded private key for the above public key
|
# -- Base64 encoded private key for the above public key.
|
||||||
privateKey64: ""
|
privateKey64: ""
|
||||||
|
|
||||||
# Override values in couchDB subchart
|
# Override values in couchDB subchart. We're only specifying the values we're changing.
|
||||||
|
# If you want to see all of the available values, see:
|
||||||
|
# https://github.com/apache/couchdb-helm/tree/couchdb-4.3.0/couchdb
|
||||||
couchdb:
|
couchdb:
|
||||||
# -- the initial number of nodes in the CouchDB cluster.
|
# -- The number of replicas to run in the CouchDB cluster. We set this to
|
||||||
|
# 1 by default to make things simpler, but you can set it to 3 if you need
|
||||||
|
# a high-availability CouchDB cluster.
|
||||||
clusterSize: 1
|
clusterSize: 1
|
||||||
|
|
||||||
# -- If allowAdminParty is enabled the cluster will start up without any database
|
# -- We use a custom CouchDB image for running Budibase and we don't support
|
||||||
# administrator account; i.e., all users will be granted administrative
|
# using any other CouchDB image. You shouldn't change this, and if you do we
|
||||||
# access. Otherwise, the system will look for a Secret called
|
# can't guarantee that Budibase will work.
|
||||||
# <ReleaseName>-couchdb containing `adminUsername`, `adminPassword` and
|
|
||||||
# `cookieAuthSecret` keys. See the `createAdminSecret` flag.
|
|
||||||
# ref: https://kubernetes.io/docs/concepts/configuration/secret/
|
|
||||||
allowAdminParty: false
|
|
||||||
|
|
||||||
# -- If createAdminSecret is enabled a Secret called <ReleaseName>-couchdb will
|
|
||||||
# be created containing auto-generated credentials. Users who prefer to set
|
|
||||||
# these values themselves have a couple of options:
|
|
||||||
#
|
|
||||||
# 1) The `adminUsername`, `adminPassword`, `adminHash`, and `cookieAuthSecret`
|
|
||||||
# can be defined directly in the chart's values. Note that all of a chart's
|
|
||||||
# values are currently stored in plaintext in a ConfigMap in the tiller
|
|
||||||
# namespace.
|
|
||||||
#
|
|
||||||
# 2) This flag can be disabled and a Secret with the required keys can be
|
|
||||||
# created ahead of time.
|
|
||||||
createAdminSecret: true
|
|
||||||
|
|
||||||
adminUsername: admin
|
|
||||||
# adminPassword: this_is_not_secure
|
|
||||||
# adminHash: -pbkdf2-this_is_not_necessarily_secure_either
|
|
||||||
# cookieAuthSecret: neither_is_this
|
|
||||||
|
|
||||||
## When enabled, will deploy a networkpolicy that allows CouchDB pods to
|
|
||||||
## communicate with each other for clustering and ingress on port 5984
|
|
||||||
networkPolicy:
|
|
||||||
enabled: true
|
|
||||||
|
|
||||||
## Use an alternate scheduler, e.g. "stork".
|
|
||||||
## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
|
|
||||||
##
|
|
||||||
# schedulerName:
|
|
||||||
|
|
||||||
# Use a service account
|
|
||||||
serviceAccount:
|
|
||||||
enabled: true
|
|
||||||
create: true
|
|
||||||
# name:
|
|
||||||
# imagePullSecrets:
|
|
||||||
# - name: myimagepullsecret
|
|
||||||
|
|
||||||
# -- The storage volume used by each Pod in the StatefulSet. If a
|
|
||||||
# persistentVolume is not enabled, the Pods will use `emptyDir` ephemeral
|
|
||||||
# local storage. Setting the storageClass attribute to "-" disables dynamic
|
|
||||||
# provisioning of Persistent Volumes; leaving it unset will invoke the default
|
|
||||||
# provisioner.
|
|
||||||
persistentVolume:
|
|
||||||
enabled: false
|
|
||||||
# NOTE: the number of existing claims must match the cluster size
|
|
||||||
existingClaims: []
|
|
||||||
annotations: {}
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteOnce
|
|
||||||
size: 10Gi
|
|
||||||
# storageClass: "-"
|
|
||||||
|
|
||||||
## The CouchDB image
|
|
||||||
image:
|
image:
|
||||||
|
# @ignore
|
||||||
repository: budibase/couchdb
|
repository: budibase/couchdb
|
||||||
|
# @ignore
|
||||||
tag: v3.2.1
|
tag: v3.2.1
|
||||||
pullPolicy: IfNotPresent
|
# @ignore
|
||||||
|
pullPolicy: Always
|
||||||
|
|
||||||
|
# @ignore
|
||||||
# This should remain false. We ship Clouseau ourselves as part of the
|
# This should remain false. We ship Clouseau ourselves as part of the
|
||||||
# budibase/couchdb image, and it's not possible to disable it because it's a
|
# budibase/couchdb image, and it's not possible to disable it because it's a
|
||||||
# core part of the Budibase experience.
|
# core part of the Budibase experience.
|
||||||
enableSearch: false
|
enableSearch: false
|
||||||
|
|
||||||
initImage:
|
|
||||||
repository: busybox
|
|
||||||
tag: latest
|
|
||||||
pullPolicy: Always
|
|
||||||
|
|
||||||
## CouchDB is happy to spin up cluster nodes in parallel, but if you encounter
|
|
||||||
## problems you can try setting podManagementPolicy to the StatefulSet default
|
|
||||||
## `OrderedReady`
|
|
||||||
podManagementPolicy: Parallel
|
|
||||||
|
|
||||||
## To better tolerate Node failures, we can prevent Kubernetes scheduler from
|
|
||||||
## assigning more than one Pod of CouchDB StatefulSet per Node using podAntiAffinity.
|
|
||||||
affinity:
|
|
||||||
{}
|
|
||||||
# podAntiAffinity:
|
|
||||||
# requiredDuringSchedulingIgnoredDuringExecution:
|
|
||||||
# - labelSelector:
|
|
||||||
# matchExpressions:
|
|
||||||
# - key: "app"
|
|
||||||
# operator: In
|
|
||||||
# values:
|
|
||||||
# - couchdb
|
|
||||||
# topologyKey: "kubernetes.io/hostname"
|
|
||||||
|
|
||||||
## To control how Pods are spread across your cluster among failure-domains such as regions,
|
|
||||||
## zones, nodes, and other user-defined topology domains use topologySpreadConstraints.
|
|
||||||
topologySpreadConstraints:
|
|
||||||
{}
|
|
||||||
# topologySpreadConstraints:
|
|
||||||
# - maxSkew: 1
|
|
||||||
# topologyKey: "topology.kubernetes.io/zone"
|
|
||||||
# whenUnsatisfiable: ScheduleAnyway
|
|
||||||
# labelSelector:
|
|
||||||
# matchLabels:
|
|
||||||
# app: couchdb
|
|
||||||
|
|
||||||
## Optional pod labels
|
|
||||||
labels: {}
|
|
||||||
|
|
||||||
## Optional pod annotations
|
|
||||||
annotations: {}
|
|
||||||
|
|
||||||
## Optional tolerations
|
|
||||||
tolerations: []
|
|
||||||
|
|
||||||
## A StatefulSet requires a headless Service to establish the stable network
|
|
||||||
## identities of the Pods, and that Service is created automatically by this
|
|
||||||
## chart without any additional configuration. The Service block below refers
|
|
||||||
## to a second Service that governs how clients connect to the CouchDB cluster.
|
|
||||||
service:
|
|
||||||
annotations: {}
|
|
||||||
enabled: true
|
|
||||||
type: ClusterIP
|
|
||||||
externalPort: 5984
|
|
||||||
targetPort: 5984
|
|
||||||
labels: {}
|
|
||||||
|
|
||||||
## An Ingress resource can provide name-based virtual hosting and TLS
|
|
||||||
## termination among other things for CouchDB deployments which are accessed
|
|
||||||
## from outside the Kubernetes cluster.
|
|
||||||
## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/
|
|
||||||
ingress:
|
|
||||||
enabled: false
|
|
||||||
# className: nginx
|
|
||||||
hosts:
|
|
||||||
- chart-example.local
|
|
||||||
path: /
|
|
||||||
annotations:
|
|
||||||
{}
|
|
||||||
# kubernetes.io/ingress.class: nginx
|
|
||||||
# kubernetes.io/tls-acme: "true"
|
|
||||||
tls:
|
|
||||||
# Secrets must be manually created in the namespace.
|
|
||||||
# - secretName: chart-example-tls
|
|
||||||
# hosts:
|
|
||||||
# - chart-example.local
|
|
||||||
|
|
||||||
## Optional resource requests and limits for the CouchDB container
|
|
||||||
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
|
|
||||||
resources:
|
|
||||||
{}
|
|
||||||
# requests:
|
|
||||||
# cpu: 100m
|
|
||||||
# memory: 128Mi
|
|
||||||
# limits:
|
|
||||||
# cpu: 56
|
|
||||||
# memory: 256Gi
|
|
||||||
|
|
||||||
## Optional resource requests and limits for the CouchDB init container
|
|
||||||
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
|
|
||||||
initResources:
|
|
||||||
{}
|
|
||||||
# requests:
|
|
||||||
# cpu: 100m
|
|
||||||
# memory: 128Mi
|
|
||||||
# limits:
|
|
||||||
# cpu: 500m
|
|
||||||
# memory: 128Mi
|
|
||||||
|
|
||||||
# -- erlangFlags is a map that is passed to the Erlang VM as flags using the
|
|
||||||
# ERL_FLAGS env. The `name` flag is required to establish connectivity
|
|
||||||
# between cluster nodes.
|
|
||||||
# ref: http://erlang.org/doc/man/erl.html#init_flags
|
|
||||||
erlangFlags:
|
|
||||||
name: couchdb
|
|
||||||
# Older versions of the official CouchDB image (anything prior to 3.2.1)
|
|
||||||
# do not act on the COUCHDB_ERLANG_COOKIE environment variable, so if you
|
|
||||||
# want to cluster these deployments it's necessary to pass in a cookie here
|
|
||||||
# setcookie: make-something-up
|
|
||||||
|
|
||||||
# -- couchdbConfig will override default CouchDB configuration settings.
|
|
||||||
# The contents of this map are reformatted into a .ini file laid down
|
|
||||||
# by a ConfigMap object.
|
|
||||||
# ref: http://docs.couchdb.org/en/latest/config/index.html
|
|
||||||
couchdbConfig:
|
couchdbConfig:
|
||||||
couchdb:
|
couchdb:
|
||||||
uuid: budibase-couchdb # Unique identifier for this CouchDB server instance
|
# -- Unique identifier for this CouchDB server instance. You shouldn't need
|
||||||
# cluster:
|
# to change this.
|
||||||
# q: 8 # Create 8 shards for each database
|
uuid: budibase-couchdb
|
||||||
chttpd:
|
|
||||||
bind_address: any
|
|
||||||
# chttpd.require_valid_user disables all the anonymous requests to the port
|
|
||||||
# 5984 when is set to true.
|
|
||||||
require_valid_user: false
|
|
||||||
# required to use Fauxton if chttpd.require_valid_user is set to true
|
|
||||||
# httpd:
|
|
||||||
# WWW-Authenticate: "Basic realm=\"administrator\""
|
|
||||||
|
|
||||||
# Kubernetes local cluster domain.
|
|
||||||
# This is used to generate FQDNs for peers when joining the CouchDB cluster.
|
|
||||||
dns:
|
|
||||||
clusterDomainSuffix: cluster.local
|
|
||||||
|
|
||||||
## Configure liveness and readiness probe values
|
|
||||||
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
|
|
||||||
livenessProbe:
|
|
||||||
enabled: true
|
|
||||||
failureThreshold: 3
|
|
||||||
initialDelaySeconds: 0
|
|
||||||
periodSeconds: 10
|
|
||||||
successThreshold: 1
|
|
||||||
timeoutSeconds: 1
|
|
||||||
readinessProbe:
|
|
||||||
enabled: true
|
|
||||||
failureThreshold: 3
|
|
||||||
initialDelaySeconds: 0
|
|
||||||
periodSeconds: 10
|
|
||||||
successThreshold: 1
|
|
||||||
timeoutSeconds: 1
|
|
||||||
|
|
||||||
# Control an optional pod disruption budget
|
|
||||||
podDisruptionBudget:
|
|
||||||
# toggle creation of pod disruption budget, disabled by default
|
|
||||||
enabled: false
|
|
||||||
# minAvailable: 1
|
|
||||||
maxUnavailable: 1
|
|
||||||
|
|
||||||
# CouchDB 3.2.0 adds in a metrics endpoint on the path `/_node/_local/_prometheus`.
|
|
||||||
# Optionally, a standalone, unauthenticated port can be exposed for these metrics.
|
|
||||||
prometheusPort:
|
|
||||||
enabled: false
|
|
||||||
bind_address: "0.0.0.0"
|
|
||||||
port: 17986
|
|
||||||
|
|
||||||
# Configure arbitrary sidecar containers for CouchDB pods created by the
|
|
||||||
# StatefulSet
|
|
||||||
sidecars:
|
|
||||||
{}
|
|
||||||
# - name: foo
|
|
||||||
# image: "busybox"
|
|
||||||
# imagePullPolicy: IfNotPresent
|
|
||||||
# resources:
|
|
||||||
# requests:
|
|
||||||
# cpu: "0.1"
|
|
||||||
# memory: 10Mi
|
|
||||||
# command: ['echo "foo";']
|
|
||||||
# volumeMounts:
|
|
||||||
# - name: database-storage
|
|
||||||
# mountPath: /opt/couchdb/data/
|
|
||||||
|
|
||||||
# Placement manager to annotate each document in the nodes DB with "zone" attribute
|
|
||||||
# recording the zone where node has been scheduled
|
|
||||||
# Ref: https://docs.couchdb.org/en/stable/cluster/sharding.html#specifying-database-placement
|
|
||||||
placementConfig:
|
|
||||||
enabled: false
|
|
||||||
image:
|
|
||||||
repository: caligrafix/couchdb-autoscaler-placement-manager
|
|
||||||
tag: 0.1.0
|
|
||||||
|
|
Loading…
Reference in New Issue