---
hosts:
  -
    settings:
      hostname: ::SERVER_HOSTNAME:: # demo
      domain: ::SERVER_DOMAIN:: # startcloud.com
      server_id: '::SERVER_ID::' # Auto-generated
      vcpus: ::RESOURCES_CPU:: # 2
      memory: ::RESOURCES_RAM:: # 8G

      box: 'STARTcloud/debian12-server'
      box_version: 0.0.4
      os_type: 'Debian_64'
      provider-type: virtualbox
      firmware_type: UEFI
      consoleport: ::SERVER_ID:: # Auto-generated
      consolehost: 0.0.0.0
      setup_wait: 300
      vagrant_user_private_key_path: ./id_rsa
      vagrant_user: startcloud
      vagrant_user_pass: 'STARTcloud22@!'
      vagrant_insert_key: true
      ssh_forward_agent: true

    networks:
      - type: external
        address: ::NETWORK_ADDRESS:: # 192.168.2.15, This is ignored when dhcp4 is set to true, Provide user option
        netmask: ::NETWORK_NETMASK:: # 255.255.255.0, This is ignored when dhcp4 is set to true, Provide user option
        gateway: ::NETWORK_GATEWAY:: # 192.168.2.1, This is ignored when dhcp4 is set to true, Provide user option
        dhcp4: ::NETWORK_DHCP4:: # true, Provide user option in case they want static ip
        dhcp6: false # false
        bridge: ::NETWORK_BRIDGE:: # Blank, Provide user option
        mac: auto
        dns:
          - nameserver: ::NETWORK_DNS_NAMESERVER_1:: # 9.9.9.9
          - nameserver: ::NETWORK_DNS_NAMESERVER_2:: # 149.112.112.112

    #disks:
    #  boot:
    #    size: ::BOOT_DISK_SIZE::
    #  additional_disks:
    #    - volume_name: disk1
    #      size: ::ADDITIONAL_DISK_SIZE::
    #      port: 5

    # Moved to Hosts.rb, Here to document how to override, will be removed in future version once documented in README
    #vbox:
    #  directives:
    #    - directive: vrde
    #      value: 'on'

    provisioning:
      ansible.builtin.shell:
        enabled: false
        scripts:
          - './scripts/aliases.sh'

      ansible:
        enabled: true
        scripts:
          - local:
              - script: ansible/generate-playbook.yml
                ansible_python_interpreter: /usr/bin/python3
                compatibility_mode: 2.0
                install_mode: pip
                ssh_pipelining: true
                verbose: false
              - script: ansible/playbook.yml
                ansible_python_interpreter: /usr/bin/python3
                compatibility_mode: 2.0
                install_mode: pip
                ssh_pipelining: true
                verbose: false

    folders:
      - map: .
        to: /vagrant
        type: virtualbox
        disabled: true
        automount: true
        description: "Disable VBoxSF"
      - map: ./ansible/
        to: /vagrant/ansible/
        type: rsync
        args:
          - '--verbose'
          - '--archive'
          - '--delete'
          - '-z'
          - '--copy-links'
      - map: ./installers/
        to: /vagrant/installers/
        type: rsync
      - map: ./ssls/
        to: /secure/
        type: rsync
      - map: ./safe-id-to-cross-certify/
        to: /safe-id-to-cross-certify/
        type: rsync

    vars:
      ## You can set global role variables here, look in the defaults folders for hints as to variables used by roles
      domino_organization: ::SERVER_ORGANIZATION:: #STARTcloud
      safe_notes_id: ::USER_SAFE_ID:: # SAFE.ids
      domino_admin_notes_id_password: "password"
      domino_server_clustermates: ::DOMINO_SERVER_CLUSTERMATES:: # 0

      ## When using the default: demo.startcloud.com as the hostname and domain, we use the default-signed.crt certificates to provide a valid SSL
      ## If the hostname and domain, ie demo.startcloud.com do not match the certificate we provide (ie demo.startcloud.com in default-signed.crt), some services may not start (ie nomadweb)
      ## If a user does not mind using a self signed certificate for their development testing for their own domain  or are unable to replace the default-signed.crt files
      ## they would set the below value to true so that the vm creates a SSL crt with the valid hostname, so that when the service compares the hostname it is to listen on and
      ## the hostname the certificate is signed for it matches.
      selfsigned_enabled: ::CERT_SELFSIGNED:: # false
      debug_all: true

      genesis_packages:
        - netmonitor
        - SuperHumanPortal

      # Domino Variables
      #domino_hash: ::DOMINO_HASH:: # "4153dfbb571b1284ac424824aa0e25e4"
      domino_server_installer_tar: ::DOMINO_INSTALLER:: # "Domino_12.0.2_Linux_English.tar"
      domino_major_version: ::DOMINO_INSTALLER_MAJOR_VERSION::
      domino_patch_version: ::DOMINO_INSTALLER_MINOR_VERSION::

      # Domino fixpack Variables
      #domino_fp_hash: ::DOMINO_FP_HASH:: # "124153dfbb571b1284ac4248"
      domino_installer_fixpack_install: ::DOMINO_INSTALLER_FIXPACK_INSTALL:: # false
      domino_fixpack_version: ::DOMINO_INSTALLER_FIXPACK_VERSION:: # FP1
      domino_server_fixpack_tar: ::DOMINO_INSTALLER_FIXPACK:: # "Domino_1201FP1_Linux.tar"

      # Domino Hotfix Variables
      #domino_hf_hash: ::DOMINO_HF_HASH:: # "14153dfbb571b1284ac42482"
      domino_installer_hotfix_install: ::DOMINO_INSTALLER_HOTFIX_INSTALL:: # false
      domino_hotfix_version: ::DOMINO_INSTALLER_HOTFIX_VERSION:: # HF50
      domino_server_hotfix_tar: ::DOMINO_INSTALLER_HOTFIX:: # "1201HF50-linux64.tar"

      # Leap Variables
      #leap_hash: ::LEAP_HASH:: # "080235c0f0cce7cc3446e01ffccf0046"
      leap_archive: ::LEAP_INSTALLER:: # Leap-1.0.5.zip
      leap_version: ::LEAP_INSTALLER_VERSION:: # 1.0.5

      # Nomad Web Variables
      #nomadweb_hash: ::NOMADWEB_HASH:: # "044c7a71598f41cd3ddb88c5b4c9b403"
      nomadweb_archive: ::NOMADWEB_INSTALLER:: # nomad-server-1.0.8-for-domino-1202-linux.tgz
      nomadweb_version: ::NOMADWEB_VERSION:: # 1.0.8

      # Traveler Variables
      #traveler_hash: ::TRAVELER_HASH:: # "4a195e3282536de175a2979def40527d"
      traveler_archive: ::TRAVELER_INSTALLER:: # Traveler_12.0.2_Linux_ML.tar.gz
      traveler_base_version: ::TRAVELER_INSTALLER_VERSION:: # base
      traveler_fixpack_archive: ::TRAVELER_FP_INSTALLER:: # Future
      traveler_fixpack_version: ::TRAVELER_FP_INSTALLER_VERSION:: # Future

      # Verse Variables
      #verse_hash: ::VERSE_HASH:: # "dfad6854171e964427550454c5f006ee"
      verse_archive: ::VERSE_INSTALLER:: # HCL_Verse_3.0.0.zip
      verse_base_version: ::VERSE_INSTALLER_VERSION:: # 3.0.0

      # AppDev Web Pack Variables
      #appdevpack_hash: ::APPDEVPACK_HASH:: # "b84248ae22a57efe19dac360bd2aafc2"
      appdevpack_archive: ::APPDEVPACK_INSTALLER:: # domino-appdev-pack-1.0.15.tgz
      appdevpack_version: ::APPDEVPACK_INSTALLER_VERSION:: # 1.0.15
      
      # Domino Rest API Variables
      #domino_rest_api_hash: ::DOMINO_REST_API_HASH:: # "fa990f9bac800726f917cd0ca857f220"
      domino_rest_api_version: ::DOMINO_REST_API_INSTALLER_VERSION:: # 1
      domino_rest_api_archive: ::DOMINO_REST_API_INSTALLER:: # Domino_REST_API_V1_Installer.tar.gz

    roles:
      - name: startcloud_setup
      - name: startcloud_networking
      - name: startcloud_hostname
      - name: startcloud_dependencies
      - name: startcloud_service_user
      - name: startcloud_ssl
      - name: sdkman_install
      - name: sdkman_java
      - name: sdkman_maven
      - name: sdkman_gradle
      - name: domino_reset
      - name: domino_install
      - name: domino_vagrant_rest_api
      - name: domino_service_nash
      - name: domino_java_config
      - name: domino_java_tools
      - name: domino_updatesite
      - name: domino_config
      - name: domino_genesis
      - name: domino_genesis_applications
      - name: domino_cross_certify
      ::ROLE_LEAP::
      ::ROLE_NOMADWEB::
      ::ROLE_TRAVELER::
      ::ROLE_TRAVELER_HTMO::
      ::ROLE_VERSE::
      ::ROLE_APPDEVPACK::
      ::ROLE_RESTAPI::
      - name: domino_vagrant_readme
      ::ROLE_STARTCLOUD_QUICK_START::
      ::ROLE_STARTCLOUD_HAPROXY::
      ::ROLE_STARTCLOUD_VAGRANT_README::
