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

name: osm-keystone
display-name: Keystone
description: |
  Keystone operator used for Charmed OSM

summary: |
  Keystone operator used for Charmed OSM

containers:
  keystone:
    resource: keystone-image

resources:
  keystone-image:
    type: oci-image
    description: OCI image for Keystone
    upstream-source: opensourcemano/keystone:testing-daily

requires:
  db:
    interface: mysql
    limit: 1

peers:
  cluster:
    interface: cluster

provides:
  keystone:
    interface: keystone
