io_settings:
  save_agent_actions: true
  save_step_metadata: false
  save_pcap_logs: false
  save_sys_logs: false


game:
  max_episode_length: 128
  ports:
  - HTTP
  - POSTGRES_SERVER
  protocols:
  - ICMP
  - TCP
  - UDP
  thresholds:
    nmne:
      high: 10
      medium: 5
      low: 0

agents:
  - *greens
  - *reds

  - ref: defender
    team: BLUE
    type: ProxyAgent
    observation_space:
      type: CUSTOM
      options:
        components:
          - type: NODES
            label: NODES
            options:
              routers: []
              hosts:
                - hostname: client
                - hostname: server
              num_services: 1
              num_applications: 1
              num_folders: 1
              num_files: 1
              num_nics: 1
              include_num_access: false
              include_nmne: false

          - type: LINKS
            label: LINKS
            options:
              link_references:
                - client:eth-1<->switch_1:eth-1
                - server:eth-1<->switch_1:eth-2

    action_space:
      action_map:
        0:
          action: do_nothing
          options: {}
        1:
          action: node_shutdown
          options:
            node_name: client
        2:
          action: node_shutdown
          options:
            node_name: server
        3:
          action: node_startup
          options:
            node_name: client
        4:
          action: node_startup
          options:
            node_name: server
        5:
          action: host_nic_disable
          options:
            node_name: client
            nic_num: 1
        6:
          action: host_nic_disable
          options:
            node_name: server
            nic_num: 1
        7:
          action: host_nic_enable
          options:
            node_name: client
            nic_num: 1
        8:
          action: host_nic_enable
          options:
            node_name: server
            nic_num: 1

    reward_function:
      reward_components:
        - type: DATABASE_FILE_INTEGRITY
          weight: 0.40
          options:
            node_hostname: database_server
            folder_name: database
            file_name: database.db

    agent_settings:
      flatten_obs: false


simulation:
  network:
    nodes:
    - hostname: client
      type: computer
      ip_address: 192.168.1.2
      subnet_mask: 255.255.255.0
      default_gateway: 192.168.1.1
      applications:
        - type: DatabaseClient
          options:
            db_server_ip: 192.168.1.3
        - type: DataManipulationBot
          options:
            server_ip: 192.168.1.3
            payload: "DELETE"

    - hostname: switch_1
      type: switch
      num_ports: 2

    - hostname: server
      type: server
      ip_address: 192.168.1.3
      subnet_mask: 255.255.255.0
      default_gateway: 192.168.1.1
      services:
        - type: DatabaseService

    links:
    - endpoint_a_hostname: client
      endpoint_a_port: 1
      endpoint_b_hostname: switch_1
      endpoint_b_port: 1

    - endpoint_a_hostname: server
      endpoint_a_port: 1
      endpoint_b_hostname: switch_1
      endpoint_b_port: 2
