forked from p15670423/monkey
Island: Construct and register AWSService in the composition root
This commit is contained in:
parent
a0660f12e9
commit
2da6e023e1
|
@ -1,9 +1,8 @@
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from threading import Thread
|
|
||||||
|
|
||||||
from common import DIContainer
|
from common import DIContainer
|
||||||
from common.aws import AWSInstance
|
from common.aws import AWSInstance
|
||||||
from monkey_island.cc.services import DirectoryFileStorageService, IFileStorageService, aws_service
|
from monkey_island.cc.services import AWSService, DirectoryFileStorageService, IFileStorageService
|
||||||
from monkey_island.cc.services.post_breach_files import PostBreachFilesService
|
from monkey_island.cc.services.post_breach_files import PostBreachFilesService
|
||||||
from monkey_island.cc.services.run_local_monkey import LocalMonkeyRunService
|
from monkey_island.cc.services.run_local_monkey import LocalMonkeyRunService
|
||||||
|
|
||||||
|
@ -12,13 +11,12 @@ from . import AuthenticationService, JsonFileUserDatastore
|
||||||
|
|
||||||
def initialize_services(data_dir: Path) -> DIContainer:
|
def initialize_services(data_dir: Path) -> DIContainer:
|
||||||
container = DIContainer()
|
container = DIContainer()
|
||||||
|
container.register_instance(AWSInstance, AWSInstance())
|
||||||
|
|
||||||
container.register_instance(
|
container.register_instance(
|
||||||
IFileStorageService, DirectoryFileStorageService(data_dir / "custom_pbas")
|
IFileStorageService, DirectoryFileStorageService(data_dir / "custom_pbas")
|
||||||
)
|
)
|
||||||
container.register_instance(AWSInstance, AWSInstance())
|
container.register_instance(AWSService, container.resolve(AWSService))
|
||||||
|
|
||||||
# Takes a while so it's best to start it in the background
|
|
||||||
Thread(target=aws_service.initialize, name="AwsService initialization", daemon=True).start()
|
|
||||||
|
|
||||||
# This is temporary until we get DI all worked out.
|
# This is temporary until we get DI all worked out.
|
||||||
PostBreachFilesService.initialize(container.resolve(IFileStorageService))
|
PostBreachFilesService.initialize(container.resolve(IFileStorageService))
|
||||||
|
|
Loading…
Reference in New Issue