Skip to content

Commit f54f79c

Browse files
authored
Specifying config source (#563)
* specifying config source * adjusting tests * updating test config files * release notes
1 parent eae70f1 commit f54f79c

File tree

12 files changed

+39
-6
lines changed

12 files changed

+39
-6
lines changed

RELEASE-NOTES.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
## 3.28.0
2+
* Specify from which source the config is coming to facilitate troubleshooting. #533
3+
14
## 3.27.0
25
* Commandline module upgrade to be able to execute new usecases when creating new native int tests. #533
36

src/main/java/com/mageddo/dnsproxyserver/config/Config.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,9 @@ public class Config {
7373

7474
private SolverRemote solverRemote;
7575

76+
@NonNull
77+
private Source source;
78+
7679
@JsonIgnore
7780
public Boolean isSolverRemoteActive() {
7881
if (this.solverRemote == null) {
@@ -97,6 +100,21 @@ public CircuitBreakerStrategyConfig getSolverRemoteCircuitBreakerStrategy() {
97100
return this.solverRemote.getCircuitBreaker();
98101
}
99102

103+
public enum Source {
104+
JSON,
105+
FLAG,
106+
DEFAULT,
107+
MERGED,
108+
ENV,
109+
110+
/**
111+
* Used for testing only;
112+
*/
113+
@Deprecated
114+
TESTS_TEMPLATE,
115+
116+
}
117+
100118
@Value
101119
public static class Env {
102120

src/main/java/com/mageddo/dnsproxyserver/config/application/ConfigService.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.mageddo.dnsproxyserver.config.SolverRemote;
66
import com.mageddo.dnsproxyserver.config.dataprovider.ConfigDAO;
77
import com.mageddo.dnsproxyserver.config.mapper.ConfigMapper;
8+
import lombok.extern.slf4j.Slf4j;
89
import org.apache.commons.lang3.ClassUtils;
910

1011
import javax.enterprise.inject.Instance;
@@ -14,6 +15,7 @@
1415
import java.util.List;
1516
import java.util.stream.Stream;
1617

18+
@Slf4j
1719
@Singleton
1820
public class ConfigService {
1921

@@ -28,7 +30,9 @@ public ConfigService(Instance<ConfigDAO> configDAOS) {
2830
}
2931

3032
public Config findCurrentConfig() {
31-
return ConfigMapper.mapFrom(this.findConfigs());
33+
final var configs = this.findConfigs();
34+
log.trace("baseConfigs={}", configs);
35+
return ConfigMapper.mapFrom(configs);
3236
}
3337

3438
public SolverRemote findCurrentConfigRemote(){

src/main/java/com/mageddo/dnsproxyserver/config/dataprovider/ConfigDAOEnv.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ static Config toConfig(ConfigEnv config) {
4646
.builder()
4747
.active(Booleans.reverseWhenNotNull(config.getNoRemoteServers()))
4848
.build())
49+
.source(Config.Source.ENV)
4950
.build();
5051
}
5152

src/main/java/com/mageddo/dnsproxyserver/config/dataprovider/mapper/ConfigFlagMapper.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ public static Config toConfig(ConfigFlag config) {
2929
.active(Booleans.reverseWhenNotNull(config.getNoRemoteServers()))
3030
.build()
3131
)
32+
.source(Config.Source.FLAG)
3233
.build();
3334
}
3435
}

src/main/java/com/mageddo/dnsproxyserver/config/dataprovider/mapper/ConfigJsonV2Mapper.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ public static Config toConfig(ConfigJson json, Path configFileAbsolutePath) {
3232
.dockerSolverHostMachineFallbackActive(json.getDockerSolverHostMachineFallbackActive())
3333
.configPath(configFileAbsolutePath)
3434
.solverRemote(toSolverRemote(json))
35+
.source(Config.Source.JSON)
3536
.build();
3637
}
3738

src/main/java/com/mageddo/dnsproxyserver/config/dataprovider/vo/ConfigEnv.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,13 @@ public class ConfigEnv {
4141

4242
public static final String MG_RESOLVCONF_OVERRIDE_NAMESERVERS = "MG_RESOLVCONF_OVERRIDE_NAMESERVERS";
4343

44-
private static final String MG_NO_REMOTE_SERVERS = "MG_NO_REMOTE_SERVERS";
44+
public static final String MG_NO_REMOTE_SERVERS = "MG_NO_REMOTE_SERVERS";
4545

46-
private static final String MG_NO_ENTRIES_RESPONSE_CODE = "MG_NO_ENTRIES_RESPONSE_CODE";
46+
public static final String MG_NO_ENTRIES_RESPONSE_CODE = "MG_NO_ENTRIES_RESPONSE_CODE";
4747

48-
private static final String MG_DOCKER_SOLVER_HOST_MACHINE_FALLBACK_ACTIVE = "MG_DOCKER_SOLVER_HOST_MACHINE_FALLBACK_ACTIVE";
48+
public static final String MG_DOCKER_SOLVER_HOST_MACHINE_FALLBACK_ACTIVE = "MG_DOCKER_SOLVER_HOST_MACHINE_FALLBACK_ACTIVE";
4949

50-
private static final String MG_CONFIG_FILE_PATH = "MG_CONFIG_FILE_PATH";
50+
public static final String MG_CONFIG_FILE_PATH = "MG_CONFIG_FILE_PATH";
5151

5252
private Path workingDir;
5353
private String resolvConfPath;

src/main/java/com/mageddo/dnsproxyserver/config/mapper/ConfigMapper.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ private static Config mapFrom0(List<Config> configs) {
5454
.circuitBreaker(firstNonNullRequiring(mapField(Config::getSolverRemoteCircuitBreakerStrategy, configs)))
5555
.build()
5656
)
57+
.source(Config.Source.MERGED)
5758
.build();
5859
ConfigValidator.validate(config);
5960
return config;
@@ -71,6 +72,7 @@ private static Config buildDefault() {
7172
.circuitBreaker(defaultCircuitBreaker())
7273
.build()
7374
)
75+
.source(Config.Source.DEFAULT)
7476
.build();
7577
}
7678

src/test/java/com/mageddo/dnsproxyserver/AppSettingsTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
class AppSettingsTest {
1111
@Test
12-
void mustLogLevelInSl4jConvetion(){
12+
void mustLogLevelInSl4jConversion(){
1313
// arrange
1414
final var config = ConfigTemplates.defaultWithoutId();
1515

src/test/java/testing/templates/ConfigTemplates.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ private static Config.ConfigBuilder defaultBuilder() {
4040
)
4141
.noEntriesResponseCode(3)
4242
.dockerSolverHostMachineFallbackActive(true)
43+
.source(Config.Source.TESTS_TEMPLATE)
4344
;
4445
}
4546

0 commit comments

Comments
 (0)