@Configuration(filename = "/etc/singularity.s3downloader.yaml", consolidatedField = "s3downloader") public class SingularityS3DownloaderConfiguration extends BaseRunnerConfiguration { @Min(1)
@Override public T get() { final Configuration configuration = clazz.getAnnotation(Configuration.class); try { final File baseFile = new File(configuration.filename()); final T baseConfig = baseFile.exists() ? objectMapper.readValue(baseFile, clazz) : clazz.newInstance(); final JsonNode overrideNode = filename.isPresent() ? loadYamlField(filename.get(), configuration.consolidatedField()) : objectMapper.createObjectNode(); final T config = objectMapper.readerForUpdating(baseConfig).readValue(overrideNode); final Set<ConstraintViolation<T>> violations = validator.validate(config); if (!violations.isEmpty()) { throw new ConfigurationValidationException(filename.or(configuration.filename()), violations); } return config; } catch (Exception e) { throw Throwables.propagate(e); } } }
public void printProperties() { for (BaseRunnerConfiguration configuration : configurations) { try { final Configuration annotation = configuration.getClass().getAnnotation(Configuration.class); final String filename = consolidatedConfigFilename.or(annotation == null ? "(unknown)" : annotation.filename()); LOG.trace(String.format("Loaded %s from %s:%n%s", configuration.getClass().getSimpleName(), filename, yamlMapper.writeValueAsString(configuration))); } catch (Exception e) { LOG.warn(String.format("Exception while attempting to print %s!", configuration.getClass().getName()), e); } } }
public void printProperties() { for (BaseRunnerConfiguration configuration : configurations) { try { final Configuration annotation = configuration.getClass().getAnnotation(Configuration.class); final String filename = consolidatedConfigFilename.or(annotation == null ? "(unknown)" : annotation.filename()); LOG.trace(String.format("Loaded %s from %s:%n%s", configuration.getClass().getSimpleName(), filename, yamlMapper.writeValueAsString(configuration))); } catch (Exception e) { LOG.warn(String.format("Exception while attempting to print %s!", configuration.getClass().getName()), e); } } }
@Configuration(filename = "/etc/singularity.base.yaml", consolidatedField = "base") public class SingularityRunnerBaseConfiguration extends BaseRunnerConfiguration { @DirectoryExists
@Override public T get() { final Configuration configuration = clazz.getAnnotation(Configuration.class); try { final File baseFile = new File(configuration.filename()); final T baseConfig = baseFile.exists() ? objectMapper.readValue(baseFile, clazz) : clazz.newInstance(); final JsonNode overrideNode = filename.isPresent() ? loadYamlField(filename.get(), configuration.consolidatedField()) : objectMapper.createObjectNode(); final T config = objectMapper.readerForUpdating(baseConfig).readValue(overrideNode); final Set<ConstraintViolation<T>> violations = validator.validate(config); if (!violations.isEmpty()) { throw new ConfigurationValidationException(filename.or(configuration.filename()), violations); } return config; } catch (Exception e) { throw Throwables.propagate(e); } } }
@Configuration(filename = "/etc/singularity.s3base.yaml", consolidatedField = "s3") public class SingularityS3Configuration extends BaseRunnerConfiguration { @NotEmpty
@Configuration(filename = "/etc/singularity.s3uploader.yaml", consolidatedField = "s3uploader") public class SingularityS3UploaderConfiguration extends BaseRunnerConfiguration { @Min(0)
@Configuration(filename = "/etc/singularity.executor.cleanup.yaml", consolidatedField = "executorCleanup") public class SingularityExecutorCleanupConfiguration extends BaseRunnerConfiguration { @JsonProperty
@Configuration(filename = "/etc/singularity.executor.yaml", consolidatedField = "executor") public class SingularityExecutorConfiguration extends BaseRunnerConfiguration { @NotEmpty
@Configuration(filename = "/etc/singularity.base.yaml", consolidatedField = "base") public class SingularityRunnerBaseConfiguration extends BaseRunnerConfiguration { @DirectoryExists