---
all:
  vars:
    skylab_state_dir: /var/lib/skylab
    skylab_ansible_venv: "{{ skylab_state_dir }}/ansible-runtime"
    skylab_pip_version: 19.3.1
    ansible_user: ansible
    ansible_ssh_common_args: "-o ControlMaster=auto -o ControlPersist=60s -o ForwardAgent=yes"

workstation:
  hosts:
    voyager:
      skylab_description: Personal Workstation
      skylab_hostname: voyager.skylab.enp.one
      skylab_targets: [workstation]


en1:
  vars:
    skylab_location: Newton MA
    skylab_dashboard: info.en1.local
    # gross hack for now, will be refactored later
    _skylab_adguard_nat_rule: 9

  hosts:
    core:
      ansible_host: 10.42.101.1
      ansible_port: 4242
      ansible_network_os: edgeos
      skylab_description: EN1 Core Router

    iridium:
      ansible_host: 10.42.101.200
      skylab_description: Local Monitor Node
      skylab_hostname: iridium.skylab.enp.one
      skylab_targets: [network]
      skylab_networking:
        enp4s0:
          firewall: internal
          dhcp: false
          gateway: 10.42.101.1/24
          dns:
            - 10.42.101.1
          addresses:
            - 10.42.101.200/24

  children:

    cluster:
      vars:
        skylab_targets: [cluster, datastore]
        skylab_compose_version: 3.8
        skylab_compose_dir: "{{ skylab_state_dir }}/compose"

      hosts:
        pegasus:  # jupiter
          ansible_host: 10.42.101.100
          skylab_hostname: pegasus.skylab.enp.one
          skylab_legacy_names:
            - jupiter.net.enp.one
            - jupiter.svr.local
          skylab_description: Arbiter Node
          skylab_cluster:
            address:
              access: 10.42.101.10/24
              internal: 192.168.42.10/24
            interface:
              access: bond0
              internal: bond0.99
          skylab_datastore_device: sdb
          skylab_networking:
            eno1:
              bond: bond0
            eno2:
              bond: bond0
            bond0:
              device: bond
              firewall: internal
              gateway: 10.42.101.1/24
              dns:
                - 10.42.101.1
              addresses:
                - 10.42.101.100/24
                - 192.168.255.255/32
              dhcp: false
            bond0.99:
              device: vlan
              firewall: trusted
              addresses:
                - 192.168.42.10/24
              dhcp: false

        saturn:  # remus
          ansible_host: 10.42.101.110
          skylab_hostname: saturn.skylab.enp.one
          skylab_legacy_names:
            - remus.net.enp.one
            - remus.svr.local
          skylab_description: Operational Node
          skylab_cluster:
            address:
              access: 10.42.101.11/24
              internal: 192.168.42.20/24
            interface:
              access: bond0
              internal: bond0.99
          skylab_networking:
            eno1:
              bond: bond0
            eno2:
              bond: bond0
            bond0:
              device: bond
              firewall: internal
              dhcp: false
              gateway: 10.42.101.1/24
              addresses:
                - 10.42.101.110/24
                - 192.168.255.255/32
              dns:
                - 10.42.101.1
            bond0.99:
              device: vlan
              firewall: trusted
              dhcp: false
              addresses:
                - 192.168.42.20/24

        orion:  # romulus
          ansible_host: 10.42.101.120
          skylab_hostname: orion.skylab.enp.one
          skylab_legacy_names:
            - romulus.net.enp.one
            - romulus.svr.local
          skylab_description: Operational Node
          skylab_cluster:
            address:
              access: 10.42.101.12/24
              internal: 192.168.42.30/24
            interface:
              access: bond0
              internal: bond0.99
          skylab_datastore_device: sdb
          skylab_networking:
            eno1:
              bond: bond0
            eno2:
              bond: bond0
            bond0:
              device: bond
              firewall: internal
              gateway: 10.42.101.1/24
              dns:
                - 10.42.101.1
              addresses:
                - 10.42.101.120/24
                - 192.168.255.255/32
              dhcp: false
            bond0.99:
              device: vlan
              firewall: trusted
              addresses:
                - 192.168.42.30/24
              dhcp: false

en2:
  vars:
    skylab_location: DigitalOcean TOR1

  hosts:
    hubble:
      ansible_host: en2a.enp.one
      skylab_hostname: hubble.en2.enp.one
      skylab_description: Cloud Web Server
      skylab_targets: [cloud]
