Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions charts/plane-enterprise/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
66 changes: 63 additions & 3 deletions charts/plane-enterprise/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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=<subdomain.domain.tld or domain.tld>
```

Expand Down Expand Up @@ -65,7 +65,7 @@
```

Make sure you set the minimum required values as below.
- `planeVersion: v1.13.0 <or the last released version>`
- `planeVersion: v1.14.0 <or the last released version>`
- `license.licenseDomain: <The domain you have specified to host Plane>`
- `ingress.enabled: <true | false>`
- `ingress.ingressClass: <nginx or any other ingress class configured in your cluster>`
Expand All @@ -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. |

Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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 |
Expand Down
178 changes: 177 additions & 1 deletion charts/plane-enterprise/questions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
@@ -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 }}
Original file line number Diff line number Diff line change
Expand Up @@ -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 }}
---
Original file line number Diff line number Diff line change
@@ -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 }}
Loading