# 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.

# apiVersion v2 is Helm 3
---
apiVersion: v2
name: tika
version: "2.2.1"
#kubeVersion:
description: A Helm chart to deploy Apache Tika on Kubernetes
type: application
keywords:
  - apache
  - tika
  - apache-tika
  - tika-helm
home: https://tika.apache.org
sources:
  - https://github.com/apache/tika
  - https://github.com/apache/tika-helm
#dependencies:
maintainers:
  - name: Apache Tika Developers
    email: dev@tika.apache.org
    url: https://tika.apache.org
icon: https://tika.apache.org/tika.png
appVersion: "2.2.1"
deprecated: false
annotations:
  # artifacthub.io/changes: |
  #   - 
  artifacthub.io/containsSecurityUpdates: "true"
  artifacthub.io/images: |
    - name: tika
      image: apache/tika:2.2.1
  artifacthub.io/license: Apache-2.0
  artifacthub.io/links: |
    - name: Apache Tika
      url: https://github.com/apache/tika
    - name: Tika Helm Chart
      url: https://github.com/apache/tika-helm
    - name: Tika Docker Image
      url: https://github.com/apache/tika-docker
  artifacthub.io/maintainers: |
    - name: Apache Tika Developers
      email: dev@tika.apache.org
  artifacthub.io/operator: "false"
  artifacthub.io/prerelease: "false"
