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 597e3a5  TIKA-4660 Add automated Tika Docker image version bump 
workflow and upgrade all GitHub Actions (#28)
597e3a5 is described below

commit 597e3a5b73b8132e48a8f35523266841bd9c2bc3
Author: Lewis John McGibbney <[email protected]>
AuthorDate: Sun Feb 15 18:36:30 2026 -0800

    TIKA-4660 Add automated Tika Docker image version bump workflow and upgrade 
all GitHub Actions (#28)
---
 .github/workflows/helm_docs.yaml           |   2 +-
 .github/workflows/lint-test.yaml           |  37 +-
 .github/workflows/pluto.yaml               |  13 +-
 .github/workflows/update-tika-version.yaml | 119 ++++++
 tests/ingress_test.yaml                    |   4 +-
 values.schema.json                         | 628 +++++++++++++++++++++++++++++
 6 files changed, 769 insertions(+), 34 deletions(-)

diff --git a/.github/workflows/helm_docs.yaml b/.github/workflows/helm_docs.yaml
index 64d5496..d64d507 100644
--- a/.github/workflows/helm_docs.yaml
+++ b/.github/workflows/helm_docs.yaml
@@ -27,7 +27,7 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - name: Checkout
-        uses: actions/[email protected]
+        uses: actions/checkout@v6
         with:
           fetch-depth: 0
       - name: Setup Helm Docs
diff --git a/.github/workflows/lint-test.yaml b/.github/workflows/lint-test.yaml
index dc2a6fd..96c863b 100644
--- a/.github/workflows/lint-test.yaml
+++ b/.github/workflows/lint-test.yaml
@@ -27,17 +27,13 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - name: Checkout
-        uses: actions/[email protected]
+        uses: actions/checkout@v6
         with:
           fetch-depth: 0
       - name: Set up Helm
-        uses: azure/[email protected]
-      - uses: actions/[email protected]
-        with:
-          python-version: '3.x'
-          check-latest: true
+        uses: azure/setup-helm@v4
       - name: Set up chart-testing
-        uses: 
helm/chart-testing-action@0d28d3144d3a25ea2cc349d6e59901c4ff469b3b
+        uses: 
helm/chart-testing-action@6ec842c01de15ebb84c8627d2744a0c2f2755c9f # v2.8.0
       - name: Run chart-testing (list-changed)
         id: list-changed
         run: |
@@ -50,32 +46,15 @@ jobs:
         run: ct lint --target-branch ${{ 
github.event.repository.default_branch }} --charts .
         shell: bash
       - name: Create kind cluster
-        uses: helm/kind-action@0025e74a8c7512023d06dc019c617aa3cf561fde
+        uses: helm/kind-action@92086f6be054225fa813e0a4b13787fc9088faab # 
v1.13.0
         if: steps.list-changed.outputs.changed == 'true'
-      - name: Uninstall helm-unittest if present
-        run: |
-          helm plugin uninstall unittest >/dev/null 2>/dev/null \
-            || echo "Failed to uninstall plugin, assuming it's not present."
-        shell: bash
-      - name: Install latest helm-unittest
-        run: |
-          echo "Installing latest version of helm-unittest"
-          helm plugin install https://github.com/helm-unittest/helm-unittest 
>/dev/null 2>/dev/null
-        shell: bash
-      - name: Assemble list of chart directories to test
-        run: |
-          tr ' ' '\n' <<< . | grep -v '^$' > charts-to-test || true
-          find . -type f -name 'Chart.yaml' -exec dirname {} \; > all-charts
-          [ -z . ] && mv all-charts charts-to-test || true
-        shell: bash
-      - name: Fetch chart dependencies
+      - name: Install helm-unittest
         run: |
-          for chart in $(cat charts-to-test); do
-            helm dependency update "$chart" >/dev/null
-          done
+          helm plugin uninstall unittest 2>/dev/null || true
+          helm plugin install --verify=false 
https://github.com/helm-unittest/helm-unittest
         shell: bash
       - name: Run unit tests
-        run: helm unittest --color $(cat charts-to-test)
+        run: helm unittest .
         shell: bash
       - name: Run chart-testing (install)
         if: steps.list-changed.outputs.changed == 'true'
diff --git a/.github/workflows/pluto.yaml b/.github/workflows/pluto.yaml
index d246f5e..8936970 100644
--- a/.github/workflows/pluto.yaml
+++ b/.github/workflows/pluto.yaml
@@ -26,18 +26,25 @@ jobs:
   pluto_detect:
     runs-on: ubuntu-latest
     env:
-      PLUTO_VERSION: 5.19.1
+      PLUTO_VERSION: 5.22.7
     steps:
       - name: Checkout
-        uses: actions/[email protected]
+        uses: actions/checkout@v6
+      - name: Cache Pluto
+        id: cache-pluto
+        uses: actions/cache@v5
+        with:
+          path: /usr/local/bin/pluto
+          key: pluto-${{ env.PLUTO_VERSION }}-linux-amd64
       - name: Download Pluto
+        if: steps.cache-pluto.outputs.cache-hit != 'true'
         run: |
           wget https://github.com/FairwindsOps/pluto/releases/download/v${{ 
env.PLUTO_VERSION }}/pluto_${{ env.PLUTO_VERSION }}_linux_amd64.tar.gz -O - | 
tar -xz
           mv pluto /usr/local/bin/pluto
           chmod +x /usr/local/bin/pluto
         shell: bash
       - name: Set up Helm
