@Inject
public SingularityExecutorCleanup(SingularityClientProvider singularityClientProvider, JsonObjectFileHelper jsonObjectFileHelper, SingularityRunnerBaseConfiguration baseConfiguration,
SingularityExecutorConfiguration executorConfiguration, SingularityExecutorCleanupConfiguration cleanupConfiguration, TemplateManager templateManager, MesosClient mesosClient,
DockerUtils dockerUtils, @Named(SingularityRunnerBaseModule.HOST_NAME_PROPERTY) String hostname, SingularityRunnerExceptionNotifier exceptionNotifier) {
this.jsonObjectFileHelper = jsonObjectFileHelper;
this.baseConfiguration = baseConfiguration;
this.executorConfiguration = executorConfiguration;
this.cleanupConfiguration = cleanupConfiguration;
this.templateManager = templateManager;
this.mesosClient = mesosClient;
this.processUtils = new ProcessUtils(LOG);
this.dockerUtils = dockerUtils;
this.hostname = hostname;
this.exceptionNotifier = exceptionNotifier;
Optional<SingularityClientCredentials> maybeCredentials = getClientCredentials(cleanupConfiguration, jsonObjectFileHelper);
if (maybeCredentials.isPresent()) {
singularityClientProvider.setCredentials(maybeCredentials.get());
}
this.singularityClient = singularityClientProvider.setSsl(cleanupConfiguration.isSingularityUseSsl()).get();
}