Skip to content

apache/tika-helm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

tika-helm

Artifact HUB Version: 3.2.2 Type: application AppVersion: 3.2.2.0-full

tika: The official Helm chart for Apache Tika

— Open in Artifact Hub

We recommend that the Helm chart version is aligned to the version Tika (and subsequently the version of the Tika Docker image) you want to deploy. This will ensure that you using a chart version that has been tested against the corresponding production version. This will also ensure that the documentation and examples for the chart will work with the version of Tika you are installing.

Installing

Install released version using Helm repository

N.B. You may or may not need/wish to install the chart into a specific namespace, in which case you may need to augment the commands below.

  • Add the Tika Helm charts repo: helm repo add tika https://apache.jfrog.io/artifactory/tika

  • 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=latest-full -n tika-test

...
NAME: tika
LAST DEPLOYED: Mon Jan 24 13:38:01 2022
NAMESPACE: tika-test
STATUS: deployed
REVISION: 1
NOTES:
1. Get the application URL by running these commands:
  export POD_NAME=$(kubectl get pods --namespace tika-test -l "app.kubernetes.io/name=tika,app.kubernetes.io/instance=tika" -o jsonpath="{.items[0].metadata.name}")
  export CONTAINER_PORT=$(kubectl get pod --namespace tika-test $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
  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 main branch

  • Clone the git repo: git clone [email protected]:apache/tika-helm.git

  • Install it:

    • with Helm 3: helm install tika . --set image.tag=latest-full

Custom configuration for tika

To use custom configuration values for apache tika, use the tikaConfig key in the values.yaml. Example:

tikaConfig: |
  <?xml version="1.0" encoding="UTF-8"?>
  <properties>
    <parsers>
      <!-- Default Parser for most things, except for 2 mime types -->
      <parser class="org.apache.tika.parser.DefaultParser">
        <mime-exclude>image/jpeg</mime-exclude>
        <mime-exclude>application/pdf</mime-exclude>
      </parser>
    </parsers>
  </properties>

Upgrading

Please check artifacthub.io/changes in Chart.yaml before upgrading.

Values

Key Type Default Description
affinity object
{}
Affinity rules for pod scheduling
autoscaling.apiVersion string
"autoscaling/v2"
API version for the HorizontalPodAutoscaler
autoscaling.enabled bool
false
Enable autoscaling for Tika pods
autoscaling.maxReplicas int
100
Maximum number of replicas
autoscaling.minReplicas int
1
Minimum number of replicas
autoscaling.targetCPUUtilizationPercentage int
80
Target CPU utilization percentage for autoscaling
autoscaling.targetMemoryUtilizationPercentage int
80
Target memory utilization percentage for autoscaling
config.base_url string
"http://localhost/"
Base URL for the Tika service
fullnameOverride string
""
Override the full name of the release
image.pullPolicy string
"IfNotPresent"
Image pull policy for the Tika container
image.repository string
"apache/tika"
Docker image repository for Apache Tika
image.tag string
"3.2.2.0-full"
Overrides the image tag whose default is the chart appVersion
imagePullSecrets list
[]
Secrets for pulling images from a private registry
ingress.annotations object
{}
Annotations for the ingress resource
ingress.enabled bool
false
Enable ingress for the Tika service
ingress.hosts[0] object
{
  "host": "chart-example.local",
  "paths": []
}
Hostnames for the ingress
ingress.tls list
[]
TLS configuration for the ingress
livenessProbe.failureThreshold int
20
Number of failed liveness probes before restarting the pod
livenessProbe.initialDelaySeconds int
15
Initial delay before starting liveness probe (seconds)
livenessProbe.periodSeconds int
5
Interval between liveness probes (seconds)
livenessProbe.scheme string
"HTTP"
Scheme for liveness probe (HTTP or HTTPS)
livenessProbe.timeoutSeconds int
30
Timeout for liveness probe (seconds)
nameOverride string
""
Override the name of the chart
namespaceOverride string
""
Override the namespace for the release
networkPolicy.allowExternal bool
false
Allow external traffic without requiring a "-client" label
networkPolicy.enabled bool
false
Create a network policy to restrict traffic to pods within the same namespace that include the label `-client: true`.
nodeSelector object
{}
Node selector for pod scheduling
podAnnotations object
{}
Annotations to add to the Tika pods
podSecurityContext object
{}
readinessProbe.failureThreshold int
20
Number of failed readiness probes before marking pod as not ready
readinessProbe.initialDelaySeconds int
15
Initial delay before starting readiness probe (seconds)
readinessProbe.periodSeconds int
5
Interval between readiness probes (seconds)
readinessProbe.scheme string
"HTTP"
Scheme for readiness probe (HTTP or HTTPS)
readinessProbe.timeoutSeconds int
30
Timeout for readiness probe (seconds)
replicaCount int
1
Number of Tika pod replicas to deploy
resources.limits object
{
  "cpu": "2",
  "memory": "2000Mi"
}
Resource limits for the Tika container
resources.requests object
{
  "cpu": "1",
  "memory": "1500Mi"
}
Resource requests for the Tika container
securityContext.allowPrivilegeEscalation bool
true
Allow privilege escalation for the container
securityContext.capabilities.drop list
[
  "ALL"
]
Capabilities to drop for the container
securityContext.readOnlyRootFilesystem bool
true
Run container with read-only root filesystem
securityContext.runAsGroup int
35002
Group ID to run the container
securityContext.runAsNonRoot bool
true
Run container as non-root user
securityContext.runAsUser int
35002
User ID to run the container
service.port int
9998
Port for the Tika service
service.type string
"ClusterIP"
Type of Kubernetes service to expose Tika
serviceAccount.annotations object
{}
Annotations to add to the service account
serviceAccount.create bool
true
Specifies whether a service account should be created
serviceAccount.name string
""
The name of the service account to use; if not set and create is true, a name is generated
tolerations list
[]
Tolerations for pod scheduling
topologySpreadConstraints list
[]
Control how Pods are spread across the cluster

Testing

helm plugin install https://github.com/helm-unittest/helm-unittest.git
helm unittest .

See helm-unittest for canonical documentation.

Contributing

Please check CONTRIBUTING before any contribution or for any questions about our development and testing process.

More Information

For more infomation on Apache Tika Server, go to the Apache Tika Server documentation.

For more information on Apache Tika, go to the official Apache Tika project website.

For more information on the Apache Software Foundation, go to the Apache Software Foundation website.

License

The code is licensed permissively under the Apache License v2.0.

Maintainers

Name Email Url
lewismc [email protected] https://github.com/lewismc
stijnbrouwers https://github.com/stijnbrouwers
philipsoutham https://github.com/philipsoutham
frascu https://github.com/frascu
euven https://github.com/euven
ps0uth https://github.com/ps0uth
ahilmathew https://github.com/ahilmathew
aidanthewiz https://github.com/aidanthewiz
bartek https://github.com/bartek
CiraciNicolo https://github.com/CiraciNicolo
amalucelli https://github.com/amalucelli
thatmlopsguy https://github.com/thatmlopsguy

Autogenerated from chart metadata using helm-docs v1.14.2

About

A Helm chart to deploy Apache Tika on Kubernetes.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages