Commit Graph

6815 Commits

Author SHA1 Message Date
Mike Salvatore ba7dab26d7 Island: Refactor how Machine objects are managed by IMachineRepository
- Replace `create_machine()` with `get_new_id()`
- Replace `update_machine()` with `upsert_machine()`

Benefits:
    The repository doesn't store Machine objects that only have the ID
    populated (unless that is the caller's desire).

    Upsert instead of update allows the interface to be more permissive.
2022-08-31 10:17:20 -04:00
Mike Salvatore 81128a4842 Island: Don't use Field() for simple defaults in Machine 2022-08-30 09:34:17 -04:00
Mike Salvatore b538842e84 Island: Remove display_name from MongoMachineRepository._find_one() 2022-08-30 09:32:47 -04:00
Mike Salvatore bf5e54ebc9 Island: Raise RemovalError from IMachineRepository.reset() 2022-08-30 07:34:20 -04:00
Mike Salvatore 383cfdfefe Island: Rename `id_` parameter to `machine_id` in IMachineRepository 2022-08-30 07:30:41 -04:00
Mike Salvatore 0adf9d8467 Island: Add MongoMachineRepository 2022-08-30 05:03:47 -04:00
Mike Salvatore 5713d1c99b UT: Add test_hardware_id_default() 2022-08-29 20:30:07 -04:00
Mike Salvatore ac1cda40a8 Island: Add default value for Machine.hostname 2022-08-29 20:27:57 -04:00
Mike Salvatore 5d51b40475 Island: Add default value for Machine.operating_system_version 2022-08-29 20:26:11 -04:00
Mike Salvatore 3e2244cd62 UT: Add test_operating_system_default_value() 2022-08-29 20:26:11 -04:00
Mike Salvatore 40601b955c Island: Add default value for Machine.network_interfaces 2022-08-29 20:26:05 -04:00
Mike Salvatore da8ed9e6db Island: Fix ICredentialsRepository import in MongoCredentialsRepository 2022-08-29 19:35:04 -04:00
Mike Salvatore 10d8d8e756 Island: Use MONGO_OBJECT_ID_KEY in MongoCredentialsRepository 2022-08-29 19:32:40 -04:00
Mike Salvatore bf6125dd55 Island: Add MONGO_OBJECT_ID_KEY 2022-08-29 19:31:35 -04:00
Mike Salvatore 3eda8d640d Island: Export IMachineRepository from repository package 2022-08-29 19:27:17 -04:00
Mike Salvatore eb3fe21b11 Island: Redefine IMachineRepository 2022-08-29 19:27:14 -04:00
Mike Salvatore 6b083ca61b Island: Remove superfluous "pass" from repository.errors 2022-08-29 15:15:49 -04:00
Mike Salvatore 1de552ea94 Island: Add UnknownRecordError to repository.errors 2022-08-29 15:14:42 -04:00
Mike Salvatore 694cdca883 Island: Make Machine.operating_system Optional 2022-08-29 15:00:45 -04:00
Mike Salvatore ebcfe5a9fc Island: Add docstrings to Machine 2022-08-29 14:35:45 -04:00
Mike Salvatore 43a53112fc Island: Use monkey_island.cc.models.Machine in IMachineRepository 2022-08-29 14:35:10 -04:00
Mike Salvatore cff363597a Common: Annotate HardwareID as a TypeAlias 2022-08-29 14:34:28 -04:00
Mike Salvatore b1f15b59f7 Common: Ignore arg-type error in DIContainer.register() 2022-08-29 14:28:48 -04:00
Mike Salvatore 4662dd8bed Island: Annotate MachineID as a TypeAlias
See https://mypy.readthedocs.io/en/stable/common_issues.html#variables-vs-type-aliases
2022-08-29 13:50:12 -04:00
Ilija Lazoroski 1deb03b6d7 Island: Fix type annotation in AWSService 2022-08-29 12:46:34 -04:00
Ilija Lazoroski 6adacf702e Island: Don't drop collections that starts with "config"
Fixes #2210
PR #2227
2022-08-29 12:46:20 -04:00
Mike Salvatore 40d4f7f50c Island: Remode disused deb-package/ 2022-08-29 10:31:18 -04:00
Mike Salvatore 3000304d28 Island: Remove disused and empty `environment` subpackage 2022-08-29 10:30:01 -04:00
Mike Salvatore def1dce86b Common: Rename MutableBaseModel -> MutableInfectionMonkeyBaseModel 2022-08-25 11:50:12 -04:00
Mike Salvatore 8e3abe7601 Merge branch 'prototype-register-agents' into develop 2022-08-25 10:21:54 -04:00
Kekoa Kaaikala 2f50e30a92 Agent: Remove debug code 2022-08-24 20:10:35 +00:00
Kekoa Kaaikala 6bb710a495 Agent: Name the batching telemetry thread 2022-08-24 15:59:09 -04:00
Kekoa Kaaikala bcc0c86526 Agent: Fix batching telemetry thread shutdown 2022-08-24 19:51:19 +00:00
Mike Salvatore ab399e4f34 Island: Add debug logging to Agents resource 2022-08-24 08:54:41 -04:00
Mike Salvatore 9c32dee739 Agent: Register agent on startup 2022-08-24 08:54:41 -04:00
Mike Salvatore 80b4b05b65 Agent: Add pydantic as a dependency 2022-08-24 08:54:41 -04:00
Mike Salvatore 09739268fa Agent: Add get_machine_id() 2022-08-24 08:54:41 -04:00
Mike Salvatore 160d2d11cf Agent: Add get_agent_id() 2022-08-24 08:54:41 -04:00
Mike Salvatore 78f792aee9 Island: Add /api/agents endpoint 2022-08-24 08:54:41 -04:00
Mike Salvatore 00514a3c0d Common: Add AgentRegistrationData 2022-08-24 08:54:41 -04:00
Mike Salvatore 0607f36404 Common: Move transforms from monkey_island to common 2022-08-24 08:54:41 -04:00
Mike Salvatore fc14a1f573 Common: Make InfectionMonkeyModelConfig immutable 2022-08-24 08:54:41 -04:00
Mike Salvatore 3a94be8766 Common: Move base_models.py to common 2022-08-24 08:54:41 -04:00
Mike Salvatore acc158db44 Island: Use HardwareId in Machine model 2022-08-24 08:54:41 -04:00
Mike Salvatore f418571d93 Common: Add HardwareID type 2022-08-24 08:54:41 -04:00
Kekoa Kaaikala 15bd9a31c6 Agent: Pass ITelemetryMessenger to Ransomware 2022-08-23 20:05:52 -04:00
Mike Salvatore a28cd97c0d Common: Store strongrefs to subscribers 2022-08-23 19:59:57 -04:00
Mike Salvatore 9ab2c0bc6a Agent: Add debug logging to add_creds_from_event_to_prop_creds_repo() 2022-08-23 19:59:57 -04:00
Mike Salvatore 0b8355c8a4 Common: Add debug logging to PyPubSubEventQueue 2022-08-23 10:00:34 -04:00
Mike Salvatore 0864593176 Agent: Add more debug logging to Agg'Prop'Cred'Repo' 2022-08-23 10:00:26 -04:00