diff --git a/src/primaite/config/_package_data/basic_lan_network_example.yaml b/src/primaite/config/_package_data/basic_lan_network_example.yaml index 9490ff00..854dfcf3 100644 --- a/src/primaite/config/_package_data/basic_lan_network_example.yaml +++ b/src/primaite/config/_package_data/basic_lan_network_example.yaml @@ -1,3 +1,5 @@ +version: 3.0 + game: ports: - ARP diff --git a/src/primaite/config/_package_data/client_server_p2p_network_example.yaml b/src/primaite/config/_package_data/client_server_p2p_network_example.yaml index 798dd318..702c864f 100644 --- a/src/primaite/config/_package_data/client_server_p2p_network_example.yaml +++ b/src/primaite/config/_package_data/client_server_p2p_network_example.yaml @@ -1,3 +1,5 @@ +version: 3.0 + game: ports: - ARP diff --git a/src/primaite/config/_package_data/data_manipulation.yaml b/src/primaite/config/_package_data/data_manipulation.yaml index 4705c135..72b3f671 100644 --- a/src/primaite/config/_package_data/data_manipulation.yaml +++ b/src/primaite/config/_package_data/data_manipulation.yaml @@ -1,3 +1,5 @@ +version: 3.0 + io_settings: save_agent_actions: true save_step_metadata: false diff --git a/src/primaite/config/_package_data/data_manipulation_marl.yaml b/src/primaite/config/_package_data/data_manipulation_marl.yaml index 0263edb0..178b3322 100644 --- a/src/primaite/config/_package_data/data_manipulation_marl.yaml +++ b/src/primaite/config/_package_data/data_manipulation_marl.yaml @@ -1,3 +1,5 @@ +version: 3.0 + io_settings: save_agent_actions: true save_step_metadata: false diff --git a/src/primaite/config/_package_data/mini_scenario_with_simulation_variation/base_scenario.yaml b/src/primaite/config/_package_data/mini_scenario_with_simulation_variation/base_scenario.yaml index 4c7734d8..9530305a 100644 --- a/src/primaite/config/_package_data/mini_scenario_with_simulation_variation/base_scenario.yaml +++ b/src/primaite/config/_package_data/mini_scenario_with_simulation_variation/base_scenario.yaml @@ -1,3 +1,5 @@ +version: 3.0 + game: max_episode_length: 128 ports: [] diff --git a/src/primaite/config/_package_data/multi_lan_internet_network_example.yaml b/src/primaite/config/_package_data/multi_lan_internet_network_example.yaml index cbd1c01e..4e8f085e 100644 --- a/src/primaite/config/_package_data/multi_lan_internet_network_example.yaml +++ b/src/primaite/config/_package_data/multi_lan_internet_network_example.yaml @@ -1,3 +1,5 @@ +version: 3.0 + game: ports: - ARP diff --git a/src/primaite/config/_package_data/scenario_with_placeholders/scenario.yaml b/src/primaite/config/_package_data/scenario_with_placeholders/scenario.yaml index 1a96e3a0..d34fb310 100644 --- a/src/primaite/config/_package_data/scenario_with_placeholders/scenario.yaml +++ b/src/primaite/config/_package_data/scenario_with_placeholders/scenario.yaml @@ -1,3 +1,5 @@ +version: 3.0 + io_settings: save_agent_actions: true save_step_metadata: false diff --git a/src/primaite/game/game.py b/src/primaite/game/game.py index 1427776e..639b37cf 100644 --- a/src/primaite/game/game.py +++ b/src/primaite/game/game.py @@ -247,6 +247,11 @@ class PrimaiteGame: game.options = PrimaiteGameOptions(**cfg["game"]) game.save_step_metadata = cfg.get("io_settings", {}).get("save_step_metadata") or False + # TODO: Future YAML config should specify the PrimAITE version they are written for. + # For now, we warn that if it is missing, pending a mechanism to handle variations. + if not cfg["version"]: + _LOGGER.warning("Version definition is missing from provided configuration. ") + # 1. create simulation sim = game.simulation net = sim.network diff --git a/tests/assets/configs/action_penalty.yaml b/tests/assets/configs/action_penalty.yaml index 9c117dfe..9561db4f 100644 --- a/tests/assets/configs/action_penalty.yaml +++ b/tests/assets/configs/action_penalty.yaml @@ -1,3 +1,5 @@ +version: 3.0 + io_settings: save_agent_actions: false save_step_metadata: false diff --git a/tests/assets/configs/bad_primaite_session.yaml b/tests/assets/configs/bad_primaite_session.yaml index 18b37466..1f59225b 100644 --- a/tests/assets/configs/bad_primaite_session.yaml +++ b/tests/assets/configs/bad_primaite_session.yaml @@ -1,3 +1,5 @@ +version: 3.0 + game: ports: - ARP diff --git a/tests/assets/configs/basic_c2_setup.yaml b/tests/assets/configs/basic_c2_setup.yaml index ac2b026e..3011457f 100644 --- a/tests/assets/configs/basic_c2_setup.yaml +++ b/tests/assets/configs/basic_c2_setup.yaml @@ -4,6 +4,8 @@ # | node_a |------| switch_1 |------| node_b | # -------------- -------------- -------------- # +version: 3.0 + io_settings: save_step_metadata: false save_pcap_logs: true diff --git a/tests/assets/configs/basic_firewall.yaml b/tests/assets/configs/basic_firewall.yaml index 8108ecbe..1aa1361a 100644 --- a/tests/assets/configs/basic_firewall.yaml +++ b/tests/assets/configs/basic_firewall.yaml @@ -4,6 +4,7 @@ # | client_1 |------| switch_1 |------| client_2 | # -------------- -------------- -------------- # +version: 3.0 io_settings: save_step_metadata: false diff --git a/tests/assets/configs/basic_node_with_software_listening_ports.yaml b/tests/assets/configs/basic_node_with_software_listening_ports.yaml index 7b04196b..b503d66d 100644 --- a/tests/assets/configs/basic_node_with_software_listening_ports.yaml +++ b/tests/assets/configs/basic_node_with_software_listening_ports.yaml @@ -1,3 +1,5 @@ +version: 3.0 + io_settings: save_step_metadata: false save_pcap_logs: true diff --git a/tests/assets/configs/basic_node_with_users.yaml b/tests/assets/configs/basic_node_with_users.yaml index 064519dd..3009b79e 100644 --- a/tests/assets/configs/basic_node_with_users.yaml +++ b/tests/assets/configs/basic_node_with_users.yaml @@ -1,3 +1,5 @@ +version: 3.0 + io_settings: save_step_metadata: false save_pcap_logs: true diff --git a/tests/assets/configs/basic_switched_network.yaml b/tests/assets/configs/basic_switched_network.yaml index c9ac5f8d..7e8a5715 100644 --- a/tests/assets/configs/basic_switched_network.yaml +++ b/tests/assets/configs/basic_switched_network.yaml @@ -4,6 +4,8 @@ # | client_1 |------| switch_1 |------| client_2 | # -------------- -------------- -------------- # +version: 3.0 + io_settings: save_step_metadata: false save_pcap_logs: true diff --git a/tests/assets/configs/data_manipulation.yaml b/tests/assets/configs/data_manipulation.yaml index e9464f0f..baf9df7d 100644 --- a/tests/assets/configs/data_manipulation.yaml +++ b/tests/assets/configs/data_manipulation.yaml @@ -1,3 +1,5 @@ +version: 3.0 + io_settings: save_agent_actions: true save_step_metadata: false diff --git a/tests/assets/configs/dmz_network.yaml b/tests/assets/configs/dmz_network.yaml index 2aa472d8..456920f1 100644 --- a/tests/assets/configs/dmz_network.yaml +++ b/tests/assets/configs/dmz_network.yaml @@ -30,6 +30,8 @@ # | external_computer |------| switch_3 |------| external_server | # ----------------------- -------------- --------------------- # +version: 3.0 + io_settings: save_step_metadata: false save_pcap_logs: true diff --git a/tests/assets/configs/eval_only_primaite_session.yaml b/tests/assets/configs/eval_only_primaite_session.yaml index 3403a7ff..c0a61b9d 100644 --- a/tests/assets/configs/eval_only_primaite_session.yaml +++ b/tests/assets/configs/eval_only_primaite_session.yaml @@ -1,3 +1,5 @@ +version: 3.0 + game: ports: - ARP diff --git a/tests/assets/configs/extended_config.yaml b/tests/assets/configs/extended_config.yaml index 8bf7d506..1b0772c1 100644 --- a/tests/assets/configs/extended_config.yaml +++ b/tests/assets/configs/extended_config.yaml @@ -1,3 +1,5 @@ +version: 3.0 + io_settings: save_agent_actions: true save_step_metadata: false diff --git a/tests/assets/configs/firewall_actions_network.yaml b/tests/assets/configs/firewall_actions_network.yaml index eb39aa1a..b624be52 100644 --- a/tests/assets/configs/firewall_actions_network.yaml +++ b/tests/assets/configs/firewall_actions_network.yaml @@ -30,6 +30,8 @@ # | external_computer |------| switch_3 |------| external_server | # ----------------------- -------------- --------------------- # +version: 3.0 + io_settings: save_step_metadata: false save_pcap_logs: true diff --git a/tests/assets/configs/fixing_duration_one_item.yaml b/tests/assets/configs/fixing_duration_one_item.yaml index ff3a6504..ad94a9da 100644 --- a/tests/assets/configs/fixing_duration_one_item.yaml +++ b/tests/assets/configs/fixing_duration_one_item.yaml @@ -4,6 +4,8 @@ # | client_1 |------| switch_1 |------| client_2 | # -------------- -------------- -------------- # +version: 3.0 + io_settings: save_step_metadata: false save_pcap_logs: true diff --git a/tests/assets/configs/install_and_configure_apps.yaml b/tests/assets/configs/install_and_configure_apps.yaml index 6b80519c..4f96496e 100644 --- a/tests/assets/configs/install_and_configure_apps.yaml +++ b/tests/assets/configs/install_and_configure_apps.yaml @@ -1,3 +1,5 @@ +version: 3.0 + io_settings: save_step_metadata: false save_pcap_logs: false diff --git a/tests/assets/configs/multi_agent_session.yaml b/tests/assets/configs/multi_agent_session.yaml index e99ea49b..263d5f66 100644 --- a/tests/assets/configs/multi_agent_session.yaml +++ b/tests/assets/configs/multi_agent_session.yaml @@ -1,3 +1,5 @@ +version: 3.0 + io_settings: save_agent_actions: false save_step_metadata: false diff --git a/tests/assets/configs/nmap_network_service_recon_red_agent_config.yaml b/tests/assets/configs/nmap_network_service_recon_red_agent_config.yaml index 9b49d466..6abb11ce 100644 --- a/tests/assets/configs/nmap_network_service_recon_red_agent_config.yaml +++ b/tests/assets/configs/nmap_network_service_recon_red_agent_config.yaml @@ -1,3 +1,5 @@ +version: 3.0 + io_settings: save_step_metadata: false save_pcap_logs: true diff --git a/tests/assets/configs/nmap_ping_scan_red_agent_config.yaml b/tests/assets/configs/nmap_ping_scan_red_agent_config.yaml index e3cb33e1..869f4fb8 100644 --- a/tests/assets/configs/nmap_ping_scan_red_agent_config.yaml +++ b/tests/assets/configs/nmap_ping_scan_red_agent_config.yaml @@ -1,3 +1,5 @@ +version: 3.0 + io_settings: save_step_metadata: false save_pcap_logs: true diff --git a/tests/assets/configs/nmap_port_scan_red_agent_config.yaml b/tests/assets/configs/nmap_port_scan_red_agent_config.yaml index 2692a3bc..1d5ab323 100644 --- a/tests/assets/configs/nmap_port_scan_red_agent_config.yaml +++ b/tests/assets/configs/nmap_port_scan_red_agent_config.yaml @@ -1,3 +1,5 @@ +version: 3.0 + io_settings: save_step_metadata: false save_pcap_logs: true diff --git a/tests/assets/configs/no_nodes_links_agents_network.yaml b/tests/assets/configs/no_nodes_links_agents_network.yaml index b20835bc..b79e6bc6 100644 --- a/tests/assets/configs/no_nodes_links_agents_network.yaml +++ b/tests/assets/configs/no_nodes_links_agents_network.yaml @@ -1,3 +1,5 @@ +version: 3.0 + io_settings: save_step_metadata: false save_pcap_logs: true diff --git a/tests/assets/configs/scenario_with_placeholders/scenario.yaml b/tests/assets/configs/scenario_with_placeholders/scenario.yaml index ab8c968c..76b51626 100644 --- a/tests/assets/configs/scenario_with_placeholders/scenario.yaml +++ b/tests/assets/configs/scenario_with_placeholders/scenario.yaml @@ -1,3 +1,5 @@ +version: 3.0 + io_settings: save_agent_actions: true save_step_metadata: false diff --git a/tests/assets/configs/shared_rewards.yaml b/tests/assets/configs/shared_rewards.yaml index 07256f01..68b3b310 100644 --- a/tests/assets/configs/shared_rewards.yaml +++ b/tests/assets/configs/shared_rewards.yaml @@ -1,3 +1,5 @@ +version: 3.0 + io_settings: save_agent_actions: false save_step_metadata: false diff --git a/tests/assets/configs/software_fixing_duration.yaml b/tests/assets/configs/software_fixing_duration.yaml index 63409f2b..2f5613e1 100644 --- a/tests/assets/configs/software_fixing_duration.yaml +++ b/tests/assets/configs/software_fixing_duration.yaml @@ -4,6 +4,8 @@ # | client_1 |------| switch_1 |------| client_2 | # -------------- -------------- -------------- # +version: 3.0 + io_settings: save_step_metadata: false save_pcap_logs: true diff --git a/tests/assets/configs/test_application_install.yaml b/tests/assets/configs/test_application_install.yaml index 0266dd00..d49d9bf2 100644 --- a/tests/assets/configs/test_application_install.yaml +++ b/tests/assets/configs/test_application_install.yaml @@ -1,3 +1,5 @@ +version: 3.0 + io_settings: save_agent_actions: true save_step_metadata: false diff --git a/tests/assets/configs/test_primaite_session.yaml b/tests/assets/configs/test_primaite_session.yaml index 65d16a47..c1206634 100644 --- a/tests/assets/configs/test_primaite_session.yaml +++ b/tests/assets/configs/test_primaite_session.yaml @@ -1,3 +1,5 @@ +version: 3.0 + io_settings: save_agent_actions: true save_step_metadata: true diff --git a/tests/assets/configs/wireless_wan_network_config.yaml b/tests/assets/configs/wireless_wan_network_config.yaml index 40a9126c..b722e50f 100644 --- a/tests/assets/configs/wireless_wan_network_config.yaml +++ b/tests/assets/configs/wireless_wan_network_config.yaml @@ -1,3 +1,5 @@ +version: 3.0 + game: max_episode_length: 256 ports: diff --git a/tests/assets/configs/wireless_wan_network_config_freq_max_override.yaml b/tests/assets/configs/wireless_wan_network_config_freq_max_override.yaml index 13ceee16..4c2f4f86 100644 --- a/tests/assets/configs/wireless_wan_network_config_freq_max_override.yaml +++ b/tests/assets/configs/wireless_wan_network_config_freq_max_override.yaml @@ -1,3 +1,5 @@ +version: 3.0 + game: max_episode_length: 256 ports: diff --git a/tests/assets/configs/wireless_wan_network_config_freq_max_override_blocked.yaml b/tests/assets/configs/wireless_wan_network_config_freq_max_override_blocked.yaml index 6c52fd95..a98b6ee2 100644 --- a/tests/assets/configs/wireless_wan_network_config_freq_max_override_blocked.yaml +++ b/tests/assets/configs/wireless_wan_network_config_freq_max_override_blocked.yaml @@ -1,3 +1,5 @@ +version: 3.0 + game: max_episode_length: 256 ports: