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

# Helm Chart Definitions.
apiVersion: v1
description: Apache Kudu, A new addition to the open source Apache Hadoop ecosystem, Apache Kudu completes Hadoop's
             storage layer to enable fast analytics on fast data.
name: kudu
version:  1.0
keywords: [apache, kudu, apache-kudu]
sources: [https://github.com/apache/kudu]
home: https://kudu.apache.org/
icon: https://raw.githubusercontent.com/apache/kudu/master/www/logo.png
