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
2 changes: 1 addition & 1 deletion charts/retool/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apiVersion: v2
name: retool
description: A Helm chart for Kubernetes
type: application
version: 6.11.22
version: 6.11.23
maintainers:
- name: Retool Engineering
email: engineering+helm@retool.com
Expand Down
8 changes: 8 additions & 0 deletions charts/retool/ci/test-agent-sandbox-enabled-option.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,14 @@ rr:
# replicaCount > 1 renders the controller PodDisruptionBudget.
controller:
replicaCount: 2
startupProbe:
enabled: true
path: /livez
initialDelaySeconds: 0
timeoutSeconds: 5
periodSeconds: 10
successThreshold: 1
failureThreshold: 18

proxy:
replicaCount: 2
Expand Down
17 changes: 17 additions & 0 deletions charts/retool/ci/test-workflows-startup-probe-option.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Exercises workflows.backend.startupProbe rendering. Overlaid on
# test-install-values.yaml. The image tag must be high enough to pass the
# workflows version gate so deployment_workflows.yaml is rendered.
image:
tag: "3.200.0"

workflows:
enabled: true
backend:
startupProbe:
enabled: true
path: /api/checkHealth
initialDelaySeconds: 10
timeoutSeconds: 10
periodSeconds: 10
successThreshold: 1
failureThreshold: 30
33 changes: 33 additions & 0 deletions charts/retool/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -322,6 +322,39 @@ Map values allow structured EnvVar fields such as valueFrom.
{{- end }}
{{- end }}

{{/*
Render a container startupProbe from a values block.
Pass dict "probe" and "port" (name or number). Set probe.tcpSocket to use a
TCP probe instead of httpGet (git-server). Empty when probe.enabled is false.
*/}}
{{- define "retool.startupProbe" -}}
{{- $p := .probe | default dict -}}
{{- if $p.enabled }}
startupProbe:
{{- if $p.tcpSocket }}
tcpSocket:
port: {{ .port }}
{{- else }}
httpGet:
path: {{ $p.path }}
port: {{ .port }}
{{- with $p.host }}
host: {{ . | quote }}
{{- end }}
{{- with $p.scheme }}
scheme: {{ . }}
{{- end }}
{{- end }}
initialDelaySeconds: {{ $p.initialDelaySeconds }}
timeoutSeconds: {{ $p.timeoutSeconds }}
periodSeconds: {{ $p.periodSeconds }}
successThreshold: {{ $p.successThreshold }}
{{- with $p.failureThreshold }}
failureThreshold: {{ . }}
{{- end }}
{{- end }}
{{- end }}

