blob: 581ee1b8bf2c02e19314818dd919121d23eef54c [file]
{
"$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.3.0.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"
}