-        uses: azure/[email protected]
+        uses: azure/setup-helm@v4
       - name: verify helm chart
         run: |
           helm template . | pluto detect -omarkdown - >> $GITHUB_STEP_SUMMARY
diff --git a/.github/workflows/update-tika-version.yaml 
b/.github/workflows/update-tika-version.yaml
new file mode 100644
index 0000000..1686c08
--- /dev/null
+++ b/.github/workflows/update-tika-version.yaml
@@ -0,0 +1,119 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: Update Tika Docker Image Version
+
+on:
+  schedule:
+    - cron: '0 6 * * *' # daily at 06:00 UTC
+  workflow_dispatch:
+    inputs:
+      tag:
+        description: 'Tika Docker image tag (e.g. 3.3.0.0-full)'
+        required: false
+
+permissions:
+  contents: write
+  pull-requests: write
+
+jobs:
+  update-tika-version:
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v6
+
+      - name: Determine new tag
+        id: new-tag
+        run: |
+          if [ -n "${{ github.event.inputs.tag }}" ]; then
+            NEW_TAG="${{ github.event.inputs.tag }}"
+          else
+            NEW_TAG=$(curl -s 
"https://hub.docker.com/v2/repositories/apache/tika/tags?page_size=10&ordering=-last_updated";
 \
+              | jq -r '.results[].name' \
+              | grep -E '^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+-full$' \
+              | sort -V \
+              | tail -1)
+          fi
+
+          if [ -z "$NEW_TAG" ]; then
+            echo "::error::Could not determine the latest Tika Docker image 
tag"
+            exit 1
+          fi
+
+          echo "tag=$NEW_TAG" >> "$GITHUB_OUTPUT"
+        shell: bash
+
+      - name: Read current appVersion
+        id: current
+        run: |
+          CURRENT=$(grep '^appVersion:' Chart.yaml | sed 's/appVersion: 
*"\(.*\)"/\1/')
+          echo "tag=$CURRENT" >> "$GITHUB_OUTPUT"
+        shell: bash
+
+      - name: Compare versions
+        id: compare
+        run: |
+          if [ "${{ steps.new-tag.outputs.tag }}" = "${{ 
steps.current.outputs.tag }}" ]; then
+            echo "No update needed. Current version (${{ 
steps.current.outputs.tag }}) is already the latest."
+            echo "updated=false" >> "$GITHUB_OUTPUT"
+          else
+            echo "Update available: ${{ steps.current.outputs.tag }} -> ${{ 
steps.new-tag.outputs.tag }}"
+            echo "updated=true" >> "$GITHUB_OUTPUT"
+          fi
+        shell: bash
+
+      - name: Derive chart version
+        if: steps.compare.outputs.updated == 'true'
+        id: chart-version
+        run: |
+          CHART_VERSION=$(echo "${{ steps.new-tag.outputs.tag }}" | sed 
's/-full$//' | sed 's/\.[0-9]*$//')
+          echo "version=$CHART_VERSION" >> "$GITHUB_OUTPUT"
+        shell: bash
+
+      - name: Update version files
+        if: steps.compare.outputs.updated == 'true'
+        run: |
+          NEW_TAG="${{ steps.new-tag.outputs.tag }}"
+          CHART_VERSION="${{ steps.chart-version.outputs.version }}"
+          OLD_TAG="${{ steps.current.outputs.tag }}"
+
+          sed -i "s/^appVersion: \".*\"/appVersion: \"${NEW_TAG}\"/" Chart.yaml
+          sed -i "s/^version: \".*\"/version: \"${CHART_VERSION}\"/" Chart.yaml
+
+          sed -i "s/tag: '.*'/tag: '${NEW_TAG}'/" values.yaml
+
+          sed -i "s/\"default\": \"${OLD_TAG}\"/\"default\": \"${NEW_TAG}\"/" 
values.schema.json
+        shell: bash
+
+      - name: Create Pull Request
+        if: steps.compare.outputs.updated == 'true'
+        uses: peter-evans/create-pull-request@v8
+        with:
+          token: ${{ secrets.GITHUB_TOKEN }}
+          branch: auto-update/tika-${{ steps.new-tag.outputs.tag }}
+          commit-message: "Bump Apache Tika Docker image to ${{ 
steps.new-tag.outputs.tag }}"
+          title: "Bump Apache Tika Docker image to ${{ 
steps.new-tag.outputs.tag }}"
+          body: |
+            Automated version bump of the Apache Tika Docker image.
+
+            **Old version:** `${{ steps.current.outputs.tag }}`
+            **New version:** `${{ steps.new-tag.outputs.tag }}`
+            **Chart version:** `${{ steps.chart-version.outputs.version }}`
+
+            [View available tags on Docker 
Hub](https://hub.docker.com/r/apache/tika/tags)
+          labels: |
+            dependencies
+            automated
diff --git a/tests/ingress_test.yaml b/tests/ingress_test.yaml
index 48c8cf2..df62cd4 100644
--- a/tests/ingress_test.yaml
+++ b/tests/ingress_test.yaml
@@ -20,10 +20,12 @@ templates:
   - ingress.yaml
 tests:
   - it: should pass
+    capabilities:
+      majorVersion: 1
+      minorVersion: 20
     set:
       image.tag: latest
       ingress.enabled: true
-      Capabilities.KubeVersion.GitVersion: 1.20
       ingress.tls:
         - secretName: chart-example-tls
           hosts:
diff --git a/values.schema.json b/values.schema.json
new file mode 100644
index 0000000..727fa3d
--- /dev/null
+++ b/values.schema.json
@@ -0,0 +1,628 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#";,
+  "additionalProperties": false,
+  "properties": {
+    "affinity": {
+      "additionalProperties": false,
+      "description": "Affinity rules for pod scheduling",
+      "required": [],
+      "title": "affinity",
+      "type": "object"
+    },
+    "autoscaling": {
+      "additionalProperties": false,
+      "properties": {
+        "apiVersion": {
+          "default": "autoscaling/v2",
+          "description": "API version for the HorizontalPodAutoscaler",
+          "required": [],
+          "title": "apiVersion",
+          "type": "string"
+        },
+        "enabled": {
+          "default": false,
+          "description": "Enable autoscaling for Tika pods",
+          "required": [],
+          "title": "enabled",
+          "type": "boolean"
+        },
+        "maxReplicas": {
+          "default": 100,
+          "description": "Maximum number of replicas",
+          "required": [],
+          "title": "maxReplicas",
+          "type": "integer"
+        },
+        "minReplicas": {
+          "default": 1,
+          "description": "Minimum number of replicas",
+          "required": [],
+          "title": "minReplicas",
+          "type": "integer"
+        },
+        "targetCPUUtilizationPercentage": {
+          "default": 80,
+          "description": "Target CPU utilization percentage for autoscaling",
+          "required": [],
+          "title": "targetCPUUtilizationPercentage",
+          "type": "integer"
+        },
+        "targetMemoryUtilizationPercentage": {
+          "default": 80,
+          "description": "Target memory utilization percentage for 
autoscaling",
+          "required": [],
+          "title": "targetMemoryUtilizationPercentage",
+          "type": "integer"
+        }
+      },
+      "required": [
+        "apiVersion",
+        "enabled",
+        "minReplicas",
+        "maxReplicas",
+        "targetCPUUtilizationPercentage",
+        "targetMemoryUtilizationPercentage"
+      ],
+      "title": "autoscaling",
+      "type": "object"
+    },
+    "config": {
+      "additionalProperties": false,
+      "properties": {
+        "base_url": {
+          "default": "http://localhost/";,
+          "description": "Base URL for the Tika service",
+          "required": [],
+          "title": "base_url",
+          "type": "string"
+        }
+      },
+      "required": [
+        "base_url"
+      ],
+      "title": "config",
+      "type": "object"
+    },
+    "fullnameOverride": {
+      "default": "",
+      "description": "Override the full name of the release",
+      "required": [],
+      "title": "fullnameOverride",
+      "type": "string"
+    },
+    "global": {
+      "description": "Global values are values that can be accessed from any 
chart or subchart by exactly the same name.",
+      "required": [],
+      "title": "global",
+      "type": "object"
+    },
+    "image": {
+      "additionalProperties": false,
+      "properties": {
+        "pullPolicy": {
+          "default": "IfNotPresent",
+          "description": "Image pull policy for the Tika container",
+          "required": [],
+          "title": "pullPolicy",
+          "type": "string"
+        },
+        "repository": {
+          "default": "apache/tika",
+          "description": "Docker image repository for Apache Tika",
+          "required": [],
+          "title": "repository",
+          "type": "string"
+        },
+        "tag": {
+          "default": "3.2.2.0-full",
+          "description": "Overrides the image tag whose default is the chart 
appVersion",
+          "required": [],
+          "title": "tag",
+          "type": "string"
+        }
+      },
+      "required": [
+        "repository",
+        "pullPolicy",
+        "tag"
+      ],
+      "title": "image",
+      "type": "object"
+    },
+    "imagePullSecrets": {
+      "description": "Secrets for pulling images from a private registry",
+      "items": {
+        "required": []
+      },
+      "required": [],
+      "title": "imagePullSecrets",
+      "type": "array"
+    },
+    "ingress": {
+      "additionalProperties": false,
+      "properties": {
+        "annotations": {
+          "additionalProperties": false,
+          "description": "Annotations for the ingress resource",
+          "required": [],
+          "title": "annotations",
+          "type": "object"
+        },
+        "enabled": {
+          "default": false,
+          "description": "Enable ingress for the Tika service",
+          "required": [],
+          "title": "enabled",
+          "type": "boolean"
+        },
+        "hosts": {
+          "description": "kubernetes.io/ingress.class: 
nginx\nkubernetes.io/tls-acme: \"true\"",
+          "items": {
+            "anyOf": [
+              {
+                "additionalProperties": false,
+                "properties": {
+                  "host": {
+                    "default": "chart-example.local",
+                    "required": [],
+                    "title": "host",
+                    "type": "string"
+                  },
+                  "paths": {
+                    "items": {
+                      "required": []
+                    },
+                    "required": [],
+                    "title": "paths",
+                    "type": "array"
+                  }
+                },
+                "required": [
+                  "host",
+                  "paths"
+                ],
+                "type": "object"
+              }
+            ],
+            "required": []
+          },
+          "required": [],
+          "title": "hosts",
+          "type": "array"
+        },
+        "tls": {
+          "description": "TLS configuration for the ingress",
+          "items": {
+            "required": []
+          },
+          "required": [],
+          "title": "tls",
+          "type": "array"
+        }
+      },
+      "required": [
+        "enabled",
+        "annotations",
+        "hosts",
+        "tls"
+      ],
+      "title": "ingress",
+      "type": "object"
+    },
+    "livenessProbe": {
+      "additionalProperties": false,
+      "properties": {
+        "failureThreshold": {
+          "default": 20,
+          "description": "Number of failed liveness probes before restarting 
the pod",
+          "required": [],
+          "title": "failureThreshold",
+          "type": "integer"
+        },
+        "initialDelaySeconds": {
+          "default": 15,
+          "description": "Initial delay before starting liveness probe 
(seconds)",
+          "required": [],
+          "title": "initialDelaySeconds",
+          "type": "integer"
+        },
+        "periodSeconds": {
+          "default": 5,
+          "description": "Interval between liveness probes (seconds)",
+          "required": [],
+          "title": "periodSeconds",
+          "type": "integer"
+        },
+        "scheme": {
+          "default": "HTTP",
+          "description": "Scheme for liveness probe (HTTP or HTTPS)",
+          "required": [],
+          "title": "scheme",
+          "type": "string"
+        },
+        "timeoutSeconds": {
+          "default": 30,
+          "description": "Timeout for liveness probe (seconds)",
+          "required": [],
+          "title": "timeoutSeconds",
+          "type": "integer"
+        }
+      },
+      "required": [
+        "initialDelaySeconds",
+        "timeoutSeconds",
+        "failureThreshold",
+        "periodSeconds",
+        "scheme"
+      ],
+      "title": "livenessProbe",
+      "type": "object"
+    },
+    "nameOverride": {
+      "default": "",
+      "description": "Override the name of the chart",
+      "required": [],
+      "title": "nameOverride",
+      "type": "string"
+    },
+    "namespaceOverride": {
+      "default": "",
+      "description": "Override the namespace for the release",
+      "required": [],
+      "title": "namespaceOverride",
+      "type": "string"
+    },
+    "networkPolicy": {
+      "additionalProperties": false,
+      "properties": {
+        "allowExternal": {
+          "default": false,
+          "description": "Allow external traffic without requiring a 
\"-client\" label",
+          "required": [],
+          "title": "allowExternal",
+          "type": "boolean"
+        },
+        "enabled": {
+          "default": false,
+          "description": "Create a network policy to restrict traffic to pods 
within the\nsame namespace that include the label `\u003crelease\u003e-client: 
true`.",
+          "required": [],
+          "title": "enabled",
+          "type": "boolean"
+        }
+      },
+      "required": [
+        "enabled",
+        "allowExternal"
+      ],
+      "title": "networkPolicy",
+      "type": "object"
+    },
+    "nodeSelector": {
+      "additionalProperties": false,
+      "description": "Node selector for pod scheduling",
+      "required": [],
+      "title": "nodeSelector",
+      "type": "object"
+    },
+    "podAnnotations": {
+      "additionalProperties": false,
+      "description": "Annotations to add to the Tika pods",
+      "required": [],
+      "title": "podAnnotations",
+      "type": "object"
+    },
+    "podSecurityContext": {
+      "additionalProperties": false,
+      "required": [],
+      "title": "podSecurityContext",
+      "type": "object"
+    },
+    "readinessProbe": {
+      "additionalProperties": false,
+      "properties": {
+        "failureThreshold": {
+          "default": 20,
+          "description": "Number of failed readiness probes before marking pod 
as not ready",
+          "required": [],
+          "title": "failureThreshold",
+          "type": "integer"
+        },
+        "initialDelaySeconds": {
+          "default": 15,
+          "description": "Initial delay before starting readiness probe 
(seconds)",
+          "required": [],
+          "title": "initialDelaySeconds",
+          "type": "integer"
+        },
+        "periodSeconds": {
+          "default": 5,
+          "description": "Interval between readiness probes (seconds)",
+          "required": [],
+          "title": "periodSeconds",
+          "type": "integer"
+        },
+        "scheme": {
+          "default": "HTTP",
+          "description": "Scheme for readiness probe (HTTP or HTTPS)",
+          "required": [],
+          "title": "scheme",
+          "type": "string"
+        },
+        "timeoutSeconds": {
+          "default": 30,
+          "description": "Timeout for readiness probe (seconds)",
+          "required": [],
+          "title": "timeoutSeconds",
+          "type": "integer"
+        }
+      },
+      "required": [
+        "initialDelaySeconds",
+        "timeoutSeconds",
+        "failureThreshold",
+        "periodSeconds",
+        "scheme"
+      ],
+      "title": "readinessProbe",
+      "type": "object"
+    },
+    "replicaCount": {
+      "default": 1,
+      "description": "Number of Tika pod replicas to deploy",
+      "required": [],
+      "title": "replicaCount",
+      "type": "integer"
+    },
+    "resources": {
+      "additionalProperties": false,
+      "properties": {
+        "limits": {
+          "additionalProperties": false,
+          "description": "Resource limits for the Tika container",
+          "properties": {
+            "cpu": {
+              "default": "2",
+              "required": [],
+              "title": "cpu",
+              "type": "string"
+            },
+            "memory": {
+              "default": "2000Mi",
+              "required": [],
+              "title": "memory",
+              "type": "string"
+            }
+          },
+          "required": [
+            "cpu",
+            "memory"
+          ],
+          "title": "limits",
+          "type": "object"
+        },
+        "requests": {
+          "additionalProperties": false,
+          "description": "Resource requests for the Tika container",
+          "properties": {
+            "cpu": {
+              "default": "1",
+              "required": [],
+              "title": "cpu",
+              "type": "string"
+            },
+            "memory": {
+              "default": "1500Mi",
+              "required": [],
+              "title": "memory",
+              "type": "string"
+            }
+          },
+          "required": [
+            "cpu",
+            "memory"
+          ],
+          "title": "requests",
+          "type": "object"
+        }
+      },
+      "required": [
+        "limits",
+        "requests"
+      ],
+      "title": "resources",
+      "type": "object"
+    },
+    "securityContext": {
+      "additionalProperties": false,
+      "properties": {
+        "allowPrivilegeEscalation": {
+          "default": true,
+          "description": "Allow privilege escalation for the container",
+          "required": [],
+          "title": "allowPrivilegeEscalation",
+          "type": "boolean"
+        },
+        "capabilities": {
+          "additionalProperties": false,
+          "properties": {
+            "drop": {
+              "description": "Capabilities to drop for the container",
+              "items": {
+                "anyOf": [
+                  {
+                    "required": [],
+                    "type": "string"
+                  }
+                ],
+                "required": []
+              },
+              "required": [],
+              "title": "drop",
+              "type": "array"
+            }
+          },
+          "required": [
+            "drop"
+          ],
+          "title": "capabilities",
+          "type": "object"
+        },
+        "readOnlyRootFilesystem": {
+          "default": true,
+          "description": "Run container with read-only root filesystem",
+          "required": [],
+          "title": "readOnlyRootFilesystem",
+          "type": "boolean"
+        },
+        "runAsGroup": {
+          "default": 35002,
+          "description": "Group ID to run the container",
+          "required": [],
+          "title": "runAsGroup",
+          "type": "integer"
+        },
+        "runAsNonRoot": {
+          "default": true,
+          "description": "Run container as non-root user",
+          "required": [],
+          "title": "runAsNonRoot",
+          "type": "boolean"
+        },
+        "runAsUser": {
+          "default": 35002,
+          "description": "User ID to run the container",
+          "required": [],
+          "title": "runAsUser",
+          "type": "integer"
+        }
+      },
+      "required": [
+        "allowPrivilegeEscalation",
+        "capabilities",
+        "readOnlyRootFilesystem",
+        "runAsNonRoot",
+        "runAsUser",
+        "runAsGroup"
+      ],
+      "title": "securityContext",
+      "type": "object"
+    },
+    "service": {
+      "additionalProperties": false,
+      "properties": {
+        "port": {
+          "default": 9998,
+          "description": "Port for the Tika service",
+          "required": [],
+          "title": "port",
+          "type": "integer"
+        },
+        "type": {
+          "default": "ClusterIP",
+          "description": "Type of Kubernetes service to expose Tika",
+          "required": [],
+          "title": "type",
+          "type": "string"
+        }
+      },
+      "required": [
+        "type",
+        "port"
+      ],
+      "title": "service",
+      "type": "object"
+    },
+    "serviceAccount": {
+      "additionalProperties": false,
+      "description": "Environment variables to set in the container\nFor 
example:\nenv:\n  - name: SOME_VAR\n    value: \"some value\"\nenv: []",
+      "properties": {
+        "annotations": {
+          "additionalProperties": false,
+          "description": "Annotations to add to the service account",
+          "required": [],
+          "title": "annotations",
+          "type": "object"
+        },
+        "create": {
+          "default": true,
+          "description": "Specifies whether a service account should be 
created",
+          "required": [],
+          "title": "create",
+          "type": "boolean"
+        },
+        "name": {
+          "default": "",
+          "description": "The name of the service account to use; if not 
set\nand create is true, a name is generated",
+          "required": [],
+          "title": "name",
+          "type": "string"
+        }
+      },
+      "required": [
+        "create",
+        "annotations",
+        "name"
+      ],
+      "title": "serviceAccount",
+      "type": "object"
+    },
+    "tolerations": {
+      "description": "Tolerations for pod scheduling",
+      "items": {
+        "required": []
+      },
+      "required": [],
+      "title": "tolerations",
+      "type": "array"
+    },
+    "topologySpreadConstraints": {
+      "description": "Control how Pods are spread across the cluster",
+      "items": {
+        "required": []
+      },
+      "required": [],
+      "title": "topologySpreadConstraints",
+      "type": "array"
+    },
+    "tikaConfig": {
+      "description": "Custom Tika configuration (tika-config.xml) as a 
multiline string",
+      "required": [],
+      "title": "tikaConfig",
+      "type": "string"
+    },
+    "additionalConfigs": {
+      "additionalProperties": {
+        "type": "string"
+      },
+      "description": "Additional configuration files to mount alongside 
tika-config.xml",
+      "required": [],
+      "title": "additionalConfigs",
+      "type": "object"
+    }
+  },
+  "required": [
+    "replicaCount",
+    "image",
+    "imagePullSecrets",
+    "nameOverride",
+    "fullnameOverride",
+    "namespaceOverride",
+    "serviceAccount",
+    "podAnnotations",
+    "podSecurityContext",
+    "securityContext",
+    "service",
+    "ingress",
+    "livenessProbe",
+    "readinessProbe",
+    "resources",
+    "autoscaling",
+    "nodeSelector",
+    "tolerations",
+    "affinity",
+    "topologySpreadConstraints",
+    "networkPolicy",
+    "config"
+  ],
+  "type": "object"
+}
\ No newline at end of file

Reply via email to