# Copyright (c) 2023 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.

octavia_helm_release_name: octavia
octavia_helm_chart_path: "{{ role_path }}/../../charts/octavia/"
octavia_helm_chart_ref: /usr/local/src/octavia

octavia_helm_release_namespace: openstack
octavia_helm_values: {}

# List of annotations to apply to the Ingress
octavia_ingress_annotations: {}

# Heartbeat key
octavia_heartbeat_key: "{{ undef(hint='You must specify a Octavia heartbeat key') }}"

# Octavia management subnet (CIDR)
octavia_management_subnet_cidr: "172.24.0.0/22"

# Octavia Amphora flavor
octavia_amphora_flavor_name: m1.amphora
octavia_amphora_flavor_vcpus: 2
octavia_amphora_flavor_ram: 2048
octavia_amphora_flavor_disk: 0

# Octavia Amphora Image
octavia_amphora_image_name: amphora-x64-haproxy
octavia_amphora_image_url: https://tarballs.opendev.org/openstack/octavia/test-images/test-only-amphora-x64-haproxy-ubuntu-focal.qcow2
octavia_amphora_image_container_format: bare
octavia_amphora_image_disk_format: raw
octavia_amphora_image_tags:
  - amphora
