# file: incus/defaults/main.yml

incus_version_epoch: 1
incus_update_now: false

incus_zfs_backend: true
incus_zfs_root_dataset: "nvme/incus"

incus_standard_profiles:
  - name: cpu-2-cores
    config: '{ "limits.cpu" : "2" }'
  - name: cpu-4-cores
    config: '{ "limits.cpu" : "4" }'
  - name: cpu-8-cores
    config: '{ "limits.cpu" : "8" }'
  - name: cpu-10-cores
    config: '{ "limits.cpu" : "10" }'
  - name: cpu-16-cores
    config: '{ "limits.cpu" : "16" }'
  - name: cpu-20-cores
    config: '{ "limits.cpu" : "20" }'
  - name: cpu-32-cores
    config: '{ "limits.cpu" : "32" }'
  - name: cpu-48-cores
    config: '{ "limits.cpu" : "48" }'
  - name: cpu-64-cores
    config: '{ "limits.cpu" : "64" }'
  - name: cpu-128-cores
    config: '{ "limits.cpu" : "128" }'
  - name: mem-2GiB
    config: '{ "limits.memory" : "2GiB" }'
  - name: mem-4GiB
    config: '{ "limits.memory" : "4GiB" }'
  - name: mem-6GiB
    config: '{ "limits.memory" : "6GiB" }'
  - name: mem-10GiB
    config: '{ "limits.memory" : "10GiB" }'
  - name: mem-20GiB
    config: '{ "limits.memory" : "20GiB" }'
  - name: mem-30GiB
    config: '{ "limits.memory" : "30GiB" }'
  - name: mem-40GiB
    config: '{ "limits.memory" : "40GiB" }'
  - name: mem-50GiB
    config: '{ "limits.memory" : "50GiB" }'
  - name: mem-60GiB
    config: '{ "limits.memory" : "60GiB" }'
  - name: mem-100GiB
    config: '{ "limits.memory" : "100GiB" }'
  - name: mem-200GiB
    config: '{ "limits.memory" : "200GiB" }'
  - name: mem-250GiB
    config: '{ "limits.memory" : "250GiB" }'
  - name: mem-500GiB
    config: '{ "limits.memory" : "500GiB" }'

incus_yaml_unconfigured: |-
  config: {}
  networks: []
  storage_pools: []
  storage_volumes: []
  profiles:
  - config: {}
    description: Default Incus profile
    devices: {}
    name: default
    project: ""
  projects:
  - config:
      features.images: "true"
      features.networks: "true"
      features.networks.zones: "true"
      features.profiles: "true"
      features.storage.buckets: "true"
      features.storage.volumes: "true"
    description: Default Incus project
    name: default
  certificates: []

incus_standalone_init_yaml: |-
  config: {}
  networks: []
  storage_pools:
  - config:
      source: {{ incus_zfs_root_dataset }}
    description: ""
    name: default
    driver: zfs
  profiles:
  - config: {}
    description: ""
    devices:
      root:
        path: /
        pool: default
        type: disk
    name: default
  cluster: null

incus_cluster_ovn_conf:
  northbound_connection: "{{ incus_ovn_northbound }}"
  ca_cert: "{{ incus_client_cert_issuing_ca_chain }}"
  client_cert: "{{ incus_client_cert_ca }}"
  client_key: "{{ incus_client_cert_private_key }}"

incus_cluster_main_init_yaml: |
  config:
    cluster.https_address: {{ incus_ip }}:8443
    core.https_address: {{ incus_ip }}:8443
  storage_pools:
  - name: default
    driver: zfs
    config:
      source: {{ incus_zfs_root_dataset }}
  cluster:
    server_name: {{ ansible_hostname }}
    enabled: true

incus_cluster_init_yaml: |
  config:
    cluster.https_address: {{ incus_ip }}:8443
    core.https_address: {{ incus_ip }}:8443
  cluster:
    server_name: {{ ansible_hostname }}
    enabled: true
    cluster_address: {{ incus_cluster_main_ip }}
    cluster_token: {{ incus_cluster_add.stdout }}
    server_address: {{ incus_ip }}
    member_config:
      {{ incus_cluster_init_member_config | indent(width=4) }}

incus_cluster_init_member_config: |
  - entity: storage-pool
    name: default
    key: driver
    value: zfs
  - entity: storage-pool
    name: default
    key: source
    value: {{ incus_zfs_root_dataset }}
