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