Skip to content

Commit 502e980

Browse files
authored
Deprecated hoplite-aws module (#463)
1 parent 20a29f1 commit 502e980

File tree

9 files changed

+17
-12
lines changed

9 files changed

+17
-12
lines changed

hoplite-aws/src/main/kotlin/com/sksamuel/hoplite/aws/AbstractAwsSecretsManagerContextResolver.kt

+1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ abstract class AbstractAwsSecretsManagerContextResolver(
2020

2121
override fun lookup(path: String, node: StringNode, root: Node, context: DecoderContext): ConfigResult<String?> {
2222
val (key, index) = ops.extractIndex(path)
23+
context.reportPrintFn("[WARN] Use of the hoplite-aws module is deprecated. Please use the hoplite-aws2 module instead.")
2324
return ops.fetchSecret(key)
2425
.onSuccess { if (report) ops.report(context, it) }
2526
.flatMap { ops.parseSecret(it, index) }

hoplite-aws/src/main/kotlin/com/sksamuel/hoplite/aws/AwsSecretsManagerPreprocessor.kt

+1
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ class AwsSecretsManagerPreprocessor(
5555
val keyMatch = keyRegex.matchEntire(value)
5656
val (key, index) = if (keyMatch == null) Pair(value, null) else
5757
Pair(keyMatch.groupValues[1], keyMatch.groupValues[2])
58+
context.reportPrintFn("[WARN] Use of the hoplite-aws module is deprecated. Please use the hoplite-aws2 module instead.")
5859
fetchSecret(key, index, node, context)
5960
}
6061
}

hoplite-aws/src/main/kotlin/com/sksamuel/hoplite/aws/ParameterStorePathPreprocessor.kt

+1
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ class ParameterStorePathPreprocessor(
4141
null -> node.valid()
4242
else -> {
4343
val key = match.groupValues[1]
44+
context.reportPrintFn("[WARN] Use of the hoplite-aws module is deprecated. Please use the hoplite-aws2 module instead.")
4445
fetchParameterStoreValues().fold(
4546
{ values ->
4647
when (val value = values.firstOrNull { it.name == key }) {

hoplite-aws/src/main/kotlin/com/sksamuel/hoplite/aws/ParameterStorePreprocessor.kt

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ object ParameterStorePreprocessor : TraversingPrimitivePreprocessor() {
2929
null -> node.valid()
3030
else -> {
3131
val key = match.groupValues[1]
32+
context.reportPrintFn("[WARN] Use of the hoplite-aws module is deprecated. Please use the hoplite-aws2 module instead.")
3233
fetchParameterStoreValue(key).fold(
3334
{ node.copy(value = it).valid() },
3435
{ ConfigFailure.PreprocessorFailure("Could not load '$key' from parameter store", it).invalid() }

hoplite-aws/src/main/kotlin/com/sksamuel/hoplite/aws/RegionDecoder.kt

+6-3
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,12 @@ class RegionDecoder : NullHandlingDecoder<Region> {
1919
override fun safeDecode(node: Node,
2020
type: KType,
2121
context: DecoderContext): ConfigResult<Region> {
22-
fun regionFromName(name: String): ConfigResult<Region> =
23-
runCatching { Region.getRegion(Regions.fromName(name)) }
24-
.toValidated { ConfigFailure.Generic("Cannot create region from $name") }
22+
23+
fun regionFromName(name: String): ConfigResult<Region> {
24+
context.reportPrintFn("[WARN] Use of the hoplite-aws module is deprecated. Please use the hoplite-aws2 module instead.")
25+
return runCatching { Region.getRegion(Regions.fromName(name)) }
26+
.toValidated { ConfigFailure.Generic("Cannot create region from $name") }
27+
}
2528

2629
return when (node) {
2730
is StringNode -> regionFromName(node.value)

hoplite-core/src/main/kotlin/com/sksamuel/hoplite/DecoderContext.kt

+2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import com.sksamuel.hoplite.decoder.DecoderRegistry
55
import com.sksamuel.hoplite.decoder.DotPath
66
import com.sksamuel.hoplite.env.Environment
77
import com.sksamuel.hoplite.fp.Validated
8+
import com.sksamuel.hoplite.report.Print
89
import com.sksamuel.hoplite.resolver.Resolving
910
import com.sksamuel.hoplite.resolver.context.ContextResolverMode
1011
import com.sksamuel.hoplite.transformer.NodeTransformer
@@ -35,6 +36,7 @@ data class DecoderContext(
3536
// determines if we should error when a context resolver cannot find a substitution
3637
val contextResolverMode: ContextResolverMode = ContextResolverMode.ErrorOnUnresolved,
3738
val sealedTypeDiscriminatorField: String? = null,
39+
val reportPrintFn: Print = { println(it) }, // provides access to print warnings etc
3840
) {
3941

4042
/**

hoplite-core/src/test/kotlin/com/sksamuel/hoplite/Github350.kt

-2
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ class Github350 : FunSpec() {
1717
.build()
1818
.loadConfigOrThrow()
1919

20-
println("actual: $config")
21-
2220
val expected = Config(
2321
GoogleCredentials(".env.properties", ".env.properties"),
2422
Database("a1.properties", "a1.properties")

hoplite-core/src/test/kotlin/com/sksamuel/hoplite/decoder/DataClassDecoderTest.kt

+4-3
Original file line numberDiff line numberDiff line change
@@ -97,9 +97,10 @@ class DataClassDecoderTest : StringSpec() {
9797
Pos.NoPos,
9898
DotPath.root
9999
)
100-
DataClassDecoder().decode(node,
101-
Foo::class.createType(),
102-
DecoderContext(defaultDecoderRegistry(), defaultParamMappers(), defaultNodeTransformers())
100+
DataClassDecoder().decode(
101+
node = node,
102+
type = Foo::class.createType(),
103+
context = DecoderContext(defaultDecoderRegistry(), defaultParamMappers(), defaultNodeTransformers())
103104
) shouldBe Foo(Year.of(1991), expectedDate, YearMonth.parse("2007-12"), expectedSqlTimestamp).valid()
104105
}
105106

hoplite-micrometer-prometheus/src/main/kotlin/com/sksamuel/hoplite/micrometer/prometheus/PrometheusConfigDecoder.kt

+1-4
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ import com.sksamuel.hoplite.DecoderContext
55
import com.sksamuel.hoplite.Node
66
import com.sksamuel.hoplite.decoder.Decoder
77
import com.sksamuel.hoplite.fp.flatMap
8-
import io.micrometer.prometheus.HistogramFlavor
9-
import io.micrometer.prometheus.PrometheusConfig
8+
import io.micrometer.prometheusmetrics.PrometheusConfig
109
import java.time.Duration
1110
import kotlin.reflect.KType
1211
import kotlin.reflect.typeOf
@@ -31,7 +30,6 @@ class PrometheusConfigDecoder : Decoder<PrometheusConfig> {
3130
return object : PrometheusConfig {
3231
override fun step(): Duration = config.step ?: super.step()
3332
override fun descriptions(): Boolean = config.descriptions ?: super.descriptions()
34-
override fun histogramFlavor(): HistogramFlavor = config.histogramFlavor ?: super.histogramFlavor()
3533
override fun get(key: String): String? = null
3634
}
3735
}
@@ -40,5 +38,4 @@ class PrometheusConfigDecoder : Decoder<PrometheusConfig> {
4038
data class InternalConfig(
4139
val descriptions: Boolean?,
4240
val step: Duration?,
43-
val histogramFlavor: HistogramFlavor?
4441
)

0 commit comments

Comments
 (0)