{{- define "retool.postgresql.fullname" -}}
{{- $name := default "postgresql" .Values.postgresql.nameOverride -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
Expand Down
1 change: 1 addition & 0 deletions charts/retool/templates/_workers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -384,6 +384,7 @@ spec:
successThreshold: {{ $.Values.readinessProbe.successThreshold }}
periodSeconds: {{ $.Values.readinessProbe.periodSeconds }}
{{- end }}
{{- include "retool.startupProbe" (dict "probe" ($workerValues.startupProbe | default dict) "port" $healthcheckPort) | nindent 8 }}
resources:
{{ toYaml ($workerValues.resources | default $parentValues.resources | default $.Values.resources) | indent 10 }}
volumeMounts:
Expand Down
2 changes: 2 additions & 0 deletions charts/retool/templates/deployment_agent_sandbox.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -400,6 +400,7 @@ spec:
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 5
{{- include "retool.startupProbe" (dict "probe" $as.controller.startupProbe "port" "http") | nindent 10 }}
readinessProbe:
httpGet:
path: /health
Expand Down Expand Up @@ -624,6 +625,7 @@ spec:
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 5
{{- include "retool.startupProbe" (dict "probe" $as.proxy.startupProbe "port" "http") | nindent 10 }}
readinessProbe:
httpGet:
path: /health
Expand Down
17 changes: 1 addition & 16 deletions charts/retool/templates/deployment_backend.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -386,22 +386,7 @@ spec:
exec:
command: ["sleep", "30"]
{{- end }}
{{- if .Values.startupProbe.enabled }}
startupProbe:
httpGet:
path: {{ .Values.startupProbe.path }}
port: {{ .Values.service.internalPort }}
{{- with .Values.startupProbe.host }}
host: {{ . | quote }}
{{- end }}
{{- with .Values.startupProbe.scheme }}
scheme: {{ . }}
{{- end }}
initialDelaySeconds: {{ .Values.startupProbe.initialDelaySeconds }}
timeoutSeconds: {{ .Values.startupProbe.timeoutSeconds }}
successThreshold: {{ .Values.startupProbe.successThreshold }}
periodSeconds: {{ .Values.startupProbe.periodSeconds }}
{{- end }}
{{- include "retool.startupProbe" (dict "probe" .Values.startupProbe "port" .Values.service.internalPort) | nindent 8 }}
resources:
{{ toYaml .Values.resources | indent 10 }}
volumeMounts:
Expand Down
1 change: 1 addition & 0 deletions charts/retool/templates/deployment_code_executor.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,7 @@ spec:
successThreshold: {{ .Values.readinessProbe.successThreshold }}
periodSeconds: {{ .Values.readinessProbe.periodSeconds }}
{{- end }}
{{- include "retool.startupProbe" (dict "probe" .Values.codeExecutor.startupProbe "port" 3004) | nindent 8 }}
resources:
{{ toYaml .Values.codeExecutor.resources | indent 10 }}
volumeMounts:
Expand Down
1 change: 1 addition & 0 deletions charts/retool/templates/deployment_dbconnector.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ spec:
initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }}
timeoutSeconds: {{ .Values.livenessProbe.timeoutSeconds }}
failureThreshold: {{ .Values.livenessProbe.failureThreshold }}
{{- include "retool.startupProbe" (dict "probe" .Values.dbconnector.startupProbe "port" .Values.dbconnector.port) | nindent 8 }}
resources:
{{- if .Values.dbconnector.resources }}
{{- toYaml .Values.dbconnector.resources | nindent 10 }}
Expand Down
1 change: 1 addition & 0 deletions charts/retool/templates/deployment_git_server.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,7 @@ spec:
failureThreshold: 10
timeoutSeconds: 10
periodSeconds: 20
{{- include "retool.startupProbe" (dict "probe" $gitServerValues.startupProbe "port" $gitServerPort) | nindent 8 }}
resources:
{{ toYaml ($gitServerValues.resources | default .Values.resources) | indent 10 }}
volumeMounts:
Expand Down
1 change: 1 addition & 0 deletions charts/retool/templates/deployment_jobs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -251,6 +251,7 @@ spec:
initialDelaySeconds: 120
periodSeconds: 30
timeoutSeconds: 3
{{- include "retool.startupProbe" (dict "probe" .Values.jobRunner.startupProbe "port" 3003) | nindent 8 }}
{{- end }}
{{- end }}
volumeMounts:
Expand Down
1 change: 1 addition & 0 deletions charts/retool/templates/deployment_js_executor.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,7 @@ spec:
timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }}
successThreshold: {{ .Values.readinessProbe.successThreshold }}
periodSeconds: {{ .Values.readinessProbe.periodSeconds }}
{{- include "retool.startupProbe" (dict "probe" .Values.rr.jsExecutor.startupProbe "port" 3000) | nindent 8 }}
resources:
{{ toYaml .Values.rr.jsExecutor.resources | indent 10 }}
volumeMounts:
Expand Down
1 change: 1 addition & 0 deletions charts/retool/templates/deployment_mcp.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,7 @@ spec:
failureThreshold: 10
timeoutSeconds: 10
periodSeconds: 20
{{- include "retool.startupProbe" (dict "probe" .Values.mcp.startupProbe "port" $mcpInternalPort) | nindent 8 }}
resources:
{{ toYaml .Values.mcp.resources | indent 10 }}
volumeMounts:
Expand Down
1 change: 1 addition & 0 deletions charts/retool/templates/deployment_multiplayer_ws.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,7 @@ spec:
failureThreshold: 10
timeoutSeconds: 10
periodSeconds: 20
{{- include "retool.startupProbe" (dict "probe" .Values.multiplayer.startupProbe "port" 3001) | nindent 8 }}
volumeMounts:
{{- range $configFile := (keys .Values.files) }}
- name: {{ template "retool.name" $ }}
Expand Down
1 change: 1 addition & 0 deletions charts/retool/templates/deployment_workflows.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -303,6 +303,7 @@ spec:
successThreshold: {{ .Values.readinessProbe.successThreshold }}
periodSeconds: {{ .Values.readinessProbe.periodSeconds }}
{{- end }}
{{- include "retool.startupProbe" (dict "probe" .Values.workflows.backend.startupProbe "port" .Values.service.internalPort) | nindent 8 }}
resources:
{{- if .Values.workflows.backend.resources }}
{{ toYaml .Values.workflows.backend.resources | indent 10 }}
Expand Down
Loading
Loading