Polish "Fix handling of env vars in Bitnami's Postgres image"

See gh-43783
This commit is contained in:
Andy Wilkinson
2025-01-14 19:19:54 +00:00
parent c8f2fb0d94
commit d4f497d90d
5 changed files with 56 additions and 28 deletions

View File

@@ -32,12 +32,12 @@ import org.springframework.util.StringUtils;
*/
class PostgresEnvironment {
private static final String[] USERNAME_KEYS = new String[] { "POSTGRES_USER", "POSTGRES_USERNAME",
"POSTGRESQL_USER", "POSTGRESQL_USERNAME" };
private static final String[] USERNAME_KEYS = new String[] { "POSTGRES_USER", "POSTGRESQL_USER",
"POSTGRESQL_USERNAME" };
private static final String DEFAULT_USERNAME = "postgres";
private static final String[] DATABASE_KEYS = new String[] { "POSTGRES_DB", "POSTGRES_DATABASE",
private static final String[] DATABASE_KEYS = new String[] { "POSTGRES_DB", "POSTGRESQL_DB",
"POSTGRESQL_DATABASE" };
private final String username;
@@ -47,18 +47,18 @@ class PostgresEnvironment {
private final String database;
PostgresEnvironment(Map<String, String> env) {
this.username = extractUsername(env);
this.username = extract(env, USERNAME_KEYS, DEFAULT_USERNAME);
this.password = extractPassword(env);
this.database = extractDatabase(env);
this.database = extract(env, DATABASE_KEYS, this.username);
}
private String extractUsername(Map<String, String> env) {
for (String key : USERNAME_KEYS) {
private String extract(Map<String, String> env, String[] keys, String defaultValue) {
for (String key : keys) {
if (env.containsKey(key)) {
return env.get(key);
}
}
return DEFAULT_USERNAME;
return defaultValue;
}
private String extractPassword(Map<String, String> env) {
@@ -67,15 +67,6 @@ class PostgresEnvironment {
return password;
}
private String extractDatabase(Map<String, String> env) {
for (String key : DATABASE_KEYS) {
if (env.containsKey(key)) {
return env.get(key);
}
}
return this.username;
}
String getUsername() {
return this.username;
}