Audience

Apache Tika Committer or PMC who want to release tika-helm.

Questions/Troubleshooting

Reach out to lewismc[at]apache[dot]org and also on dev@tika mailing list.

Prerequisites

Apache JFrog Artifactory Repository and Access

You need permissions to release the Apache Tika Helm chart to the Apache Infra Artifactory instance. This is controlled by the ASF Infra team and can be requested through a INFRA JIRA ticket. Make sure to tag the ticket with the Artifactory label.

tika-helm repo

This Github repository contains the Chart which needs to be configured for minimal and full Tika Docker images. If you are an Apache Tika Committer or PMC you should already have access to this repository. If not, then you will want to check over on the dev@tika mailing list.

General Information

tika-docker Image Types

There are two image types:

  • Minimal - containing just Apache Tika and it's base dependencies (i.e. Java)
  • Full - containing Apache Tika, it's dependencies, as well as Tesseract and GDAL.

This is to say that for every stable release of the Apache Tika source binaries, two (minimal and full) Docker images are released.

Release Process

Creating Git Release

Based on the above general information, we therefore make two releases of the corresponding Helm Chart. In order to do this, we need to update 3 lines of code, namely

appVersion needs to match the corresponding upstream tika-docker release tag.

Once you have examined the changes, you can commit them to main branch. Then tag them from there and push the tag to the tika-helm repository.

Tag and pushb to tika-helm origin
$ git add -A
$ git commit -m "Release branch for tika-helm ${target_version}"
$ git push origin main
$ git tag -a ${target_version} -m "Release tika-helm ${target_version}"
$ git push --tags

Once this is done, you can navigate to the ${target_version} tag you just pushed and 'release' it (by clicking on the three dots button on the right hand side).

Promoting Release to the Apache JFrog Artifactory Repository

N.B. You should still be in the ${target_version} branch

Prerequisites

Install prerequisites
# Assuming Mac
$ brew install helm # Which will install Helm >=3.X
$ helm plugin install https://github.com/belitre/helm-push-artifactory-plugin --version 1.0.2 # Which is required for >= Helm 3.X
...
Installing plugin for Helm v3...
Downloading and installing helm-push-artifactory v1.0.2 ...
https://github.com/belitre/helm-push-artifactory-plugin/releases/download/v1.0.2/helm-push-artifactory-v1.0.2-darwin-amd64.tar.gz
Installed plugin: push-artifactory

Promoting the Release

# Add the tika Helm repository
$ helm repo add tika https://apache.jfrog.io/artifactory/tika

# Push the tika helm artifact to Artifactory
$ helm push-artifactory . https://apache.jfrog.io/artifactory/tika --username '${username}' --password "${password}"
...
Pushing tika-1.26-full.tgz to https://apache.jfrog.io/artifactory/tika/tika/tika-1.26-full.tgz...
Done.
Reindex helm repository tika...

Conclusion

Congratulations, by this stage you've just released the tika-helm Helm Chart. Go ahead and make some release announcements... probably on user@ and dev@ tika.apache.org mailing list.

Future Work

As of the following additions can be added to the Chart