Add flowise chart 3.10.2

This commit is contained in:
wbsong111
2025-01-10 14:36:02 +09:00
parent eb48889e9e
commit 96f41551cc
163 changed files with 18089 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
1. Get the application URL by running these commands:
{{- if .Values.ingress.enabled }}
{{- range $host := .Values.ingress.hosts }}
{{- range .paths }}
http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ . }}
{{- end }}
{{- end }}
{{- else if contains "NodePort" .Values.service.type }}
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "flowise.fullname" . }})
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT/
{{- else if contains "LoadBalancer" .Values.service.type }}
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "flowise.fullname" . }}'
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "flowise.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
echo http://$SERVICE_IP:{{ .Values.service.ports.http }}/
{{- else if contains "ClusterIP" .Values.service.type }}
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "flowise.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
echo "Visit http://127.0.0.1:3000/ to use your application"
kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 3000:{{ .Values.containerPorts.http }}
{{- end }}
+263
View File
@@ -0,0 +1,263 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "flowise.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 "flowise.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 "flowise.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Common labels
*/}}
{{- define "flowise.labels" -}}
helm.sh/chart: {{ include "flowise.chart" . }}
{{ include "flowise.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}
{{/*
Selector labels
*/}}
{{- define "flowise.selectorLabels" -}}
app.kubernetes.io/name: {{ include "flowise.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{/*
Create the name of the service account to use
*/}}
{{- define "flowise.serviceAccountName" -}}
{{- if .Values.serviceAccount.create -}}
{{ default (include "flowise.fullname" .) .Values.serviceAccount.name }}
{{- else -}}
{{ default "default" .Values.serviceAccount.name }}
{{- end -}}
{{- end -}}
{{/*
Create the name of the secret to use
*/}}
{{- define "flowise.secretName" -}}
{{- if .Values.existingSecret -}}
{{ .Values.existingSecret }}
{{- else -}}
{{ include "flowise.fullname" . }}
{{- end -}}
{{- end -}}
{{/*
Key in Secret that contains password
*/}}
{{- define "flowise.secretKeyPassword" -}}
{{- if .Values.existingSecret -}}
{{ .Values.existingSecretKeyPassword }}
{{- else -}}
password
{{- end -}}
{{- end -}}
{{/*
MariaDB fully qualified app name
*/}}
{{- define "flowise.mariadb.fullname" -}}
{{- if .Values.mariadb.fullnameOverride -}}
{{- .Values.mariadb.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default "mariadb" .Values.mariadb.nameOverride -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{/*
MariaDB host
*/}}
{{- define "flowise.mariadb.host" -}}
{{- if .Values.mariadb.enabled -}}
{{- if eq .Values.mariadb.architecture "replication" -}}
{{- if .Values.mariadb.fullnameOverride -}}
{{- printf "%s-%s" .Values.mariadb.fullnameOverride "primary" | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default "mariadb" .Values.mariadb.nameOverride -}}
{{- printf "%s-%s-%s" .Release.Name $name "primary" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- else -}}
{{ include "flowise.mariadb.fullname" . }}
{{- end -}}
{{- else -}}
{{ .Values.externalMariadb.host }}
{{- end -}}
{{- end -}}
{{/*
MariaDB port
*/}}
{{- define "flowise.mariadb.port" -}}
{{- if .Values.mariadb.enabled -}}
{{ .Values.mariadb.primary.service.ports.mysql }}
{{- else -}}
{{ .Values.externalMariadb.port }}
{{- end -}}
{{- end -}}
{{/*
MariaDB user
*/}}
{{- define "flowise.mariadb.username" -}}
{{- if .Values.mariadb.enabled -}}
{{ .Values.mariadb.auth.username }}
{{- else -}}
{{ .Values.externalMariadb.username }}
{{- end -}}
{{- end -}}
{{/*
MariaDB secret name
*/}}
{{- define "flowise.mariadb.secretName" -}}
{{- if .Values.mariadb.auth.existingSecret -}}
{{ .Values.mariadb.auth.existingSecret }}
{{- else if .Values.externalMariadb.existingSecret -}}
{{ .Values.externalMariadb.existingSecret }}
{{- else -}}
{{ include "flowise.mariadb.fullname" . }}
{{- end -}}
{{- end -}}
{{/*
Key in Secret that contains MariaDB password
*/}}
{{- define "flowise.mariadb.secretKeyPassword" -}}
{{- if .Values.externalMariadb.existingSecret -}}
{{ .Values.externalMariadb.existingSecretKeyPassword }}
{{- else -}}
mariadb-password
{{- end -}}
{{- end -}}
{{/*
MariaDB database
*/}}
{{- define "flowise.mariadb.database" -}}
{{- if .Values.mariadb.enabled -}}
{{ .Values.mariadb.auth.database }}
{{- else -}}
{{ .Values.externalMariadb.database }}
{{- end -}}
{{- end -}}
{{/*
PostgreSQL fully qualified app name
*/}}
{{- define "flowise.postgresql.fullname" -}}
{{- if .Values.postgresql.fullnameOverride -}}
{{- .Values.postgresql.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default "postgresql" .Values.postgresql.nameOverride -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{/*
PostgreSQL host
*/}}
{{- define "flowise.postgresql.host" -}}
{{- if .Values.postgresql.enabled -}}
{{- if eq .Values.postgresql.architecture "replication" -}}
{{- if .Values.postgresql.fullnameOverride -}}
{{- printf "%s-%s" .Values.postgresql.fullnameOverride "primary" | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default "postgresql" .Values.postgresql.nameOverride -}}
{{- printf "%s-%s-%s" .Release.Name $name "primary" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- else -}}
{{ include "flowise.postgresql.fullname" . }}
{{- end -}}
{{- else -}}
{{ .Values.externalPostgresql.host }}
{{- end -}}
{{- end -}}
{{/*
PostgreSQL port
*/}}
{{- define "flowise.postgresql.port" -}}
{{- if .Values.postgresql.enabled -}}
{{ .Values.postgresql.primary.service.ports.postgresql }}
{{- else -}}
{{ .Values.externalPostgresql.port }}
{{- end -}}
{{- end -}}
{{/*
PostgreSQL user
*/}}
{{- define "flowise.postgresql.username" -}}
{{- if .Values.postgresql.enabled -}}
{{ .Values.postgresql.auth.username }}
{{- else -}}
{{ .Values.externalPostgresql.username }}
{{- end -}}
{{- end -}}
{{/*
PostgreSQL secret name
*/}}
{{- define "flowise.postgresql.secretName" -}}
{{- if .Values.postgresql.existingSecret -}}
{{ .Values.postgresql.existingSecret }}
{{- else if .Values.externalPostgresql.existingSecret -}}
{{ .Values.externalPostgresql.existingSecret }}
{{- else -}}
{{ include "flowise.postgresql.fullname" . }}
{{- end -}}
{{- end -}}
{{/*
Key in Secret that contains PostgreSQL password
*/}}
{{- define "flowise.postgresql.secretKeyPassword" -}}
{{- if .Values.externalPostgresql.existingSecret -}}
{{ .Values.externalPostgresql.existingSecretKeyPassword }}
{{- else -}}
password
{{- end -}}
{{- end -}}
{{/*
PostgreSQL database
*/}}
{{- define "flowise.postgresql.database" -}}
{{- if .Values.postgresql.enabled -}}
{{ .Values.postgresql.auth.database }}
{{- else -}}
{{ .Values.externalPostgresql.database }}
{{- end -}}
{{- end -}}
+273
View File
@@ -0,0 +1,273 @@
apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }}
kind: Deployment
metadata:
name: {{ include "flowise.fullname" . }}
labels:
{{- include "flowise.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if or .Values.deploymentAnnotations .Values.commonAnnotations }}
{{- $annotations := include "common.tplvalues.merge" ( dict "values" ( list .Values.deploymentAnnotations .Values.commonAnnotations ) "context" . ) }}
annotations: {{- include "common.tplvalues.render" ( dict "value" $annotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
{{- include "flowise.selectorLabels" . | nindent 6 }}
{{- if .Values.updateStrategy }}
strategy: {{- toYaml .Values.updateStrategy | nindent 4 }}
{{- end }}
template:
metadata:
labels:
{{- include "flowise.selectorLabels" . | nindent 8 }}
{{- if .Values.podLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.podLabels "context" $ ) | nindent 8 }}
{{- end }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 8 }}
{{- end }}
annotations:
{{- if not .Values.existingSecret }}
checksum/secret: {{ include (print $.Template.BasePath "/secret.yaml") . | sha256sum }}
{{- end }}
{{- if .Values.podAnnotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.podAnnotations "context" $ ) | nindent 8 }}
{{- end }}
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 8 }}
{{- end }}
spec:
{{- include "common.images.pullSecrets" ( dict "images" ( list .Values.image ) "global" .Values.global ) | nindent 6 }}
{{- if .Values.hostAliases }}
hostAliases: {{- include "common.tplvalues.render" (dict "value" .Values.hostAliases "context" $) | nindent 8 }}
{{- end }}
{{- if .Values.priorityClassName }}
priorityClassName: {{ .Values.priorityClassName | quote }}
{{- end }}
{{- if .Values.runtimeClassName }}
runtimeClassName: {{ .Values.runtimeClassName | quote }}
{{- end }}
serviceAccountName: {{ include "flowise.serviceAccountName" . }}
{{- if .Values.topologySpreadConstraints }}
topologySpreadConstraints: {{- include "common.tplvalues.render" (dict "value" .Values.topologySpreadConstraints "context" .) | nindent 8 }}
{{- end }}
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
initContainers:
{{- if or .Values.mariadb.enabled .Values.externalMariadb.enabled }}
- name: wait-mariadb
securityContext:
{{- toYaml .Values.wait.securityContext | nindent 12 }}
image: {{ include "common.images.image" ( dict "imageRoot" .Values.wait.image "global" .Values.global ) }}
imagePullPolicy: {{ .Values.wait.image.pullPolicy }}
command:
- /bin/sh
- -ec
- |
wait4x mysql "${MARIADB_USERNAME}:${MARIADB_PASSWORD}@tcp(${MARIADB_HOST}:${MARIADB_PORT})/${MARIADB_DATABASE}" --timeout 0
env:
- name: MARIADB_HOST
value: {{ include "flowise.mariadb.host" . | quote }}
- name: MARIADB_PORT
value: {{ include "flowise.mariadb.port" . | quote }}
- name: MARIADB_USERNAME
value: {{ include "flowise.mariadb.username" . | quote }}
- name: MARIADB_PASSWORD
valueFrom:
secretKeyRef:
name: {{ include "flowise.mariadb.secretName" . }}
key: {{ include "flowise.mariadb.secretKeyPassword" . }}
- name: MARIADB_DATABASE
value: {{ include "flowise.mariadb.database" . | quote }}
resources:
{{- toYaml .Values.wait.resources | nindent 12 }}
volumeMounts:
{{- if .Values.wait.extraVolumeMounts }}
{{- include "common.tplvalues.render" (dict "value" .Values.wait.extraVolumeMounts "context" $) | nindent 12 }}
{{- end }}
{{- end }}
{{- if or .Values.postgresql.enabled .Values.externalPostgresql.enabled }}
- name: wait-postgresql
securityContext:
{{- toYaml .Values.wait.securityContext | nindent 12 }}
image: {{ include "common.images.image" ( dict "imageRoot" .Values.wait.image "global" .Values.global ) }}
imagePullPolicy: {{ .Values.wait.image.pullPolicy }}
command:
- /bin/sh
- -ec
- |
wait4x postgresql "postgres://${POSTGRESQL_USERNAME}:${POSTGRESQL_PASSWORD}@${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/${POSTGRESQL_DATABASE}?sslmode=disable" --timeout 0
env:
- name: POSTGRESQL_HOST
value: {{ include "flowise.postgresql.host" . | quote }}
- name: POSTGRESQL_PORT
value: {{ include "flowise.postgresql.port" . | quote }}
- name: POSTGRESQL_USERNAME
value: {{ include "flowise.postgresql.username" . | quote }}
- name: POSTGRESQL_PASSWORD
valueFrom:
secretKeyRef:
name: {{ include "flowise.postgresql.secretName" . }}
key: {{ include "flowise.postgresql.secretKeyPassword" . }}
- name: POSTGRESQL_DATABASE
value: {{ include "flowise.postgresql.database" . | quote }}
resources:
{{- toYaml .Values.wait.resources | nindent 12 }}
volumeMounts:
{{- if .Values.wait.extraVolumeMounts }}
{{- include "common.tplvalues.render" (dict "value" .Values.wait.extraVolumeMounts "context" $) | nindent 12 }}
{{- end }}
{{- end }}
containers:
- name: flowise
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
image: {{ include "common.images.image" ( dict "imageRoot" .Values.image "global" .Values.global ) }}
imagePullPolicy: {{ .Values.image.pullPolicy }}
{{- if .Values.extraArgs }}
args:
{{- range $key, $value := .Values.extraArgs }}
- --{{ $key }}={{ $value }}
{{- end }}
{{- end }}
env:
- name: PORT
value: {{ .Values.containerPorts.http | quote }}
{{- if and .Values.config.username .Values.config.password }}
- name: FLOWISE_USERNAME
value: {{ .Values.config.username | quote }}
- name: FLOWISE_PASSWORD
valueFrom:
secretKeyRef:
name: {{ include "flowise.secretName" . }}
key: {{ include "flowise.secretKeyPassword" . }}
{{- end }}
- name: APIKEY_PATH
value: /data
- name: BLOB_STORAGE_PATH
value: /data/storage
- name: SECRETKEY_PATH
value: /data
- name: DATABASE_PATH
value: /data
{{- if or .Values.mariadb.enabled .Values.externalMariadb.enabled }}
- name: DATABASE_TYPE
value: mysql
- name: DATABASE_HOST
value: {{ include "flowise.mariadb.host" . | quote }}
- name: DATABASE_PORT
value: {{ include "flowise.mariadb.port" . | quote }}
- name: DATABASE_USER
value: {{ include "flowise.mariadb.username" . | quote }}
- name: DATABASE_PASSWORD
valueFrom:
secretKeyRef:
name: {{ include "flowise.mariadb.secretName" . }}
key: {{ include "flowise.mariadb.secretKeyPassword" . }}
- name: DATABASE_NAME
value: {{ include "flowise.mariadb.database" . | quote }}
{{- end }}
{{- if or .Values.postgresql.enabled .Values.externalPostgresql.enabled }}
- name: DATABASE_TYPE
value: postgres
- name: DATABASE_HOST
value: {{ include "flowise.postgresql.host" . | quote }}
- name: DATABASE_PORT
value: {{ include "flowise.postgresql.port" . | quote }}
- name: DATABASE_USER
value: {{ include "flowise.postgresql.username" . | quote }}
- name: DATABASE_PASSWORD
valueFrom:
secretKeyRef:
name: {{ include "flowise.postgresql.secretName" . }}
key: {{ include "flowise.postgresql.secretKeyPassword" . }}
- name: DATABASE_NAME
value: {{ include "flowise.postgresql.database" . | quote }}
{{- end }}
- name: DISABLE_FLOWISE_TELEMETRY
value: "true"
{{- if .Values.extraEnvVars }}
{{- include "common.tplvalues.render" (dict "value" .Values.extraEnvVars "context" $) | nindent 12 }}
{{- end }}
{{- if or .Values.extraEnvVarsCM .Values.extraEnvVarsSecret }}
envFrom:
{{- if .Values.extraEnvVarsCM }}
- configMapRef:
name: {{ include "common.tplvalues.render" (dict "value" .Values.extraEnvVarsCM "context" $) }}
{{- end }}
{{- if .Values.extraEnvVarsSecret }}
- secretRef:
name: {{ include "common.tplvalues.render" (dict "value" .Values.extraEnvVarsSecret "context" $) }}
{{- end }}
{{- end }}
ports:
- name: http
containerPort: {{ .Values.containerPorts.http }}
protocol: TCP
{{- if .Values.livenessProbe.enabled }}
livenessProbe:
httpGet:
path: /api/v1/ping
port: http
initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.livenessProbe.periodSeconds }}
timeoutSeconds: {{ .Values.livenessProbe.timeoutSeconds }}
failureThreshold: {{ .Values.livenessProbe.failureThreshold }}
successThreshold: {{ .Values.livenessProbe.successThreshold }}
{{- end }}
{{- if .Values.readinessProbe.enabled }}
readinessProbe:
httpGet:
path: /api/v1/ping
port: http
initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.readinessProbe.periodSeconds }}
timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }}
failureThreshold: {{ .Values.readinessProbe.failureThreshold }}
successThreshold: {{ .Values.readinessProbe.successThreshold }}
{{- end }}
{{- if .Values.startupProbe.enabled }}
startupProbe:
httpGet:
path: /api/v1/ping
port: http
initialDelaySeconds: {{ .Values.startupProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.startupProbe.periodSeconds }}
timeoutSeconds: {{ .Values.startupProbe.timeoutSeconds }}
failureThreshold: {{ .Values.startupProbe.failureThreshold }}
successThreshold: {{ .Values.startupProbe.successThreshold }}
{{- end }}
resources:
{{- toYaml .Values.resources | nindent 12 }}
volumeMounts:
- name: data
mountPath: /data
{{- if .Values.extraVolumeMounts }}
{{- include "common.tplvalues.render" (dict "value" .Values.extraVolumeMounts "context" $) | nindent 12 }}
{{- 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 }}
volumes:
- name: data
{{- if .Values.persistence.enabled }}
persistentVolumeClaim:
claimName: {{ default (include "flowise.fullname" .) .Values.persistence.existingClaim }}
{{- else }}
emptyDir: {}
{{- end }}
{{- if .Values.extraVolumes }}
{{- include "common.tplvalues.render" (dict "value" .Values.extraVolumes "context" $) | nindent 8 }}
{{- end }}
+4
View File
@@ -0,0 +1,4 @@
{{- range .Values.extraDeploy }}
---
{{ include "common.tplvalues.render" (dict "value" . "context" $) }}
{{- end }}
+43
View File
@@ -0,0 +1,43 @@
{{- if .Values.ingress.enabled }}
apiVersion: {{ include "common.capabilities.ingress.apiVersion" . }}
kind: Ingress
metadata:
name: {{ include "flowise.fullname" . }}
labels:
{{- include "flowise.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if or .Values.ingress.annotations .Values.commonAnnotations }}
{{- $annotations := include "common.tplvalues.merge" ( dict "values" ( list .Values.ingress.annotations .Values.commonAnnotations ) "context" . ) }}
annotations: {{- include "common.tplvalues.render" ( dict "value" $annotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
{{- if and .Values.ingress.ingressClassName (eq "true" (include "common.ingress.supportsIngressClassname" .)) }}
ingressClassName: {{ .Values.ingress.ingressClassName | quote }}
{{- 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: {{ . }}
{{- if eq "true" (include "common.ingress.supportsPathType" $) }}
pathType: {{ $.Values.ingress.pathType }}
{{- end }}
backend:
{{- include "common.ingress.backend" (dict "serviceName" (include "flowise.fullname" $) "servicePort" $.Values.service.ports.http "context" $) | nindent 14 }}
{{- end }}
{{- end }}
{{- end }}
@@ -0,0 +1,17 @@
{{- if and .Values.externalMariadb.enabled (not .Values.externalMariadb.existingSecret) }}
apiVersion: v1
kind: Secret
metadata:
name: {{ include "flowise.mariadb.secretName" . }}
labels:
{{- include "flowise.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
type: Opaque
data:
mariadb-password: {{ .Values.externalMariadb.password | b64enc | quote }}
{{- end }}
+24
View File
@@ -0,0 +1,24 @@
{{- if .Values.pdb.create }}
apiVersion: {{ include "common.capabilities.policy.apiVersion" . }}
kind: PodDisruptionBudget
metadata:
name: {{ include "flowise.fullname" . }}
labels:
{{- include "flowise.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
{{- if .Values.pdb.minAvailable }}
minAvailable: {{ .Values.pdb.minAvailable }}
{{- end }}
{{- if .Values.pdb.maxUnavailable }}
maxUnavailable: {{ .Values.pdb.maxUnavailable }}
{{- end }}
selector:
matchLabels:
{{- include "flowise.selectorLabels" . | nindent 6 }}
{{- end }}
@@ -0,0 +1,28 @@
{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) }}
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: {{ include "flowise.fullname" . }}
labels:
{{- include "flowise.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if or .Values.persistence.annotations .Values.commonAnnotations }}
{{- $annotations := include "common.tplvalues.merge" ( dict "values" ( list .Values.persistence.annotations .Values.commonAnnotations ) "context" . ) }}
annotations: {{- include "common.tplvalues.render" ( dict "value" $annotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
accessModes:
- {{ .Values.persistence.accessMode | quote }}
resources:
requests:
storage: {{ .Values.persistence.size | quote }}
{{- if .Values.persistence.storageClass }}
{{- if (eq "-" .Values.persistence.storageClass) }}
storageClassName: ""
{{- else }}
storageClassName: {{ .Values.persistence.storageClass | quote }}
{{- end }}
{{- end }}
{{- end }}
@@ -0,0 +1,17 @@
{{- if and .Values.externalPostgresql.enabled (not .Values.externalPostgresql.existingSecret) }}
apiVersion: v1
kind: Secret
metadata:
name: {{ include "flowise.postgresql.secretName" . }}
labels:
{{- include "flowise.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
type: Opaque
data:
password: {{ .Values.externalPostgresql.password | b64enc | quote }}
{{- end }}
+19
View File
@@ -0,0 +1,19 @@
{{- if not .Values.existingSecret }}
apiVersion: v1
kind: Secret
metadata:
name: {{ include "flowise.secretName" . }}
labels:
{{- include "flowise.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
type: Opaque
data:
{{- if and .Values.config.username .Values.config.password }}
password: {{ .Values.config.password | b64enc | quote }}
{{- end }}
{{- end }}
+44
View File
@@ -0,0 +1,44 @@
apiVersion: v1
kind: Service
metadata:
name: {{ include "flowise.fullname" . }}
labels:
{{- include "flowise.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if or .Values.service.annotations .Values.commonAnnotations }}
{{- $annotations := include "common.tplvalues.merge" ( dict "values" ( list .Values.service.annotations .Values.commonAnnotations ) "context" . ) }}
annotations: {{- include "common.tplvalues.render" ( dict "value" $annotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
type: {{ .Values.service.type }}
{{- if and (eq .Values.service.type "ClusterIP") .Values.service.clusterIP }}
clusterIP: {{ .Values.service.clusterIP }}
{{- end }}
{{- if .Values.service.sessionAffinity }}
sessionAffinity: {{ .Values.service.sessionAffinity }}
{{- end }}
{{- if .Values.service.sessionAffinityConfig }}
sessionAffinityConfig: {{- include "common.tplvalues.render" (dict "value" .Values.service.sessionAffinityConfig "context" $) | nindent 4 }}
{{- end }}
{{- if and (eq .Values.service.type "LoadBalancer") .Values.service.loadBalancerIP }}
loadBalancerIP: {{ .Values.service.loadBalancerIP }}
{{- end }}
{{- if and (eq .Values.service.type "LoadBalancer") .Values.service.loadBalancerSourceRanges }}
loadBalancerSourceRanges:
{{- toYaml .Values.service.loadBalancerSourceRanges | nindent 4 }}
{{- end }}
{{- if or (eq .Values.service.type "LoadBalancer") (eq .Values.service.type "NodePort") }}
externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy | quote }}
{{- end }}
ports:
- port: {{ .Values.service.ports.http }}
targetPort: http
protocol: TCP
name: http
{{- if and (or (eq .Values.service.type "LoadBalancer") (eq .Values.service.type "NodePort")) .Values.service.nodePorts.http }}
nodePort: {{ .Values.service.nodePorts.http }}
{{- end }}
selector:
{{- include "flowise.selectorLabels" . | nindent 4 }}
@@ -0,0 +1,15 @@
{{- if .Values.serviceAccount.create -}}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ include "flowise.serviceAccountName" . }}
labels:
{{- include "flowise.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if or .Values.serviceAccount.annotations .Values.commonAnnotations }}
{{- $annotations := include "common.tplvalues.merge" ( dict "values" ( list .Values.serviceAccount.annotations .Values.commonAnnotations ) "context" . ) }}
annotations: {{- include "common.tplvalues.render" ( dict "value" $annotations "context" $ ) | nindent 4 }}
{{- end }}
{{- end -}}
@@ -0,0 +1,22 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Create a default fully qualified app name.
*/}}
{{- define "flowise.tests.fullname" -}}
{{- printf "%s-%s" (include "flowise.fullname" .) "tests" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Component labels
*/}}
{{- define "flowise.tests.componentLabels" -}}
app.kubernetes.io/component: tests
{{- end -}}
{{/*
Common labels
*/}}
{{- define "flowise.tests.labels" -}}
{{ include "flowise.labels" . }}
{{ include "flowise.tests.componentLabels" . }}
{{- end -}}
@@ -0,0 +1,25 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "flowise.tests.fullname" . }}
labels:
{{- include "flowise.tests.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
annotations:
helm.sh/hook: test
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
data:
test_all.py: |
import requests
def test_service_connection():
url = "http://{{ include "flowise.fullname" . }}:{{ .Values.service.ports.http }}/"
response = requests.get(url)
assert response.status_code == 200
+30
View File
@@ -0,0 +1,30 @@
apiVersion: v1
kind: Pod
metadata:
name: {{ include "flowise.tests.fullname" . }}
labels:
{{- include "flowise.tests.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
annotations:
helm.sh/hook: test
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
{{- include "common.images.pullSecrets" ( dict "images" ( list .Values.tests.image ) "global" .Values.global ) | nindent 2 }}
containers:
- name: tests
image: {{ include "common.images.image" ( dict "imageRoot" .Values.tests.image "global" .Values.global ) }}
imagePullPolicy: {{ .Values.tests.image.pullPolicy }}
volumeMounts:
- name: tests
mountPath: /tests
readOnly: true
workingDir: /tests
restartPolicy: Never
volumes:
- name: tests
configMap:
name: {{ include "flowise.tests.fullname" . }}