# Copyright 2021 Canonical Ltd.
#
# Licensed 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.
#
# For those usages not covered by the Apache License, Version 2.0 please
# contact: legal@canonical.com
#
# To get in touch with the maintainers, please contact:
# osm-charmers@lists.launchpad.net
##

name: zookeeper-k8s
summary: "zookeeper charm for Kubernetes."
maintainers:
    - "SolutionsQA <solutionsqa@lists.canonical.com>"
description: |
  A CAAS charm to deploy zookeeper.
tags:
    - "application"
series:
    - kubernetes
provides:
    zookeeper:
        interface: zookeeper
storage:
    database:
        type: filesystem
        location: /var/lib/zookeeper
deployment:
    type: stateful
    service: cluster
