package com.hubspot.singularity.executor.models; import java.nio.file.Paths; import com.hubspot.singularity.executor.SingularityExecutorLogrotateFrequency; import com.hubspot.singularity.executor.config.SingularityExecutorConfiguration; import com.hubspot.singularity.executor.task.SingularityExecutorTaskDefinition; public class LogrotateCronTemplateContext { private final String cronSchedule; private final String logrotateCommand; private final String logrotateStateFile; private final String logrotateConfig; public LogrotateCronTemplateContext(SingularityExecutorConfiguration configuration, SingularityExecutorTaskDefinition taskDefinition, SingularityExecutorLogrotateFrequency logrotateFrequency) { this.logrotateCommand = configuration.getLogrotateCommand(); this.logrotateStateFile = taskDefinition.getLogrotateStateFilePath().toString(); this.logrotateConfig = Paths.get(configuration.getLogrotateConfDirectory()).resolve(taskDefinition.getTaskId()).toString(); this.cronSchedule = logrotateFrequency.getCronSchedule().get(); } public String getLogrotateCommand() { return logrotateCommand; } public String getLogrotateStateFile() { return logrotateStateFile; } public String getLogrotateConfig() { return logrotateConfig; } public String getCronSchedule() { return cronSchedule; } }