You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by le...@apache.org on 2023/03/03 17:28:13 UTC

[tika-helm] branch main updated: TIKA-3452 java.nio.file.FileSystemException Read-only file system (#4)

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 6296171  TIKA-3452 java.nio.file.FileSystemException Read-only file system (#4)
6296171 is described below

commit 62961712c922caefd173fc682373e1d818ebc9a2
Author: Lewis John McGibbney <le...@gmail.com>
AuthorDate: Fri Mar 3 09:28:08 2023 -0800

    TIKA-3452 java.nio.file.FileSystemException Read-only file system (#4)
---
 Chart.yaml                | 26 +++-----------------------
 README.md                 | 11 ++++++++---
 templates/deployment.yaml | 26 +++++++++++++++++++++-----
 values.yaml               | 20 +++++++++++++++++++-
 4 files changed, 51 insertions(+), 32 deletions(-)

diff --git a/Chart.yaml b/Chart.yaml
index 60fdec4..f8d92b6 100644
--- a/Chart.yaml
+++ b/Chart.yaml
@@ -19,9 +19,10 @@
 ---
 apiVersion: v2
 name: tika
-version: "1.26"
+appVersion: "latest-full"
+version: "latest-full"
 #kubeVersion:
-description: A Helm chart to deploy Apache Tika on Kubernetes
+description: The official Helm chart to deploy Apache Tika on Kubernetes
 type: application
 keywords:
   - apache
@@ -38,25 +39,4 @@ maintainers:
     email: dev@tika.apache.org
     url: https://tika.apache.org
 icon: https://tika.apache.org/tika.png
-appVersion: "1.26"
 deprecated: false
-annotations:
-  # artifacthub.io/changes: |
-  #   - 
-  artifacthub.io/containsSecurityUpdates: "true"
-  artifacthub.io/images: |
-    - name: tika
-      image: apache/tika:1.26
-  artifacthub.io/license: Apache-2.0
-  artifacthub.io/links: |
-    - name: Apache Tika
-      url: https://github.com/apache/tika
-    - name: Tika Helm Chart
-      url: https://github.com/apache/tika-helm
-    - name: Tika Docker Image
-      url: https://github.com/apache/tika-docker
-  artifacthub.io/maintainers: |
-    - name: Apache Tika Developers
-      email: dev@tika.apache.org
-  artifacthub.io/operator: "false"
-  artifacthub.io/prerelease: "false"
diff --git a/README.md b/README.md
index e93facd..9da4f0a 100644
--- a/README.md
+++ b/README.md
@@ -57,7 +57,9 @@ in which case you may need to augment the commands below.
 * Install it:
   - with Helm 3: `helm install tika tika/tika --set image.tag=${release.version} -n tika-test`, you will see something like
 ```
-% helm install tika tika/tika --set image.tag=2.2.1-full -n tika-test
+helm install tika tika/tika --set image.tag=latest-full -n tika-test
+
+...
 NAME: tika
 LAST DEPLOYED: Mon Jan 24 13:38:01 2022
 NAMESPACE: tika-test
@@ -70,6 +72,11 @@ NOTES:
   echo "Visit http://127.0.0.1:9998 to use your application"
   kubectl --namespace tika-test port-forward $POD_NAME 9998:$CONTAINER_PORT
 ```
+You may notice that the _kubectl port forwarding_ experiences a _timeout issue_ which ultimately kills the app. In this case you can run port formarding in a loop
+```
+while true; do kubectl --namespace tika-test port-forward $POD_NAME 9998:$CONTAINER_PORT ; done
+```
+... this should keep `kubectl` reconnecting on connection lost.
 
 ### Install development version using master branch
 
@@ -77,8 +84,6 @@ NOTES:
 
 * Install it:
   - with Helm 3: `helm install tika . --set image.tag=latest-full`
-  - with Helm 2 (deprecated): `helm install --name tika . --set image.tag=latest-full`
-
 
 ## Upgrading
 
diff --git a/templates/deployment.yaml b/templates/deployment.yaml
index 57bc0e9..ae1b4f4 100644
--- a/templates/deployment.yaml
+++ b/templates/deployment.yaml
@@ -45,24 +45,40 @@ spec:
       serviceAccountName: {{ include "tika-helm.serviceAccountName" . }}
       securityContext:
         {{- toYaml .Values.podSecurityContext | nindent 8 }}
+      volumes:
+      - name: sec-ctx-vol
+        emptyDir: {}
       containers:
         - name: {{ .Chart.Name }}
           securityContext:
             {{- toYaml .Values.securityContext | nindent 12 }}
           image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
           imagePullPolicy: {{ .Values.image.pullPolicy }}
+          volumeMounts:
+          - name: sec-ctx-vol
+            mountPath: /tmp
           ports:
             - name: http
-              containerPort: 9998
+              containerPort: {{ .Values.service.port }}
               protocol: TCP
           livenessProbe:
             httpGet:
-              path: /
-              port: http
+              path: {{if .Values.config.base_url }}{{- with urlParse (tpl .Values.config.base_url .) }}{{ .path }}{{end}}{{end}}/
+              port: {{ .Values.service.port }}
+              scheme: {{ .Values.livenessProbe.scheme | default "http" }}
+            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:
             httpGet:
-              path: /
-              port: http
+              path: {{if .Values.config.base_url }}{{- with urlParse (tpl .Values.config.base_url .) }}{{ .path }}{{end}}{{end}}/
+              port: {{ .Values.service.port  }}
+              scheme: {{ .Values.readinessProbe.scheme | default "http" }}
+            initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds | default 15 }}
+            timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds | default 30 }}
+            failureThreshold: {{ .Values.readinessProbe.failureThreshold | default 20 }}
+            periodSeconds: {{ .Values.readinessProbe.periodSeconds | default 5 }}
           resources:
             {{- toYaml .Values.resources | nindent 12 }}
       {{- with .Values.nodeSelector }}
diff --git a/values.yaml b/values.yaml
index 0a69d1e..c74eec2 100644
--- a/values.yaml
+++ b/values.yaml
@@ -23,7 +23,7 @@ image:
   repository: apache/tika
   pullPolicy: IfNotPresent
   # Overrides the image tag whose default is the chart appVersion.
-  tag: "1.26"
+  tag: "latest-full"
 
 imagePullSecrets: []
 nameOverride: ""
@@ -44,6 +44,7 @@ podSecurityContext: {}
   # fsGroup: 2000
 
 securityContext:
+  allowPrivilegeEscalation: true
   capabilities:
     drop:
     - ALL
@@ -69,6 +70,20 @@ ingress:
   #    hosts:
   #      - chart-example.local
 
+livenessProbe:
+  initialDelaySeconds: 15
+  timeoutSeconds: 30
+  failureThreshold: 20
+  periodSeconds: 5
+  scheme: HTTP
+
+readinessProbe:
+  initialDelaySeconds: 15
+  timeoutSeconds: 30
+  failureThreshold: 20
+  periodSeconds: 5
+  scheme: HTTP
+
 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
@@ -100,3 +115,6 @@ networkPolicy:
   enabled: false
   # networkPolicy.allowExternal -- Don't require a "-client" label for connections.
   allowExternal: false
+
+config:
+  base_url: localhost
\ No newline at end of file