# 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
appVersion: 0.23.0
description: Apache Druid is a high performance real-time analytics database.
name: druid
dependencies:
  - name: zookeeper
    version: 2.1.4
    repository: https://charts.helm.sh/incubator
    condition: zookeeper.enabled
  - name: mysql
    version: 1.6.4
    repository: https://charts.helm.sh/stable
    condition: mysql.enabled
  - name: postgresql
    version: 8.6.4
    repository: https://charts.helm.sh/stable
    condition: postgresql.enabled
version: 0.3.1
home: https://druid.apache.org/
icon: https://druid.apache.org/img/favicon.png
sources:
  - https://github.com/apache/druid
keywords:
  - olap
  - database
  - analytics
