This is an automated email from the ASF dual-hosted git repository.
lewismc pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tika-helm.git
The following commit(s) were added to refs/heads/main by this push:
new bb7e69e TIKA-4271 Support tcpSocket probe (#21)
bb7e69e is described below
commit bb7e69e8ee1e940b276ce6c93f16430b90685f52
Author: Bartek Ciszkowski <[email protected]>
AuthorDate: Sat Nov 9 13:18:34 2024 -0400
TIKA-4271 Support tcpSocket probe (#21)
With the active gRPC Server development
(https://issues.apache.org/jira/browse/TIKA-4181), there is need to be
able to deploy this Helm chart against the running gRPC service.
As the exposed gRPC service cannot use the HTTP probe, we must adapt the
Helm chart to be configurable for a tcp socket
This change identifies `tcp` in the scheme variable of either probe and
ensures the appropriate mechanism is used.
Existing HTTP(S) functionality continues to be supported.
---
templates/deployment.yaml | 10 ++++++++++
tests/deployment_test.yaml | 39 +++++++++++++++++++++++++++++++++++++++
2 files changed, 49 insertions(+)
diff --git a/templates/deployment.yaml b/templates/deployment.yaml
index 1e865ae..de1d352 100644
--- a/templates/deployment.yaml
+++ b/templates/deployment.yaml
@@ -75,19 +75,29 @@ spec:
containerPort: {{ .Values.service.port }}
protocol: TCP
livenessProbe:
+ {{- if eq (lower .Values.livenessProbe.scheme) "tcp" }}
+ tcpSocket:
+ port: {{ .Values.service.port }}
+ {{- else }}
httpGet:
path: {{if .Values.config.base_url }}{{- with urlParse (tpl
.Values.config.base_url .) }}{{ .path }}{{end}}{{else}}/{{end}}
port: {{ .Values.service.port }}
scheme: {{ .Values.livenessProbe.scheme | default "http" }}
+ {{- end }}
initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds
| default 15 }}
timeoutSeconds: {{ .Values.livenessProbe.timeoutSeconds | default
30 }}
failureThreshold: {{ .Values.livenessProbe.failureThreshold |
default 20 }}
periodSeconds: {{ .Values.livenessProbe.periodSeconds | default 5
}}
readinessProbe:
+ {{- if eq (lower .Values.readinessProbe.scheme) "tcp" }}
+ tcpSocket:
+ port: {{ .Values.service.port }}
+ {{- else }}
httpGet:
path: {{if .Values.config.base_url }}{{- with urlParse (tpl
.Values.config.base_url .) }}{{ .path }}{{end}}{{else}}/{{end}}
port: {{ .Values.service.port }}
scheme: {{ .Values.readinessProbe.scheme | default "http" }}
+ {{- end }}
initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds
| default 15 }}
timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds | default
30 }}
failureThreshold: {{ .Values.readinessProbe.failureThreshold |
default 20 }}
diff --git a/tests/deployment_test.yaml b/tests/deployment_test.yaml
index 79902cb..a041cb5 100644
--- a/tests/deployment_test.yaml
+++ b/tests/deployment_test.yaml
@@ -60,3 +60,42 @@ tests:
timeoutSeconds: 30
failureThreshold: 20
periodSeconds: 5
+ - it: should allow tcp probe
+ set:
+ image.tag: latest
+ readinessProbe.scheme: tcp
+ livenessProbe.scheme: tcp
+ asserts:
+ - isKind:
+ of: Deployment
+ - isAPIVersion:
+ of: apps/v1
+ - matchRegex:
+ path: metadata.name
+ pattern: RELEASE-NAME-tika
+ - equal:
+ path: spec.template.spec.containers[0].image
+ value: apache/tika:latest
+ - lengthEqual:
+ path: spec.template.spec.containers
+ count: 1
+ - isSubset:
+ path: spec.template.spec.containers[0]
+ content:
+ livenessProbe:
+ tcpSocket:
+ port: 9998
+ initialDelaySeconds: 15
+ timeoutSeconds: 30
+ failureThreshold: 20
+ periodSeconds: 5
+ - isSubset:
+ path: spec.template.spec.containers[0]
+ content:
+ readinessProbe:
+ tcpSocket:
+ port: 9998
+ initialDelaySeconds: 15
+ timeoutSeconds: 30
+ failureThreshold: 20
+ periodSeconds: 5