Add Activepieces integration for workflow automation
- Add Activepieces fork with SmoothSchedule custom piece - Create integrations app with Activepieces service layer - Add embed token endpoint for iframe integration - Create Automations page with embedded workflow builder - Add sidebar visibility fix for embed mode - Add list inactive customers endpoint to Public API - Include SmoothSchedule triggers: event created/updated/cancelled - Include SmoothSchedule actions: create/update/cancel events, list resources/services/customers 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
5
activepieces-fork/deploy/activepieces-helm/.gitignore
vendored
Normal file
5
activepieces-fork/deploy/activepieces-helm/.gitignore
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
# Ignore downloaded Helm chart dependencies
|
||||
charts/*.tgz
|
||||
|
||||
# Ignore Chart.lock file variations
|
||||
Chart.lock
|
||||
23
activepieces-fork/deploy/activepieces-helm/.helmignore
Normal file
23
activepieces-fork/deploy/activepieces-helm/.helmignore
Normal file
@@ -0,0 +1,23 @@
|
||||
# Patterns to ignore when building packages.
|
||||
# This supports shell glob matching, relative path matching, and
|
||||
# negation (prefixed with !). Only one pattern per line.
|
||||
.DS_Store
|
||||
# Common VCS dirs
|
||||
.git/
|
||||
.gitignore
|
||||
.bzr/
|
||||
.bzrignore
|
||||
.hg/
|
||||
.hgignore
|
||||
.svn/
|
||||
# Common backup files
|
||||
*.swp
|
||||
*.bak
|
||||
*.tmp
|
||||
*.orig
|
||||
*~
|
||||
# Various IDEs
|
||||
.project
|
||||
.idea/
|
||||
*.tmproj
|
||||
.vscode/
|
||||
39
activepieces-fork/deploy/activepieces-helm/Chart.yaml
Normal file
39
activepieces-fork/deploy/activepieces-helm/Chart.yaml
Normal file
@@ -0,0 +1,39 @@
|
||||
apiVersion: v2
|
||||
name: activepieces
|
||||
description: A Helm chart for Activepieces
|
||||
icon: https://cdn.activepieces.com/brand/logo.svg
|
||||
|
||||
# A chart can be either an 'application' or a 'library' chart.
|
||||
#
|
||||
# Application charts are a collection of templates that can be packaged into versioned archives
|
||||
# to be deployed.
|
||||
#
|
||||
# Library charts provide useful utilities or functions for the chart developer. They're included as
|
||||
# a dependency of application charts to inject those utilities and functions into the rendering
|
||||
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
|
||||
type: application
|
||||
|
||||
# This is the chart version. This version number should be incremented each time you make changes
|
||||
# to the chart and its templates, including the app version.
|
||||
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
||||
version: 0.3.0
|
||||
|
||||
# This is the version number of the application being deployed. This version number should be
|
||||
# incremented each time you make changes to the application. Versions are not expected to
|
||||
# follow Semantic Versioning. They should reflect the version the application is using.
|
||||
# It is recommended to use it with quotes.
|
||||
appVersion: "0.71.2"
|
||||
|
||||
dependencies:
|
||||
- name: kubernetes-secret-generator
|
||||
version: "3.4.1"
|
||||
repository: "https://helm.mittwald.de"
|
||||
condition: kubernetes-secret-generator.enabled
|
||||
- name: postgresql
|
||||
version: "11.7.2"
|
||||
repository: "https://charts.bitnami.com/bitnami"
|
||||
condition: postgresql.enabled
|
||||
- name: redis
|
||||
version: "17.4.2"
|
||||
repository: "https://charts.bitnami.com/bitnami"
|
||||
condition: redis.enabled
|
||||
@@ -0,0 +1 @@
|
||||
Activepieces has been deployed successfully!
|
||||
@@ -0,0 +1,62 @@
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "activepieces.name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "activepieces.fullname" -}}
|
||||
{{- if .Values.fullnameOverride }}
|
||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride }}
|
||||
{{- if contains $name .Release.Name }}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "activepieces.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Common labels
|
||||
*/}}
|
||||
{{- define "activepieces.labels" -}}
|
||||
helm.sh/chart: {{ include "activepieces.chart" . }}
|
||||
{{ include "activepieces.selectorLabels" . }}
|
||||
{{- if .Chart.AppVersion }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||
{{- end }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Selector labels
|
||||
*/}}
|
||||
{{- define "activepieces.selectorLabels" -}}
|
||||
app.kubernetes.io/name: {{ include "activepieces.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create the name of the service account to use
|
||||
*/}}
|
||||
{{- define "activepieces.serviceAccountName" -}}
|
||||
{{- if .Values.serviceAccount.create }}
|
||||
{{- default (include "activepieces.fullname" .) .Values.serviceAccount.name }}
|
||||
{{- else }}
|
||||
{{- default "default" .Values.serviceAccount.name }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,469 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ include "activepieces.fullname" . }}
|
||||
labels:
|
||||
{{- include "activepieces.labels" . | nindent 4 }}
|
||||
spec:
|
||||
{{- if not .Values.autoscaling.enabled }}
|
||||
replicas: {{ .Values.replicaCount }}
|
||||
{{- end }}
|
||||
selector:
|
||||
matchLabels:
|
||||
{{- include "activepieces.selectorLabels" . | nindent 6 }}
|
||||
template:
|
||||
metadata:
|
||||
{{- with .Values.podAnnotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
labels:
|
||||
{{- include "activepieces.labels" . | nindent 8 }}
|
||||
{{- with .Values.podLabels }}
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- with .Values.imagePullSecrets }}
|
||||
imagePullSecrets:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
serviceAccountName: {{ include "activepieces.serviceAccountName" . }}
|
||||
{{- with .Values.podSecurityContext }}
|
||||
securityContext:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: {{ .Chart.Name }}
|
||||
{{- with .Values.securityContext }}
|
||||
securityContext:
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
ports:
|
||||
- name: http
|
||||
containerPort: {{ .Values.container.port }}
|
||||
protocol: TCP
|
||||
env:
|
||||
# Core Activepieces configuration
|
||||
{{- if .Values.activepieces.frontendUrl }}
|
||||
- name: AP_FRONTEND_URL
|
||||
value: {{ .Values.activepieces.frontendUrl | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.apiKey }}
|
||||
- name: AP_API_KEY
|
||||
value: {{ .Values.activepieces.apiKey | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.clientRealIpHeader }}
|
||||
- name: AP_CLIENT_REAL_IP_HEADER
|
||||
value: {{ .Values.activepieces.clientRealIpHeader | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.configPath }}
|
||||
- name: AP_CONFIG_PATH
|
||||
value: {{ .Values.activepieces.configPath | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.devPieces }}
|
||||
- name: AP_DEV_PIECES
|
||||
value: {{ .Values.activepieces.devPieces | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.internalUrl }}
|
||||
- name: AP_INTERNAL_URL
|
||||
value: {{ .Values.activepieces.internalUrl | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.maxConcurrentJobsPerProject }}
|
||||
- name: AP_MAX_CONCURRENT_JOBS_PER_PROJECT
|
||||
value: {{ .Values.activepieces.maxConcurrentJobsPerProject | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.perplexityBaseUrl }}
|
||||
- name: AP_PERPLEXITY_BASE_URL
|
||||
value: {{ .Values.activepieces.perplexityBaseUrl | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.piecesSyncMode }}
|
||||
- name: AP_PIECES_SYNC_MODE
|
||||
value: {{ .Values.activepieces.piecesSyncMode | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.featurebaseApiKey }}
|
||||
- name: AP_FEATUREBASE_API_KEY
|
||||
value: {{ .Values.activepieces.featurebaseApiKey | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.enableFlowOnPublish }}
|
||||
- name: AP_ENABLE_FLOW_ON_PUBLISH
|
||||
value: {{ .Values.activepieces.enableFlowOnPublish | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.issueArchiveDays }}
|
||||
- name: AP_ISSUE_ARCHIVE_DAYS
|
||||
value: {{ .Values.activepieces.issueArchiveDays | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.pausedFlowTimeoutDays }}
|
||||
- name: AP_PAUSED_FLOW_TIMEOUT_DAYS
|
||||
value: {{ .Values.activepieces.pausedFlowTimeoutDays | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.logLevel }}
|
||||
- name: AP_LOG_LEVEL
|
||||
value: {{ .Values.activepieces.logLevel | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.logPretty }}
|
||||
- name: AP_LOG_PRETTY
|
||||
value: {{ .Values.activepieces.logPretty | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.appWebhookSecrets }}
|
||||
- name: AP_APP_WEBHOOK_SECRETS
|
||||
value: {{ .Values.activepieces.appWebhookSecrets | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.maxFileSizeMb }}
|
||||
- name: AP_MAX_FILE_SIZE_MB
|
||||
value: {{ .Values.activepieces.maxFileSizeMb | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.sandboxMemoryLimit }}
|
||||
- name: AP_SANDBOX_MEMORY_LIMIT
|
||||
value: {{ .Values.activepieces.sandboxMemoryLimit | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.sandboxPropagatedEnvVars }}
|
||||
- name: AP_SANDBOX_PROPAGATED_ENV_VARS
|
||||
value: {{ .Values.activepieces.sandboxPropagatedEnvVars | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.piecesSource }}
|
||||
- name: AP_PIECES_SOURCE
|
||||
value: {{ .Values.activepieces.piecesSource | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.apiRateLimiting.authn.enabled }}
|
||||
- name: AP_API_RATE_LIMIT_AUTHN_ENABLED
|
||||
value: {{ .Values.activepieces.apiRateLimiting.authn.enabled | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.apiRateLimiting.authn.max }}
|
||||
- name: AP_API_RATE_LIMIT_AUTHN_MAX
|
||||
value: {{ .Values.activepieces.apiRateLimiting.authn.max | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.apiRateLimiting.authn.window }}
|
||||
- name: AP_API_RATE_LIMIT_AUTHN_WINDOW
|
||||
value: {{ .Values.activepieces.apiRateLimiting.authn.window | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.projectRateLimiter.enabled }}
|
||||
- name: AP_PROJECT_RATE_LIMITER_ENABLED
|
||||
value: {{ .Values.activepieces.projectRateLimiter.enabled | quote }}
|
||||
{{- end }}
|
||||
- name: AP_ENCRYPTION_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ include "activepieces.fullname" . }}-secrets
|
||||
key: encryption-key
|
||||
- name: AP_JWT_SECRET
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ include "activepieces.fullname" . }}-jwt-secret
|
||||
key: jwt-secret
|
||||
{{- if .Values.activepieces.environment }}
|
||||
- name: AP_ENVIRONMENT
|
||||
value: {{ .Values.activepieces.environment | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.edition }}
|
||||
- name: AP_EDITION
|
||||
value: {{ .Values.activepieces.edition | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.executionMode }}
|
||||
- name: AP_EXECUTION_MODE
|
||||
value: {{ .Values.activepieces.executionMode | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.telemetryEnabled }}
|
||||
- name: AP_TELEMETRY_ENABLED
|
||||
value: {{ .Values.activepieces.telemetryEnabled | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.templatesSourceUrl }}
|
||||
- name: AP_TEMPLATES_SOURCE_URL
|
||||
value: {{ .Values.activepieces.templatesSourceUrl | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.flowWorkerConcurrency }}
|
||||
- name: AP_FLOW_WORKER_CONCURRENCY
|
||||
value: {{ .Values.activepieces.flowWorkerConcurrency | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.scheduledWorkerConcurrency }}
|
||||
- name: AP_SCHEDULED_WORKER_CONCURRENCY
|
||||
value: {{ .Values.activepieces.scheduledWorkerConcurrency | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.triggerDefaultPollInterval }}
|
||||
- name: AP_TRIGGER_DEFAULT_POLL_INTERVAL
|
||||
value: {{ .Values.activepieces.triggerDefaultPollInterval | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.triggerTimeoutSeconds }}
|
||||
- name: AP_TRIGGER_TIMEOUT_SECONDS
|
||||
value: {{ .Values.activepieces.triggerTimeoutSeconds | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.flowTimeoutSeconds }}
|
||||
- name: AP_FLOW_TIMEOUT_SECONDS
|
||||
value: {{ .Values.activepieces.flowTimeoutSeconds | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.webhookTimeoutSeconds }}
|
||||
- name: AP_WEBHOOK_TIMEOUT_SECONDS
|
||||
value: {{ .Values.activepieces.webhookTimeoutSeconds | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.executionDataRetentionDays }}
|
||||
- name: AP_EXECUTION_DATA_RETENTION_DAYS
|
||||
value: {{ .Values.activepieces.executionDataRetentionDays | quote }}
|
||||
{{- end }}
|
||||
{{- if or .Values.postgresql.enabled (or .Values.postgresql.host .Values.postgresql.url) }}
|
||||
# PostgreSQL configuration (subchart or external)
|
||||
- name: AP_DB_TYPE
|
||||
value: "POSTGRES"
|
||||
{{- if .Values.postgresql.auth.database }}
|
||||
- name: AP_POSTGRES_DATABASE
|
||||
value: {{ .Values.postgresql.auth.database | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.postgresql.host }}
|
||||
- name: AP_POSTGRES_HOST
|
||||
value: {{ .Values.postgresql.host | quote }}
|
||||
{{- else if .Values.postgresql.enabled }}
|
||||
- name: AP_POSTGRES_HOST
|
||||
value: {{ printf "%s-postgresql" (include "activepieces.fullname" .) | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.postgresql.port }}
|
||||
- name: AP_POSTGRES_PORT
|
||||
value: {{ .Values.postgresql.port | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.postgresql.auth.username }}
|
||||
- name: AP_POSTGRES_USERNAME
|
||||
value: {{ .Values.postgresql.auth.username | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.postgresql.auth.externalSecret }}
|
||||
- name: AP_POSTGRES_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ .Values.postgresql.auth.externalSecret.name | quote }}
|
||||
key: {{ .Values.postgresql.auth.externalSecret.key | quote }}
|
||||
{{- else if .Values.postgresql.auth.password }}
|
||||
- name: AP_POSTGRES_PASSWORD
|
||||
value: {{ .Values.postgresql.auth.password | quote }}
|
||||
{{- else if .Values.postgresql.enabled }}
|
||||
- name: AP_POSTGRES_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ include "activepieces.fullname" . }}-postgresql
|
||||
key: postgres-password
|
||||
{{- end }}
|
||||
{{- if .Values.postgresql.useSSL }}
|
||||
- name: AP_POSTGRES_USE_SSL
|
||||
value: {{ .Values.postgresql.useSSL | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.postgresql.sslCa }}
|
||||
- name: AP_POSTGRES_SSL_CA
|
||||
value: {{ .Values.postgresql.sslCa | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.postgresql.url }}
|
||||
- name: AP_POSTGRES_URL
|
||||
value: {{ .Values.postgresql.url | quote }}
|
||||
{{- end }}
|
||||
{{- else }}
|
||||
# SQLite configuration (fallback)
|
||||
- name: AP_DB_TYPE
|
||||
value: "SQLITE3"
|
||||
{{- end }}
|
||||
{{- if or .Values.redis.enabled (or .Values.redis.host .Values.redis.url) }}
|
||||
# Redis configuration (subchart or external)
|
||||
{{- if .Values.redis.host }}
|
||||
- name: AP_REDIS_HOST
|
||||
value: {{ .Values.redis.host | quote }}
|
||||
{{- else if .Values.redis.enabled }}
|
||||
- name: AP_REDIS_HOST
|
||||
value: {{ printf "%s-redis-master" (include "activepieces.fullname" .) | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.redis.port }}
|
||||
- name: AP_REDIS_PORT
|
||||
value: {{ .Values.redis.port | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.redis.useSSL }}
|
||||
- name: AP_REDIS_USE_SSL
|
||||
value: {{ .Values.redis.useSSL | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.redis.sslCaFile }}
|
||||
- name: AP_REDIS_SSL_CA_FILE
|
||||
value: {{ .Values.redis.sslCaFile | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.redis.db }}
|
||||
- name: AP_REDIS_DB
|
||||
value: {{ .Values.redis.db | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.redis.user }}
|
||||
- name: AP_REDIS_USER
|
||||
value: {{ .Values.redis.user | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.redis.url }}
|
||||
- name: AP_REDIS_URL
|
||||
value: {{ .Values.redis.url | quote }}
|
||||
{{- end }}
|
||||
{{- if eq .Values.redis.type "sentinel" }}
|
||||
- name: AP_REDIS_TYPE
|
||||
value: "SENTINEL"
|
||||
{{- else }}
|
||||
# Default to DEFAULT for standalone Redis
|
||||
- name: AP_REDIS_TYPE
|
||||
value: "DEFAULT"
|
||||
{{- end }}
|
||||
{{- if .Values.redis.sentinel.role }}
|
||||
- name: AP_REDIS_SENTINEL_ROLE
|
||||
value: {{ .Values.redis.sentinel.role | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.redis.sentinel.hosts }}
|
||||
- name: AP_REDIS_SENTINEL_HOSTS
|
||||
value: {{ .Values.redis.sentinel.hosts | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.redis.sentinel.name }}
|
||||
- name: AP_REDIS_SENTINEL_NAME
|
||||
value: {{ .Values.redis.sentinel.name | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.redis.failedJob.retentionDays }}
|
||||
- name: AP_REDIS_FAILED_JOB_RETENTION_DAYS
|
||||
value: {{ .Values.redis.failedJob.retentionDays | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.redis.failedJob.retentionMaxCount }}
|
||||
- name: AP_REDIS_FAILED_JOB_RETENTION_MAX_COUNT
|
||||
value: {{ .Values.redis.failedJob.retentionMaxCount | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.redis.auth.externalSecret }}
|
||||
- name: AP_REDIS_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ .Values.redis.auth.externalSecret.name | quote }}
|
||||
key: {{ .Values.redis.auth.externalSecret.key | quote }}
|
||||
{{- else if .Values.redis.auth.password }}
|
||||
- name: AP_REDIS_PASSWORD
|
||||
value: {{ .Values.redis.auth.password | quote }}
|
||||
{{- else if and .Values.redis.enabled .Values.redis.auth.enabled }}
|
||||
- name: AP_REDIS_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ .Release.Name }}-redis
|
||||
key: redis-password
|
||||
{{- end }}
|
||||
{{- else }}
|
||||
# Memory queue (fallback)
|
||||
- name: AP_REDIS_TYPE
|
||||
value: "MEMORY"
|
||||
{{- end }}
|
||||
{{- if .Values.smtp.enabled }}
|
||||
# SMTP configuration
|
||||
{{- if .Values.smtp.host }}
|
||||
- name: AP_SMTP_HOST
|
||||
value: {{ .Values.smtp.host | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.smtp.port }}
|
||||
- name: AP_SMTP_PORT
|
||||
value: {{ .Values.smtp.port | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.smtp.username }}
|
||||
- name: AP_SMTP_USERNAME
|
||||
value: {{ .Values.smtp.username | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.smtp.password }}
|
||||
- name: AP_SMTP_PASSWORD
|
||||
value: {{ .Values.smtp.password | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.smtp.senderEmail }}
|
||||
- name: AP_SMTP_SENDER_EMAIL
|
||||
value: {{ .Values.smtp.senderEmail | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.smtp.senderName }}
|
||||
- name: AP_SMTP_SENDER_NAME
|
||||
value: {{ .Values.smtp.senderName | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.s3.enabled }}
|
||||
# S3 configuration
|
||||
{{- if .Values.s3.accessKeyId }}
|
||||
- name: AP_S3_ACCESS_KEY_ID
|
||||
value: {{ .Values.s3.accessKeyId | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.s3.secretAccessKey }}
|
||||
- name: AP_S3_SECRET_ACCESS_KEY
|
||||
value: {{ .Values.s3.secretAccessKey | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.s3.bucket }}
|
||||
- name: AP_S3_BUCKET
|
||||
value: {{ .Values.s3.bucket | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.s3.endpoint }}
|
||||
- name: AP_S3_ENDPOINT
|
||||
value: {{ .Values.s3.endpoint | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.s3.region }}
|
||||
- name: AP_S3_REGION
|
||||
value: {{ .Values.s3.region | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.s3.useSignedUrls }}
|
||||
- name: AP_S3_USE_SIGNED_URLS
|
||||
value: {{ .Values.s3.useSignedUrls | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.s3.useIrsa }}
|
||||
- name: AP_S3_USE_IRSA
|
||||
value: {{ .Values.s3.useIrsa | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.queueUi.enabled }}
|
||||
# Queue UI configuration
|
||||
- name: AP_QUEUE_UI_ENABLED
|
||||
value: {{ .Values.queueUi.enabled | quote }}
|
||||
{{- if .Values.queueUi.username }}
|
||||
- name: AP_QUEUE_UI_USERNAME
|
||||
value: {{ .Values.queueUi.username | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.queueUi.password }}
|
||||
- name: AP_QUEUE_UI_PASSWORD
|
||||
value: {{ .Values.queueUi.password | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.engineExecutablePath }}
|
||||
- name: AP_ENGINE_EXECUTABLE_PATH
|
||||
value: {{ .Values.activepieces.engineExecutablePath | quote }}
|
||||
{{- end }}
|
||||
# OpenTelemetry configuration
|
||||
{{- if .Values.activepieces.otel.enabled }}
|
||||
- name: AP_OTEL_ENABLED
|
||||
value: {{ .Values.activepieces.otel.enabled | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.otel.exporterOtlpEndpoint }}
|
||||
- name: OTEL_EXPORTER_OTLP_ENDPOINT
|
||||
value: {{ .Values.activepieces.otel.exporterOtlpEndpoint | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.activepieces.otel.exporterOtlpHeaders }}
|
||||
- name: OTEL_EXPORTER_OTLP_HEADERS
|
||||
value: {{ .Values.activepieces.otel.exporterOtlpHeaders | quote }}
|
||||
{{- end }}
|
||||
{{- with .Values.livenessProbe }}
|
||||
livenessProbe:
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- with .Values.readinessProbe }}
|
||||
readinessProbe:
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- with .Values.resources }}
|
||||
resources:
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
volumeMounts:
|
||||
{{- if .Values.persistence.enabled }}
|
||||
- name: cache
|
||||
mountPath: {{ .Values.persistence.mountPath | quote }}
|
||||
{{- end }}
|
||||
{{- with .Values.volumeMounts }}
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
volumes:
|
||||
{{- if .Values.persistence.enabled }}
|
||||
- name: cache
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ include "activepieces.fullname" . }}-cache
|
||||
{{- end }}
|
||||
{{- with .Values.volumes }}
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.affinity }}
|
||||
affinity:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.tolerations }}
|
||||
tolerations:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,32 @@
|
||||
{{- if .Values.autoscaling.enabled }}
|
||||
apiVersion: autoscaling/v2
|
||||
kind: HorizontalPodAutoscaler
|
||||
metadata:
|
||||
name: {{ include "activepieces.fullname" . }}
|
||||
labels:
|
||||
{{- include "activepieces.labels" . | nindent 4 }}
|
||||
spec:
|
||||
scaleTargetRef:
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
name: {{ include "activepieces.fullname" . }}
|
||||
minReplicas: {{ .Values.autoscaling.minReplicas }}
|
||||
maxReplicas: {{ .Values.autoscaling.maxReplicas }}
|
||||
metrics:
|
||||
{{- if .Values.autoscaling.targetCPUUtilizationPercentage }}
|
||||
- type: Resource
|
||||
resource:
|
||||
name: cpu
|
||||
target:
|
||||
type: Utilization
|
||||
averageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }}
|
||||
{{- end }}
|
||||
{{- if .Values.autoscaling.targetMemoryUtilizationPercentage }}
|
||||
- type: Resource
|
||||
resource:
|
||||
name: memory
|
||||
target:
|
||||
type: Utilization
|
||||
averageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,43 @@
|
||||
{{- if .Values.ingress.enabled -}}
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: {{ include "activepieces.fullname" . }}
|
||||
labels:
|
||||
{{- include "activepieces.labels" . | nindent 4 }}
|
||||
{{- with .Values.ingress.annotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- with .Values.ingress.className }}
|
||||
ingressClassName: {{ . }}
|
||||
{{- end }}
|
||||
{{- if .Values.ingress.tls }}
|
||||
tls:
|
||||
{{- range .Values.ingress.tls }}
|
||||
- hosts:
|
||||
{{- range .hosts }}
|
||||
- {{ . | quote }}
|
||||
{{- end }}
|
||||
secretName: {{ .secretName }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
rules:
|
||||
{{- range .Values.ingress.hosts }}
|
||||
- host: {{ .host | quote }}
|
||||
http:
|
||||
paths:
|
||||
{{- range .paths }}
|
||||
- path: {{ .path }}
|
||||
{{- with .pathType }}
|
||||
pathType: {{ . }}
|
||||
{{- end }}
|
||||
backend:
|
||||
service:
|
||||
name: {{ include "activepieces.fullname" $ }}
|
||||
port:
|
||||
number: {{ $.Values.service.port }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,14 @@
|
||||
{{- if .Values.persistence.enabled }}
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: {{ include "activepieces.fullname" . }}-cache
|
||||
labels:
|
||||
{{- include "activepieces.labels" . | nindent 4 }}
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.persistence.size | quote }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,24 @@
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: {{ include "activepieces.fullname" . }}-secrets
|
||||
labels:
|
||||
{{- include "activepieces.labels" . | nindent 4 }}
|
||||
annotations:
|
||||
secret-generator.v1.mittwald.de/autogenerate: encryption-key
|
||||
secret-generator.v1.mittwald.de/encoding: hex
|
||||
secret-generator.v1.mittwald.de/length: "32"
|
||||
type: Opaque
|
||||
data: {}
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: {{ include "activepieces.fullname" . }}-jwt-secret
|
||||
labels:
|
||||
{{- include "activepieces.labels" . | nindent 4 }}
|
||||
annotations:
|
||||
secret-generator.v1.mittwald.de/autogenerate: jwt-secret
|
||||
secret-generator.v1.mittwald.de/length: "64"
|
||||
type: Opaque
|
||||
data: {}
|
||||
@@ -0,0 +1,15 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ include "activepieces.fullname" . }}
|
||||
labels:
|
||||
{{- include "activepieces.labels" . | nindent 4 }}
|
||||
spec:
|
||||
type: {{ .Values.service.type }}
|
||||
ports:
|
||||
- port: {{ .Values.service.port }}
|
||||
targetPort: http
|
||||
protocol: TCP
|
||||
name: http
|
||||
selector:
|
||||
{{- include "activepieces.selectorLabels" . | nindent 4 }}
|
||||
@@ -0,0 +1,13 @@
|
||||
{{- if .Values.serviceAccount.create -}}
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: {{ include "activepieces.serviceAccountName" . }}
|
||||
labels:
|
||||
{{- include "activepieces.labels" . | nindent 4 }}
|
||||
{{- with .Values.serviceAccount.annotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
automountServiceAccountToken: {{ .Values.serviceAccount.automount }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,15 @@
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
name: "{{ include "activepieces.fullname" . }}-test-connection"
|
||||
labels:
|
||||
{{- include "activepieces.labels" . | nindent 4 }}
|
||||
annotations:
|
||||
"helm.sh/hook": test
|
||||
spec:
|
||||
containers:
|
||||
- name: wget
|
||||
image: busybox
|
||||
command: ['wget']
|
||||
args: ['{{ include "activepieces.fullname" . }}:{{ .Values.service.port }}']
|
||||
restartPolicy: Never
|
||||
324
activepieces-fork/deploy/activepieces-helm/values.yaml
Normal file
324
activepieces-fork/deploy/activepieces-helm/values.yaml
Normal file
@@ -0,0 +1,324 @@
|
||||
# Default values for activepieces.
|
||||
# This is a YAML-formatted file.
|
||||
# Declare variables to be passed into your templates.
|
||||
|
||||
# This will set the replicaset count more information can be found here: https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/
|
||||
replicaCount: 1
|
||||
|
||||
# This sets the container image more information can be found here: https://kubernetes.io/docs/concepts/containers/images/
|
||||
image:
|
||||
repository: ghcr.io/activepieces/activepieces
|
||||
# This sets the pull policy for images.
|
||||
pullPolicy: IfNotPresent
|
||||
# Overrides the image tag whose default is the chart appVersion.
|
||||
tag: ""
|
||||
|
||||
# This is for the secrets for pulling an image from a private repository more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
|
||||
imagePullSecrets: []
|
||||
# This is to override the chart name.
|
||||
nameOverride: ""
|
||||
fullnameOverride: ""
|
||||
|
||||
# This section builds out the service account more information can be found here: https://kubernetes.io/docs/concepts/security/service-accounts/
|
||||
serviceAccount:
|
||||
# Specifies whether a service account should be created
|
||||
create: true
|
||||
# Automatically mount a ServiceAccount's API credentials?
|
||||
automount: true
|
||||
# Annotations to add to the service account
|
||||
annotations: {}
|
||||
# The name of the service account to use.
|
||||
# If not set and create is true, a name is generated using the fullname template
|
||||
name: ""
|
||||
|
||||
# This is for setting Kubernetes Annotations to a Pod.
|
||||
# For more information checkout: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
|
||||
podAnnotations: {}
|
||||
# This is for setting Kubernetes Labels to a Pod.
|
||||
# For more information checkout: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
|
||||
podLabels: {}
|
||||
|
||||
podSecurityContext: {}
|
||||
# fsGroup: 2000
|
||||
|
||||
securityContext: {}
|
||||
# capabilities:
|
||||
# drop:
|
||||
# - ALL
|
||||
# readOnlyRootFilesystem: true
|
||||
# runAsNonRoot: true
|
||||
# runAsUser: 1000
|
||||
|
||||
# Container configuration
|
||||
container:
|
||||
port: 80
|
||||
|
||||
# This is for setting up a service more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/
|
||||
service:
|
||||
# This sets the service type more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
|
||||
type: ClusterIP
|
||||
# This sets the ports more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/#field-spec-ports
|
||||
port: 80
|
||||
|
||||
# This block is for setting up the ingress for more information can be found here: https://kubernetes.io/docs/concepts/services-networking/ingress/
|
||||
ingress:
|
||||
enabled: false
|
||||
className: ""
|
||||
annotations: {}
|
||||
# kubernetes.io/ingress.class: nginx
|
||||
# kubernetes.io/tls-acme: "true"
|
||||
hosts:
|
||||
- host: chart-example.local
|
||||
paths:
|
||||
- path: /
|
||||
pathType: ImplementationSpecific
|
||||
tls: []
|
||||
# - secretName: chart-example-tls
|
||||
# hosts:
|
||||
# - chart-example.local
|
||||
|
||||
resources: {}
|
||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||
# choice for the user. This also increases chances charts run on environments with little
|
||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||
# limits:
|
||||
# cpu: 100m
|
||||
# memory: 128Mi
|
||||
# requests:
|
||||
# cpu: 100m
|
||||
# memory: 128Mi
|
||||
|
||||
# This is to setup the liveness and readiness probes more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /v1/health
|
||||
port: http
|
||||
initialDelaySeconds: 30
|
||||
periodSeconds: 10
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /v1/health
|
||||
port: http
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 5
|
||||
|
||||
# This section is for setting up autoscaling more information can be found here: https://kubernetes.io/docs/concepts/workloads/autoscaling/
|
||||
autoscaling:
|
||||
enabled: false
|
||||
minReplicas: 1
|
||||
maxReplicas: 100
|
||||
targetCPUUtilizationPercentage: 80
|
||||
# targetMemoryUtilizationPercentage: 80
|
||||
|
||||
persistence:
|
||||
enabled: true
|
||||
size: 2Gi
|
||||
mountPath: "/usr/src/app/cache"
|
||||
|
||||
volumes: []
|
||||
volumeMounts: []
|
||||
|
||||
nodeSelector: {}
|
||||
tolerations: []
|
||||
affinity: {}
|
||||
|
||||
activepieces:
|
||||
# ============================================================================
|
||||
# REQUIRED: Core configuration that must be set for production deployment
|
||||
# ============================================================================
|
||||
|
||||
# The URL where Activepieces will be accessible (e.g., https://activepieces.yourdomain.com)
|
||||
frontendUrl: "http://localhost:4200"
|
||||
|
||||
# Edition: ce (Community) or ee (Enterprise)
|
||||
# Community Edition (ce) is the default open-source version
|
||||
edition: "ce"
|
||||
|
||||
# Execution mode for flows - see: https://www.activepieces.com/docs/install/architecture/workers
|
||||
# Options: SANDBOX_CODE_ONLY, UNSANDBOXED
|
||||
executionMode: "SANDBOX_CODE_ONLY"
|
||||
|
||||
# Environment: prod or dev
|
||||
environment: "prod"
|
||||
|
||||
# ============================================================================
|
||||
# OPTIONAL: Additional configuration (defaults are usually sufficient)
|
||||
# ============================================================================
|
||||
|
||||
telemetryEnabled: true
|
||||
templatesSourceUrl: "https://cloud.activepieces.com/api/v1/templates"
|
||||
flowWorkerConcurrency: ""
|
||||
scheduledWorkerConcurrency: ""
|
||||
triggerDefaultPollInterval: ""
|
||||
triggerTimeoutSeconds: ""
|
||||
flowTimeoutSeconds: ""
|
||||
webhookTimeoutSeconds: ""
|
||||
executionDataRetentionDays: ""
|
||||
issueArchiveDays: ""
|
||||
pausedFlowTimeoutDays: ""
|
||||
logLevel: "info"
|
||||
logPretty: false
|
||||
apiRateLimiting:
|
||||
authn:
|
||||
enabled: false
|
||||
max: 100
|
||||
window: 60
|
||||
projectRateLimiter:
|
||||
enabled: false
|
||||
piecesSource: ""
|
||||
devPieces: false
|
||||
piecesSyncMode: ""
|
||||
|
||||
# ============================================================================
|
||||
# OPTIONAL: Advanced configuration (only set if needed)
|
||||
# ============================================================================
|
||||
|
||||
# Networking & API
|
||||
clientRealIpHeader: "" # Header to extract real client IP (e.g., X-Forwarded-For)
|
||||
apiKey: "" # API key for platform authentication
|
||||
internalUrl: "" # Internal URL for service communication
|
||||
|
||||
# Performance & Limits
|
||||
maxConcurrentJobsPerProject: "" # Limit concurrent jobs per project
|
||||
maxFileSizeMb: "" # Maximum file upload size in MB
|
||||
sandboxMemoryLimit: "" # Memory limit for sandbox execution
|
||||
sandboxPropagatedEnvVars: "" # Environment variables to pass to sandbox
|
||||
|
||||
# Integrations
|
||||
perplexityBaseUrl: "" # Custom Perplexity AI base URL
|
||||
featurebaseApiKey: "" # Featurebase API key for feedback
|
||||
appWebhookSecrets: "" # Secrets for app webhooks
|
||||
|
||||
# UI & Behavior
|
||||
showChangelog: true # Show changelog to users
|
||||
enableFlowOnPublish: true # Auto-enable flows when published
|
||||
|
||||
# System Paths
|
||||
configPath: "" # Custom config file path
|
||||
engineExecutablePath: "dist/packages/engine/main.js" # Engine executable path
|
||||
|
||||
# OpenTelemetry Configuration (for observability)
|
||||
otel:
|
||||
enabled: false
|
||||
exporterOtlpEndpoint: ""
|
||||
exporterOtlpHeaders: ""
|
||||
|
||||
# ============================================================================
|
||||
# Database Configuration
|
||||
# PostgreSQL is deployed by default using the Bitnami subchart
|
||||
# ============================================================================
|
||||
postgresql:
|
||||
# Set to true to deploy PostgreSQL subchart (Bitnami)
|
||||
# Set to false and provide host/url to use external PostgreSQL
|
||||
enabled: true
|
||||
# External PostgreSQL host (required if enabled=false and using external PostgreSQL)
|
||||
host: ""
|
||||
# PostgreSQL port
|
||||
port: 5432
|
||||
# Enable SSL for PostgreSQL connection
|
||||
useSSL: false
|
||||
# PostgreSQL connection URL (alternative to host/port/auth)
|
||||
# If provided, host/port/auth will be ignored
|
||||
url: ""
|
||||
# SSL CA certificate for PostgreSQL (if useSSL is true)
|
||||
sslCa: ""
|
||||
auth:
|
||||
database: "activepieces"
|
||||
username: "postgres"
|
||||
# Password for PostgreSQL
|
||||
# - If using subchart (enabled=true), password is automatically generated if not provided
|
||||
# - If using external PostgreSQL, provide password here or use externalSecret
|
||||
password: ""
|
||||
# External secret reference for password (alternative to password field)
|
||||
# Use this when password is stored in a Kubernetes secret (e.g., External Secrets Operator)
|
||||
# externalSecret:
|
||||
# name: "postgresql-credentials"
|
||||
# key: "password"
|
||||
primary:
|
||||
persistence:
|
||||
enabled: true
|
||||
|
||||
# ============================================================================
|
||||
# Queue Configuration
|
||||
# Redis is deployed by default using the Bitnami subchart
|
||||
# ============================================================================
|
||||
redis:
|
||||
# Set to true to deploy Redis subchart (Bitnami)
|
||||
# Set to false and provide host/url to use external Redis
|
||||
enabled: true
|
||||
# External Redis host (required if enabled=false and using external Redis)
|
||||
host: ""
|
||||
# Redis port
|
||||
port: 6379
|
||||
# Enable SSL for Redis connection
|
||||
useSSL: false
|
||||
# SSL CA certificate file path for Redis (if useSSL is true)
|
||||
sslCaFile: ""
|
||||
# Redis database number
|
||||
db: 0
|
||||
# Redis connection URL (alternative to host/port/auth)
|
||||
# If provided, host/port/auth will be ignored
|
||||
url: ""
|
||||
# Redis type: "standalone" or "sentinel"
|
||||
type: "standalone"
|
||||
# Redis username (for Redis 6+ ACL)
|
||||
user: ""
|
||||
sentinel:
|
||||
name: ""
|
||||
hosts: ""
|
||||
role: ""
|
||||
failedJob:
|
||||
retentionDays: 7
|
||||
retentionMaxCount: 100
|
||||
auth:
|
||||
# Set to true if Redis requires authentication
|
||||
# - If using subchart (enabled=true), password is automatically generated if not provided
|
||||
# - If using external Redis, provide password or use externalSecret
|
||||
enabled: true
|
||||
# Password for Redis
|
||||
password: ""
|
||||
# External secret reference for password (alternative to password field)
|
||||
# Use this when password is stored in a Kubernetes secret (e.g., External Secrets Operator)
|
||||
# externalSecret:
|
||||
# name: "redis-credentials"
|
||||
# key: "password"
|
||||
master:
|
||||
persistence:
|
||||
enabled: true
|
||||
|
||||
# ============================================================================
|
||||
# OPTIONAL: Email Configuration
|
||||
# Enable SMTP to send email notifications
|
||||
# ============================================================================
|
||||
smtp:
|
||||
enabled: false # Set to true and configure below to enable emails
|
||||
host: ""
|
||||
port: 587
|
||||
username: ""
|
||||
password: ""
|
||||
senderEmail: ""
|
||||
senderName: ""
|
||||
|
||||
# ============================================================================
|
||||
# OPTIONAL: S3 Storage Configuration
|
||||
# Enable S3 for file storage (alternative to local storage)
|
||||
# ============================================================================
|
||||
s3:
|
||||
enabled: false # Set to true and configure below to use S3
|
||||
accessKeyId: ""
|
||||
secretAccessKey: ""
|
||||
bucket: ""
|
||||
endpoint: "" # For S3-compatible services like MinIO
|
||||
region: ""
|
||||
useSignedUrls: false
|
||||
useIrsa: false # Use IAM Roles for Service Accounts (EKS)
|
||||
|
||||
# ============================================================================
|
||||
# OPTIONAL: Queue UI Configuration
|
||||
# Enable BullMQ Board for monitoring job queues
|
||||
# ============================================================================
|
||||
queueUi:
|
||||
enabled: false # Set to true and configure credentials below
|
||||
username: ""
|
||||
password: ""
|
||||
Reference in New Issue
Block a user