DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
Audience
Apache Tika Committer or PMC who want to release tika-helm; the official Apache Tika Helm Chart.
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, GDAL, etc.
Although these two upstream container images exist, only one Helm Chart is required. This is because the tika-docker image can be defined dynamically when the tika-helm chart is deployed into a K8s environment.
The tika-helm Chart uses the tika-docker FULL image by default.
Semantic Versioning
tika-helm Charts follow the Semantic Versioning 2.0.0 specification. This is to say that regardless of the upstream tika-docker container image versioning scheme, each tika-helm release version complies with Semver 2.0.0.
Release Process
Creating Git Release
For each new upstream tika-docker FULL release we need to update 3 lines of code, namely
appVersion needs to match the corresponding upstream tika-docker FULL 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.
export RELEASE_VERSION=v3.2.2 git add -A && \ git commit -m "Release tika-helm $RELEASE_VERSION" && \ git push origin main && \ git tag -a $RELEASE_VERSION -m "Release tika-helm $RELEASE_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
- Helm
- helm-push-artifactory-plugin (if you are using Helm v3 (recommended) then add
--version 1.0.2), for example
# 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
Create helm chart package
# Add the tika Helm repository helm repo add tika https://apache.jfrog.io/artifactory/tika # Define your username and password for the Apache JFrog service export HELM_REPO_USERNAME="myuser" export HELM_REPO_PASSWORD="mypass" # Push the tika helm artifact to Artifactory helm push-artifactory . https://apache.jfrog.io/artifactory/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
- TIKA-4232 - Getting issue details... STATUS
- TIKA-4468 - Getting issue details... STATUS
- Automate publishing to Artifactory on each merge commit/push to main branch or maybe via https://github.com/marketplace/actions/helm-publish-action
- TIKA-4660 - Getting issue details... STATUS
- TIKA-4233 - Getting issue details... STATUS