# Copyright 2020 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
##

options:
  vca_host:
    type: string
    description: "The VCA host."
  vca_port:
    type: int
    description: "The VCA port."
  vca_user:
    type: string
    description: "The VCA user name."
  vca_secret:
    type: string
    description: "The VCA user secret."
  vca_pubkey:
    type: string
    description: "The VCA public key."
  vca_cacert:
    type: string
    description: "The VCA cacert."
  vca_apiproxy:
    type: string
    description: "The VCA api proxy (native charms)"
  vca_cloud:
    type: string
    description: "The VCA lxd cloud name"
  vca_k8s_cloud:
    type: string
    description: "The VCA K8s cloud name"
  database_commonkey:
    description: Database common key
    type: string
    default: osm
  mongodb_uri:
    type: string
    description: MongoDB URI (external database)
  log_level:
    description: "Log Level"
    type: string
    default: "INFO"
  vca_model_config_agent_metadata_url:
    description: The URL of the private stream.
    type: string
  vca_model_config_agent_stream:
    description: |
      The stream to use for deploy/upgrades of agents.
      See additional info below.
    type: string
  vca_model_config_apt_ftp_proxy:
    description: The APT FTP proxy for the model.
    type: string
  vca_model_config_apt_http_proxy:
    description: The APT HTTP proxy for the model.
    type: string
  vca_model_config_apt_https_proxy:
    description: The APT HTTPS proxy for the model.
    type: string
  vca_model_config_apt_mirror:
    description: The APT mirror for the model.
    type: string
  vca_model_config_apt_no_proxy:
    description: The APT no proxy for the model.
    type: string
  vca_model_config_automatically_retry_hooks:
    description: Set the policy on retying failed hooks.
    type: boolean
  vca_model_config_backup_dir:
    description: Backup directory
    type: string
  vca_model_config_cloudinit_userdata:
    description: Cloudinit userdata
    type: string
  vca_model_config_container_image_metadata_url:
    description: |
      Corresponds to 'image-metadata-url' (see below) for cloud-hosted
      KVM guests or LXD containers. Not needed for the localhost cloud.
    type: string
  vca_model_config_container_image_stream:
    description: |
      Corresponds to 'image-stream' (see below) for cloud-hosted KVM
      guests or LXD containers. Not needed for the localhost cloud.
    type: string
  vca_model_config_container_inherit_properties:
    description: |
      Set parameters to be inherited from a machine toits hosted
      containers (KVM or LXD).
    type: string
  vca_model_config_container_networking_method:
    description: |
      The FAN networking mode to use. Default values can be provider-specific.
    type: string
  vca_model_config_default_series:
    description: The default series of Ubuntu to use for deploying charms.
    type: string
  vca_model_config_default_space:
    description: |
      The space used as the default binding when deploying charms.
      Will be "alpha" by default.
    type: string
  vca_model_config_development:
    description: Set whether the model is in development mode.
    type: boolean
  vca_model_config_disable_network_management:
    description: |
      Set whether to give network control to the provider instead
      of Juju controlling configuration.
    type: boolean
  vca_model_config_egress_subnets:
    description: Egress subnets
    type: string
  vca_model_config_enable_os_refresh_update:
    description: |
      Set whether newly provisioned instances should run their
      respective OS's update capability.
    type: boolean
  vca_model_config_enable_os_upgrade:
    description: |
      Set whether newly provisioned instances should run their
      respective OS's upgrade capability.
    type: boolean
  vca_model_config_fan_config:
    description: |
      The FAN overlay and underlay networks in
      CIDR notation (space-separated).
    type: string
  vca_model_config_firewall_mode:
    description: The mode to use for network firewalling.
    type: string
  vca_model_config_ftp_proxy:
    description: |
      The FTP proxy value to configure on instances,
      in the FTP_PROXY environment variable.
    type: string
  vca_model_config_http_proxy:
    description: |
      The HTTP proxy value to configure on instances,
      in the HTTP_PROXY environment variable.
    type: string
  vca_model_config_https_proxy:
    description: |
      The HTTPS proxy value to configure on instances,
      in the HTTPS_PROXY environment variable.
    type: string
  vca_model_config_ignore_machine_addresses:
    description: |
      When true, the machine worker will not look up
      or discover any machine addresses.
    type: boolean
  vca_model_config_image_metadata_url:
    description: |
      The URL at which the metadata used to locate
      OS image ids is located.
    type: string
  vca_model_config_image_stream:
    description: |
      The simplestreams stream used to identify which image
      ids to search when starting an instance.
    type: string
  vca_model_config_juju_ftp_proxy:
    description: The charm-centric FTP proxy value.
    type: string
  vca_model_config_juju_http_proxy:
    description: The charm-centric HTTP proxy value.
    type: string
  vca_model_config_juju_https_proxy:
    description: The charm-centric HTTPS proxy value.
    type: string
  vca_model_config_juju_no_proxy:
    description: The charm-centric no-proxy value.
    type: string
  vca_model_config_logforward_enabled:
    description: Set whether the log forward function is enabled.
    type: boolean
  vca_model_config_logging_config:
    description: |
      The configuration string to use when configuring Juju agent logging
    type: string
  vca_model_config_lxd_snap_channel:
    description: LXD snap channel
    type: string
  vca_model_config_max_action_results_age:
    description: The maximum aget for status action results entries
    type: string
  vca_model_config_max_action_results_size:
    description: The maximum size for status action results entries
    type: string
  vca_model_config_max_status_history_age:
    description: |
      The maximum age for status history entries before they are pruned,
      in a human-readable time format.
    type: string
  vca_model_config_max_status_history_size:
    description: |
      The maximum size for the status history collection,
      in human-readable memory format.
    type: string
  vca_model_config_net_bond_reconfigure_delay:
    description: Net bond reconfigure delay
    type: int
  vca_model_config_no_proxy:
    description: List of domain addresses not to be proxied (comma-separated).
    type: string
  vca_model_config_provisioner_harvest_mode:
    description: Set what to do with unknown machines.
    type: string
  vca_model_config_proxy_ssh:
    description: |
      Set whether SSH commands should be proxied through the API server.
    type: boolean
  vca_model_config_snap_http_proxy:
    description: The snap-centric HTTP proxy value.
    type: string
  vca_model_config_snap_https_proxy:
    description: The snap-centric HTTPS proxy value.
    type: string
  vca_model_config_snap_store_assertions:
    description: |
      The collection of snap store assertions.
      Each entry should contain the snap store ID.
    type: string
  vca_model_config_snap_store_proxy:
    description: The snap store ID.
    type: string
  vca_model_config_snap_store_proxy_url:
    description: The snap store proxy url
    type: string
  vca_model_config_ssl_hostname_verification:
    description: Set whether SSL hostname verification is enabled.
    type: boolean
  vca_model_config_test_mode:
    description: |
      Set whether the model is intended for testing.
      If true, accessing the charm store does not affect
      statistical data of the store.
    type: boolean
  vca_model_config_transmit_vendor_metrics:
    description: |
      Set whether the controller will send metrics collected from
      this model for use in anonymized aggregate analytics.
    type: boolean
  vca_model_config_update_status_hook_interval:
    description: |
      The run frequency of the update-status hook.
      The value has a random +/- 20% offset applied to avoid hooks
      for all units firing at once. Value change only honoured
      during controller and model creation
      (bootstrap --config and add-model --config).
    type: string
  vca_stablerepourl:
    description: Stable repository URL for Helm charts
    type: string
    default: https://charts.helm.sh/stable
  vca_helm_ca_certs:
    description: CA certificates to validate access to Helm repository
    type: string
    default: ""
  image_pull_policy:
    type: string
    description: |
      ImagePullPolicy configuration for the pod.
      Possible values: always, ifnotpresent, never
    default: always
  debug_mode:
    description: |
      If true, debug mode is activated. It means that the service will not run,
      and instead, the command for the container will be a `sleep infinity`.
    type: boolean
    default: false
  debug_pubkey:
    description: |
      Public SSH key that will be injected to the application pod.
    type: string
