diff --git a/charts/plane-enterprise/Chart.yaml b/charts/plane-enterprise/Chart.yaml index 8d81042e..af12904f 100644 --- a/charts/plane-enterprise/Chart.yaml +++ b/charts/plane-enterprise/Chart.yaml @@ -5,8 +5,8 @@ description: Meet Plane. An Enterprise software development tool to manage issue type: application -version: 1.3.3 -appVersion: "1.13.0" +version: 1.4.0 +appVersion: "1.14.0" home: https://plane.so/ icon: https://plane.so/favicon/favicon-32x32.png diff --git a/charts/plane-enterprise/README.md b/charts/plane-enterprise/README.md index 512edab1..a1d746d7 100644 --- a/charts/plane-enterprise/README.md +++ b/charts/plane-enterprise/README.md @@ -11,7 +11,7 @@ Copy the format of constants below, paste it on Terminal to start setting environment variables, set values for each variable, and hit ENTER or RETURN. ```bash - PLANE_VERSION=v1.13.0 # or the last released version + PLANE_VERSION=v1.14.0 # or the last released version DOMAIN_NAME= ``` @@ -65,7 +65,7 @@ ``` Make sure you set the minimum required values as below. - - `planeVersion: v1.13.0 ` + - `planeVersion: v1.14.0 ` - `license.licenseDomain: ` - `ingress.enabled: ` - `ingress.ingressClass: ` @@ -91,7 +91,7 @@ | Setting | Default | Required | Description | |---|:---:|:---:|---| -| planeVersion | v1.13.0 | Yes | Specifies the version of Plane to be deployed. Copy this from prime.plane.so. | +| planeVersion | v1.14.0 | Yes | Specifies the version of Plane to be deployed. Copy this from prime.plane.so. | | airgapped.enabled | false | No | Specifies the airgapped mode the Plane API runs in. | | license.licenseDomain | plane.example.com | Yes | The fully-qualified domain name (FQDN) in the format `sudomain.domain.tld` or `domain.tld` that the license is bound to. It is also attached to your `ingress` host to access Plane. | @@ -211,6 +211,7 @@ | env.live_sentry_environment | | | (optional) Live service deployment comes with some of the preconfigured integration. Sentry is one among those. Here user can set the Sentry environment name (as configured in Sentry) for this integration.| | env.live_sentry_traces_sample_rate | | | (optional) Live service deployment comes with some of the preconfigured integration. Sentry is one among those. Here user can set the Sentry trace sample rate (as configured in Sentry) for this integration.| | env.live_server_secret_key | htbqvBJAgpm9bzvf3r4urJer0ENReatceh | | Live Server Secret Key | +| env.external_iframely_url | "" | | External Iframely service URL. If provided, the local Iframely deployment will be skipped and the live service will use this external URL | | services.live.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | ### Monitor Deployment @@ -312,6 +313,65 @@ Note: When the email service is enabled, the cert-issuer will be automatically created to handle TLS certificates for the email service. + +### Outbox Poller Service Deployment + +| Setting | Default | Required | Description | +|---|:---:|:---:|---| +| services.outbox_poller.enabled | false | | Set to `true` to enable the outbox poller service deployment | +| services.outbox_poller.replicas | 1 | | Number of replicas for the outbox poller service deployment | +| services.outbox_poller.memoryLimit | 1000Mi | | Memory limit for the outbox poller service deployment | +| services.outbox_poller.cpuLimit | 500m | | CPU limit for the outbox poller service deployment | +| services.outbox_poller.memoryRequest | 50Mi | | Memory request for the outbox poller service deployment | +| services.outbox_poller.cpuRequest | 50m | | CPU request for the outbox poller service deployment | +| services.outbox_poller.pullPolicy | Always | | Image pull policy for the outbox poller service deployment | +| services.outbox_poller.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | +| env.outbox_poller_envs.memory_limit_mb | 400 | | Memory limit in MB for the outbox poller | +| env.outbox_poller_envs.interval_min | 0.25 | | Minimum interval in minutes for polling | +| env.outbox_poller_envs.interval_max | 2 | | Maximum interval in minutes for polling | +| env.outbox_poller_envs.batch_size | 250 | | Batch size for processing outbox messages | +| env.outbox_poller_envs.memory_check_interval | 30 | | Memory check interval in seconds | +| env.outbox_poller_envs.pool.size | 4 | | Pool size for database connections | +| env.outbox_poller_envs.pool.min_size | 2 | | Minimum pool size for database connections | +| env.outbox_poller_envs.pool.max_size | 10 | | Maximum pool size for database connections | +| env.outbox_poller_envs.pool.timeout | 30.0 | | Pool timeout in seconds | +| env.outbox_poller_envs.pool.max_idle | 300.0 | | Maximum idle time for connections in seconds | +| env.outbox_poller_envs.pool.max_lifetime | 3600 | | Maximum lifetime for connections in seconds | +| env.outbox_poller_envs.pool.reconnect_timeout | 5.0 | | Reconnect timeout in seconds | +| env.outbox_poller_envs.pool.health_check_interval | 60 | | Health check interval in seconds | + +### Automation Consumer Deployment + +| Setting | Default | Required | Description | +|---|:---:|:---:|---| +| services.automation_consumer.enabled | false | | Set to `true` to enable the automation consumer service deployment | +| services.automation_consumer.replicas | 1 | | Number of replicas for the automation consumer service deployment | +| services.automation_consumer.memoryLimit | 1000Mi | | Memory limit for the automation consumer service deployment | +| services.automation_consumer.cpuLimit | 500m | | CPU limit for the automation consumer service deployment | +| services.automation_consumer.memoryRequest | 50Mi | | Memory request for the automation consumer service deployment | +| services.automation_consumer.cpuRequest | 50m | | CPU request for the automation consumer service deployment | +| services.automation_consumer.pullPolicy | Always | | Image pull policy for the automation consumer service deployment | +| services.automation_consumer.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | +| env.automation_consumer_envs.event_stream_queue_name | "plane.event_stream.automations" | | Event stream queue name for automations | +| env.automation_consumer_envs.event_stream_prefetch | 10 | | Event stream prefetch count | +| env.automation_consumer_envs.exchange_name | "plane.event_stream" | | Exchange name for event stream | +| env.automation_consumer_envs.event_types | "issue" | | Event types to process | + +### Iframely Deployment + +| Setting | Default | Required | Description | +|---|:---:|:---:|---| +| services.iframely.enabled | false | | Set to `true` to enable the Iframely service deployment | +| services.iframely.replicas | 1 | | Number of replicas for the Iframely service deployment | +| services.iframely.memoryLimit | 1000Mi | | Memory limit for the Iframely service deployment | +| services.iframely.cpuLimit | 500m | | CPU limit for the Iframely service deployment | +| services.iframely.memoryRequest | 50Mi | | Memory request for the Iframely service deployment | +| services.iframely.cpuRequest | 50m | | CPU request for the Iframely service deployment | +| services.iframely.image | artifacts.plane.so/makeplane/iframely:v1.2.0 | | Docker image for the Iframely service deployment | +| services.iframely.pullPolicy | Always | | Image pull policy for the Iframely service deployment | +| services.iframely.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | + + ### Ingress and SSL Setup | Setting | Default | Required | Description | diff --git a/charts/plane-enterprise/questions.yml b/charts/plane-enterprise/questions.yml index 3727f9b2..a840759f 100644 --- a/charts/plane-enterprise/questions.yml +++ b/charts/plane-enterprise/questions.yml @@ -20,7 +20,7 @@ questions: - variable: planeVersion label: Plane Version (Docker Image Tag) type: string - default: v1.13.0 + default: v1.14.0 required: true group: "Docker Registry" subquestions: @@ -552,6 +552,182 @@ questions: description: "Not required for 'http' issuer" show_if: "ssl.issuer=cloudflare || ssl.issuer=digitalocean" +- variable: services.outbox_poller.enabled + label: "Enable Outbox Poller" + type: boolean + default: false + group: "Outbox Poller Setup" + show_subquestion_if: true + subquestions: + - variable: services.outbox_poller.replicas + label: "Default Replica Count" + type: int + default: 1 + - variable: services.outbox_poller.memoryLimit + label: "Memory Limit" + type: string + default: 1000Mi + - variable: services.outbox_poller.cpuLimit + label: "CPU Limit" + type: string + default: 500m + - variable: services.outbox_poller.memoryRequest + label: "Memory Request" + type: string + default: 50Mi + - variable: services.outbox_poller.cpuRequest + label: "CPU Request" + type: string + default: 50m + - variable: services.outbox_poller.assign_cluster_ip + label: "Assign Cluster IP" + type: boolean + default: false + - variable: env.outbox_poller_envs.memory_limit_mb + label: "Memory Limit" + type: int + default: 400 + - variable: env.outbox_poller_envs.interval_min + label: "Interval Min" + type: number + default: 0.25 + - variable: env.outbox_poller_envs.interval_max + label: "Interval Max" + type: number + default: 2 + - variable: env.outbox_poller_envs.batch_size + label: "Batch Size" + type: int + default: 250 + - variable: env.outbox_poller_envs.memory_check_interval + label: "Memory Check Interval" + type: int + default: 30 + - variable: env.outbox_poller_envs.pool.size + label: "Pool Size" + type: int + default: 4 + - variable: env.outbox_poller_envs.pool.min_size + label: "Pool Min Size" + type: int + default: 2 + - variable: env.outbox_poller_envs.pool.max_size + label: "Pool Max Size" + type: int + default: 10 + - variable: env.outbox_poller_envs.pool.timeout + label: "Pool Timeout" + type: number + default: 30.0 + - variable: env.outbox_poller_envs.pool.max_idle + label: "Pool Max Idle" + type: number + default: 300.0 + - variable: env.outbox_poller_envs.pool.max_lifetime + label: "Pool Max Lifetime" + type: number + default: 3600.0 + - variable: env.outbox_poller_envs.pool.reconnect_timeout + label: "Pool Reconnect Timeout" + type: number + default: 5.0 + - variable: env.outbox_poller_envs.pool.health_check_interval + label: "Pool Health Check Interval" + type: number + default: 60 + +- variable: services.automation_consumer.enabled + label: "Enable Automation Consumer" + type: boolean + default: false + group: "Automation Consumer Setup" + show_subquestion_if: true + subquestions: + - variable: services.automation_consumer.replicas + label: "Default Replica Count" + type: int + default: 1 + - variable: services.automation_consumer.memoryLimit + label: "Memory Limit" + type: string + default: 1000Mi + - variable: services.automation_consumer.cpuLimit + label: "CPU Limit" + type: string + default: 500m + - variable: services.automation_consumer.memoryRequest + label: "Memory Request" + type: string + default: 50Mi + - variable: services.automation_consumer.cpuRequest + label: "CPU Request" + type: string + default: 50m + - variable: services.automation_consumer.assign_cluster_ip + label: "Assign Cluster IP" + type: boolean + default: false + - variable: env.automation_consumer_envs.event_stream_queue_name + label: "Event Stream Queue Name" + type: string + default: "plane.event_stream.automations" + - variable: env.automation_consumer_envs.event_stream_prefetch + label: "Event Stream Prefetch" + type: int + default: 10 + - variable: env.automation_consumer_envs.exchange_name + label: "Exchange Name" + type: string + default: "plane.event_stream" + - variable: env.automation_consumer_envs.event_types + label: "Event Types" + type: string + default: "issue" + +- variable: services.iframely.enabled + label: "Enable Iframely" + type: boolean + default: false + group: "Iframely Setup" + show_subquestion_if: true + subquestions: + - variable: services.iframely.image + label: "Docker Image" + type: string + default: "artifacts.plane.so/makeplane/iframely:v1.2.0" + - variable: services.iframely.pullPolicy + label: "Iframely Pull Policy" + type: enum + options: + - "Always" + - "IfNotPresent" + - "Never" + default: "Always" + - variable: services.iframely.replicas + label: "Default Replica Count" + type: int + default: 1 + - variable: services.iframely.memoryLimit + label: "Memory Limit" + type: string + default: 1000Mi + - variable: services.iframely.cpuLimit + label: "CPU Limit" + type: string + default: 500m + - variable: services.iframely.memoryRequest + label: "Memory Request" + type: string + default: 50Mi + - variable: services.iframely.cpuRequest + label: "CPU Request" + type: string + default: 50m + - variable: services.iframely.assign_cluster_ip + label: "Assign Cluster IP" + type: boolean + default: false + - variable: services.redis.local_setup label: "Install Redis" type: boolean diff --git a/charts/plane-enterprise/templates/config-secrets/automations-consumer.yaml b/charts/plane-enterprise/templates/config-secrets/automations-consumer.yaml new file mode 100644 index 00000000..0737fd3b --- /dev/null +++ b/charts/plane-enterprise/templates/config-secrets/automations-consumer.yaml @@ -0,0 +1,13 @@ +{{- if .Values.services.automation_consumer.enabled }} +apiVersion: v1 +kind: ConfigMap +metadata: + namespace: {{ .Release.Namespace }} + name: {{ .Release.Name }}-automation-consumer-vars +data: + AUTOMATION_EVENT_STREAM_QUEUE_NAME: {{ .Values.env.automation_consumer_envs.event_stream_queue_name | default "plane.event_stream.automations" | quote }} + AUTOMATION_EVENT_STREAM_PREFETCH: {{ .Values.env.automation_consumer_envs.event_stream_prefetch | default 10 | quote }} + AUTOMATION_EXCHANGE_NAME: {{ .Values.env.automation_consumer_envs.exchange_name | default "plane.event_stream" | quote }} + AUTOMATION_EVENT_TYPES: {{ .Values.env.automation_consumer_envs.event_types | default "issue" | quote }} +--- +{{- end }} \ No newline at end of file diff --git a/charts/plane-enterprise/templates/config-secrets/live-env.yaml b/charts/plane-enterprise/templates/config-secrets/live-env.yaml index b76f49eb..1311c897 100644 --- a/charts/plane-enterprise/templates/config-secrets/live-env.yaml +++ b/charts/plane-enterprise/templates/config-secrets/live-env.yaml @@ -27,4 +27,10 @@ data: LIVE_SENTRY_ENVIRONMENT: {{ .Values.env.live_sentry_environment | default "" | quote }} LIVE_SENTRY_TRACES_SAMPLE_RATE: {{ .Values.env.live_sentry_traces_sample_rate | default "" | quote }} LIVE_BASE_PATH: "/live" + + {{- if .Values.env.external_iframely_url }} + IFRAMELY_URL: {{ .Values.env.external_iframely_url | default "" | quote }} + {{- else }} + IFRAMELY_URL: http://{{ .Release.Name }}-iframely.{{ .Release.Namespace }}.svc.cluster.local:8061/ + {{- end }} --- diff --git a/charts/plane-enterprise/templates/config-secrets/outbox-poller.yaml b/charts/plane-enterprise/templates/config-secrets/outbox-poller.yaml new file mode 100644 index 00000000..5e146838 --- /dev/null +++ b/charts/plane-enterprise/templates/config-secrets/outbox-poller.yaml @@ -0,0 +1,22 @@ +{{- if .Values.services.outbox_poller.enabled }} +apiVersion: v1 +kind: ConfigMap +metadata: + namespace: {{ .Release.Namespace }} + name: {{ .Release.Name }}-outbox-poller-vars +data: + OUTBOX_POLLER_MEMORY_LIMIT_MB: {{ .Values.env.outbox_poller_envs.memory_limit_mb | default 400 | quote }} + OUTBOX_POLLER_INTERVAL_MIN: {{ .Values.env.outbox_poller_envs.interval_min | default 0.25 | quote }} + OUTBOX_POLLER_INTERVAL_MAX: {{ .Values.env.outbox_poller_envs.interval_max | default 2 | quote }} + OUTBOX_POLLER_BATCH_SIZE: {{ .Values.env.outbox_poller_envs.batch_size | default 250 | quote }} + OUTBOX_POLLER_MEMORY_CHECK_INTERVAL: {{ .Values.env.outbox_poller_envs.memory_check_interval | default 30 | quote }} + OUTBOX_POLLER_POOL_SIZE: {{ .Values.env.outbox_poller_envs.pool.size | default 4 | quote }} + OUTBOX_POLLER_POOL_MIN_SIZE: {{ .Values.env.outbox_poller_envs.pool.min_size | default 2 | quote }} + OUTBOX_POLLER_POOL_MAX_SIZE: {{ .Values.env.outbox_poller_envs.pool.max_size | default 10 | quote }} + OUTBOX_POLLER_POOL_TIMEOUT: {{ .Values.env.outbox_poller_envs.pool.timeout | default 30.0 | quote }} + OUTBOX_POLLER_POOL_MAX_IDLE: {{ .Values.env.outbox_poller_envs.pool.max_idle | default 300.0 | quote }} + OUTBOX_POLLER_POOL_MAX_LIFETIME: {{ .Values.env.outbox_poller_envs.pool.max_lifetime | default 3600 | quote }} + OUTBOX_POLLER_POOL_RECONNECT_TIMEOUT: {{ .Values.env.outbox_poller_envs.pool.reconnect_timeout | default 5.0 | quote }} + OUTBOX_POLLER_POOL_HEALTH_CHECK_INTERVAL: {{ .Values.env.outbox_poller_envs.pool.health_check_interval | default 60 | quote }} +--- +{{- end }} \ No newline at end of file diff --git a/charts/plane-enterprise/templates/workloads/automation-consumer.deployment.yaml b/charts/plane-enterprise/templates/workloads/automation-consumer.deployment.yaml new file mode 100644 index 00000000..7a9baf74 --- /dev/null +++ b/charts/plane-enterprise/templates/workloads/automation-consumer.deployment.yaml @@ -0,0 +1,51 @@ +{{- if .Values.services.automation_consumer.enabled }} +apiVersion: apps/v1 +kind: Deployment +metadata: + namespace: {{ .Release.Namespace }} + name: {{ .Release.Name }}-automation-consumer-wl +spec: + replicas: {{ .Values.services.automation_consumer.replicas | default 1}} + selector: + matchLabels: + app.name: {{ .Release.Namespace }}-{{ .Release.Name }}-automation-consumer + template: + metadata: + namespace: {{ .Release.Namespace }} + labels: + app.name: {{ .Release.Namespace }}-{{ .Release.Name }}-automation-consumer + annotations: + timestamp: {{ now | quote }} + spec: + containers: + - name: {{ .Release.Name }}-automation-consumer + imagePullPolicy: Always + image: {{ .Values.services.api.image | default "artifacts.plane.so/makeplane/backend-commercial" }}:{{ .Values.planeVersion }} + stdin: true + tty: true + resources: + requests: + memory: {{ .Values.services.automation_consumer.memoryRequest | default "1000Mi" | quote }} + cpu: {{ .Values.services.automation_consumer.cpuRequest | default "500m" | quote}} + limits: + memory: {{ .Values.services.automation_consumer.memoryLimit | default "1000Mi" | quote }} + cpu: {{ .Values.services.automation_consumer.cpuLimit | default "500m" | quote}} + command: + - ./bin/docker-entrypoint-automation-consumer.sh + envFrom: + - configMapRef: + name: {{ .Release.Name }}-automation-consumer-vars + optional: false + - configMapRef: + name: {{ .Release.Name }}-app-vars + optional: false + - secretRef: + name: {{ if not (empty .Values.external_secrets.app_env_existingSecret) }}{{ .Values.external_secrets.app_env_existingSecret }}{{ else }}{{ .Release.Name }}-app-secrets{{ end }} + optional: false + - secretRef: + name: {{ if not (empty .Values.external_secrets.doc_store_existingSecret) }}{{ .Values.external_secrets.doc_store_existingSecret }}{{ else }}{{ .Release.Name }}-doc-store-secrets{{ end }} + optional: false + + serviceAccount: {{ .Release.Name }}-srv-account + serviceAccountName: {{ .Release.Name }}-srv-account +{{- end }} \ No newline at end of file diff --git a/charts/plane-enterprise/templates/workloads/iframely.deployment.yaml b/charts/plane-enterprise/templates/workloads/iframely.deployment.yaml new file mode 100644 index 00000000..cdc0c9c2 --- /dev/null +++ b/charts/plane-enterprise/templates/workloads/iframely.deployment.yaml @@ -0,0 +1,58 @@ +{{- if and .Values.services.iframely.enabled (not .Values.env.external_iframely_url) }} +apiVersion: v1 +kind: Service +metadata: + namespace: {{ .Release.Namespace }} + name: {{ .Release.Name }}-iframely + labels: + app.name: {{ .Release.Namespace }}-{{ .Release.Name }}-iframely +spec: + clusterIP: None + ports: + - name: iframely-8061 + port: 8061 + protocol: TCP + targetPort: 8061 + selector: + app.name: {{ .Release.Namespace }}-{{ .Release.Name }}-iframely + +--- + +apiVersion: apps/v1 +kind: Deployment +metadata: + namespace: {{ .Release.Namespace }} + name: {{ .Release.Name }}-iframely-wl +spec: + replicas: {{ .Values.services.iframely.replicas | default 1 }} + selector: + matchLabels: + app.name: {{ .Release.Namespace }}-{{ .Release.Name }}-iframely + template: + metadata: + namespace: {{ .Release.Namespace }} + labels: + app.name: {{ .Release.Namespace }}-{{ .Release.Name }}-iframely + annotations: + timestamp: {{ now | quote }} + spec: + containers: + - name: {{ .Release.Name }}-iframely + imagePullPolicy: Always + image: {{ .Values.services.iframely.image | default "artifacts.plane.so/makeplane/iframely:v1.2.0" }} + stdin: true + tty: true + resources: + requests: + memory: {{ .Values.services.iframely.memoryRequest | default "50Mi" | quote }} + cpu: {{ .Values.services.iframely.cpuRequest | default "50m" | quote }} + limits: + memory: {{ .Values.services.iframely.memoryLimit | default "1000Mi" | quote }} + cpu: {{ .Values.services.iframely.cpuLimit | default "500m" | quote }} + command: + - node + args: + - server.js + serviceAccount: {{ .Release.Name }}-srv-account + serviceAccountName: {{ .Release.Name }}-srv-account +{{- end }} diff --git a/charts/plane-enterprise/templates/workloads/outbox-poller.deployment.yaml b/charts/plane-enterprise/templates/workloads/outbox-poller.deployment.yaml new file mode 100644 index 00000000..0ea7122c --- /dev/null +++ b/charts/plane-enterprise/templates/workloads/outbox-poller.deployment.yaml @@ -0,0 +1,48 @@ +{{- if .Values.services.outbox_poller.enabled }} +apiVersion: apps/v1 +kind: Deployment +metadata: + namespace: {{ .Release.Namespace }} + name: {{ .Release.Name }}-outbox-poller-wl +spec: + replicas: {{ .Values.services.outbox_poller.replicas | default 1}} + selector: + matchLabels: + app.name: {{ .Release.Namespace }}-{{ .Release.Name }}-outbox-poller + template: + metadata: + namespace: {{ .Release.Namespace }} + labels: + app.name: {{ .Release.Namespace }}-{{ .Release.Name }}-outbox-poller + annotations: + timestamp: {{ now | quote }} + spec: + containers: + - name: {{ .Release.Name }}-outbox-poller + imagePullPolicy: Always + image: {{ .Values.services.api.image | default "artifacts.plane.so/makeplane/backend-commercial" }}:{{ .Values.planeVersion }} + stdin: true + tty: true + resources: + requests: + memory: {{ .Values.services.outbox_poller.memoryRequest | default "1000Mi" | quote }} + cpu: {{ .Values.services.outbox_poller.cpuRequest | default "500m" | quote}} + limits: + memory: {{ .Values.services.outbox_poller.memoryLimit | default "1000Mi" | quote }} + cpu: {{ .Values.services.outbox_poller.cpuLimit | default "500m" | quote}} + command: + - ./bin/docker-entrypoint-outbox-poller.sh + envFrom: + - configMapRef: + name: {{ .Release.Name }}-outbox-poller-vars + optional: false + - configMapRef: + name: {{ .Release.Name }}-app-vars + optional: false + - secretRef: + name: {{ if not (empty .Values.external_secrets.app_env_existingSecret) }}{{ .Values.external_secrets.app_env_existingSecret }}{{ else }}{{ .Release.Name }}-app-secrets{{ end }} + optional: false + + serviceAccount: {{ .Release.Name }}-srv-account + serviceAccountName: {{ .Release.Name }}-srv-account +{{- end }} \ No newline at end of file diff --git a/charts/plane-enterprise/values.yaml b/charts/plane-enterprise/values.yaml index 845c5f94..c5d72417 100644 --- a/charts/plane-enterprise/values.yaml +++ b/charts/plane-enterprise/values.yaml @@ -1,4 +1,4 @@ -planeVersion: v1.13.0 +planeVersion: v1.14.0 dockerRegistry: enabled: false @@ -10,7 +10,7 @@ license: licenseServer: https://prime.plane.so licenseDomain: 'plane.example.com' -airgapped: +airgapped: enabled: false ingress: @@ -71,6 +71,17 @@ services: env: minio_endpoint_ssl: false + iframely: + enabled: false + replicas: 1 + memoryLimit: 1000Mi + cpuLimit: 500m + memoryRequest: 50Mi + cpuRequest: 50m + image: artifacts.plane.so/makeplane/iframely:v1.2.0 + pullPolicy: Always + assign_cluster_ip: false + web: replicas: 1 memoryLimit: 1000Mi @@ -137,12 +148,14 @@ services: cpuLimit: 500m memoryRequest: 50Mi cpuRequest: 50m + beatworker: replicas: 1 memoryLimit: 1000Mi cpuLimit: 500m memoryRequest: 50Mi cpuRequest: 50m + silo: enabled: true replicas: 1 @@ -180,6 +193,26 @@ services: image: artifacts.plane.so/makeplane/email-commercial pullPolicy: Always + outbox_poller: + enabled: false + replicas: 1 + memoryLimit: 1000Mi + cpuLimit: 500m + memoryRequest: 50Mi + cpuRequest: 50m + pullPolicy: Always + assign_cluster_ip: false + + automation_consumer: + enabled: false + replicas: 1 + memoryLimit: 1000Mi + cpuLimit: 500m + memoryRequest: 50Mi + cpuRequest: 50m + pullPolicy: Always + assign_cluster_ip: false + external_secrets: # Name of the existing Kubernetes Secret resource; see README for more details rabbitmq_existingSecret: '' @@ -224,6 +257,7 @@ env: live_sentry_environment: "" live_sentry_traces_sample_rate: "" live_server_secret_key: "htbqvBJAgpm9bzvf3r4urJer0ENReatceh" + external_iframely_url: "" silo_envs: sentry_dsn: '' @@ -238,3 +272,25 @@ env: email_service_envs: smtp_domain: '' + + outbox_poller_envs: + memory_limit_mb: 400 + interval_min: 0.25 + interval_max: 2 + batch_size: 250 + memory_check_interval: 30 + pool: + size: 4 + min_size: 2 + max_size: 10 + timeout: 30.0 + max_idle: 300.0 + max_lifetime: 3600 + reconnect_timeout: 5.0 + health_check_interval: 60 + + automation_consumer_envs: + event_stream_queue_name: "plane.event_stream.automations" + event_stream_prefetch: 10 + exchange_name: "plane.event_stream" + event_types: "issue"