Moving secret values out of the main configuration file

This commit is contained in:
Sergey Skrobotov
2023-05-17 11:14:04 -07:00
parent 8d1c26d07d
commit 287e2fa89a
57 changed files with 959 additions and 551 deletions

View File

@@ -15,19 +15,27 @@ import java.util.Arrays;
*/
public class CheckServiceConfigurations {
private static final String SECRETS_BUNDLE_FILENAME = "sample-secrets-bundle.yml";
private void checkConfiguration(final File configDirectory) {
final File[] configFiles = configDirectory.listFiles(f ->
!f.isDirectory()
&& f.getPath().endsWith(".yml"));
&& f.getPath().endsWith(".yml")
&& !f.getPath().endsWith(SECRETS_BUNDLE_FILENAME));
if (configFiles == null || configFiles.length == 0) {
throw new IllegalArgumentException("No .yml configuration files found at " + configDirectory.getPath());
}
for (File configFile : configFiles) {
String[] args = new String[]{"check", configFile.getAbsolutePath()};
final File[] secretsBundle = configDirectory.listFiles(f -> !f.isDirectory() && f.getName().equals(SECRETS_BUNDLE_FILENAME));
if (secretsBundle == null || secretsBundle.length != 1) {
throw new IllegalArgumentException("No [%s] file found at %s".formatted(SECRETS_BUNDLE_FILENAME, configDirectory.getPath()));
}
System.setProperty(WhisperServerService.SECRETS_BUNDLE_FILE_NAME_PROPERTY, secretsBundle[0].getAbsolutePath());
for (final File configFile : configFiles) {
final String[] args = new String[]{"check", configFile.getAbsolutePath()};
try {
new WhisperServerService().run(args);
} catch (final Exception e) {
@@ -38,8 +46,7 @@ public class CheckServiceConfigurations {
}
}
public static void main(String[] args) {
public static void main(final String[] args) {
if (args.length != 1) {
throw new IllegalArgumentException("Expected single argument with config directory: " + Arrays.toString(args));
}
@@ -52,5 +59,4 @@ public class CheckServiceConfigurations {
new CheckServiceConfigurations().checkConfiguration(configDirectory);
}
}