datahub/datahub-frontend/app/StartupModule.java
david-leifker 04d0a50118
feat(): Basepath support (#14866)
Co-authored-by: Esteban Gutierrez <esteban.gutierrez@acryl.io>
Co-authored-by: Chris Collins <chriscollins3456@gmail.com>
2025-10-01 11:08:38 -05:00

62 lines
2.2 KiB
Java

package modules;
import com.google.inject.AbstractModule;
import com.typesafe.config.Config;
import com.typesafe.config.ConfigRenderOptions;
import javax.inject.Inject;
import javax.inject.Singleton;
import lombok.extern.slf4j.Slf4j;
import play.Environment;
/** Module to dump configuration on application startup */
public class StartupModule extends AbstractModule {
@Override
protected void configure() {
bind(ConfigDumper.class).asEagerSingleton();
}
@Slf4j
@Singleton
public static class ConfigDumper {
@Inject
public ConfigDumper(Config config, Environment environment) {
// Dump configuration on startup (constructor is called during app initialization)
dumpConfiguration(config, environment);
}
private void dumpConfiguration(Config config, Environment environment) {
log.info("=== DataHub Frontend Configuration ===");
log.info("Environment: {}", environment.mode());
log.info("Env root path: {}", environment.rootPath());
log.info("Base Path: {}", config.getString("datahub.basePath"));
log.info("GMS Host: {}", config.getString("metadataService.host"));
log.info("GMS Port: {}", config.getInt("metadataService.port"));
log.info(
"GMS Base Path: {}",
config.hasPath("metadataService.basePath")
? config.getString("metadataService.basePath")
: "not set");
// Dump all datahub.* configuration if available
if (config.hasPath("datahub")) {
Config datahubConfig = config.getConfig("datahub");
String datahubConfigStr =
datahubConfig.root().render(ConfigRenderOptions.defaults().setOriginComments(false));
log.info("DataHub Configuration:\n{}", datahubConfigStr);
}
// Optionally dump full configuration (be careful - may contain secrets)
if (config.hasPath("debug.dumpFullConfig") && config.getBoolean("debug.dumpFullConfig")) {
log.warn("=== FULL CONFIGURATION DUMP (may contain secrets) ===");
String fullConfig =
config.root().render(ConfigRenderOptions.defaults().setOriginComments(false));
log.info("Full Configuration:\n{}", fullConfig);
}
log.info("=== End Configuration Dump ===");
}
}
}