# Copyright (c) 2022 VEXXHOST, Inc.
#
# 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: Generate resources
  ansible.builtin.import_tasks:
    file: generate_resources.yml

- name: Generate public key for SSH private key
  ansible.builtin.import_tasks:
    file: generate_public_key.yml

- name: Deploy Helm chart
  run_once: true
  kubernetes.core.helm:
    name: "{{ manila_helm_release_name }}"
    chart_ref: "{{ manila_helm_chart_ref }}"
    release_namespace: "{{ manila_helm_release_namespace }}"
    create_namespace: true
    kubeconfig: "{{ manila_helm_kubeconfig }}"
    values: "{{ _manila_helm_values | combine(manila_helm_values, recursive=True) }}"

- name: Create Ingress
  ansible.builtin.include_role:
    name: openstack_helm_ingress
  vars:
    openstack_helm_ingress_endpoint: sharev2
    openstack_helm_ingress_service_name: manila-api
    openstack_helm_ingress_service_port: 8786
    openstack_helm_ingress_annotations: "{{ manila_ingress_annotations }}"
    openstack_helm_ingress_class_name: "{{ manila_ingress_class_name }}"

- name: Update service tenant quotas
  openstack.cloud.quota:
    cloud: atmosphere
    # NOTE(okozachenko): It uses project name instead of id.
    name: service
    instances: -1
    cores: -1
    ram: -1
    volumes: -1
    gigabytes: -1
    security_group: -1
    security_group_rule: -1
