dave08
10/11/2023, 2:19 PMs3 C onfigs
in capital and access K ey
is too)sam
10/11/2023, 3:15 PMdave08
11/21/2023, 4:14 PMrocketraman
03/18/2024, 12:15 PMrocketraman
03/27/2024, 1:30 PMConfigLoaderBuilder.addResourceSource
and the inputs: List<ConfigSource>
parameter of loadConfigOrThrow
. Why can we define sources in both places, and what happens if we do?phldavies
07/08/2024, 10:10 AMNonEmptyListDecoder
with a value class? It seems to work fine with a normal List
field or with Nel<String>
(although the error for an empty list isn't particularly helpful: "Required type class arrow.core.NonEmptyList could not be decoded from a List")Aeden Jameson
10/26/2024, 10:04 PMclass
to hold config values. It would be nice just to use that class for loading. Did I overlook something (a decoder)? If not, do i need to implement a decoder?sam
10/28/2024, 4:59 AMsam
10/28/2024, 4:59 AMKristian Frøhlich
01/08/2025, 7:16 PMfun config() = ConfigLoader.builder()
.addEnvironmentSource()
.addPreprocessor(
VaultSecretPreprocessor(
{
VaultTemplate(
VaultEndpoint.create("MY_HOST", MY_PORT),
TokenAuthentication("MY_TOKEN")
)
}
)
)
.addResourceSource("/application.conf")
.withExplicitSealedTypes()
.build()
.loadConfigOrThrow<Config>()
Are there any elegant way of resolving the env variables here or is the easiest to just fall back to System.getEnv(...)
?dave08
01/30/2025, 2:38 PMclass IntRangeDecoder() : Decoder<IntRange> {
override fun supports(type: KType): Boolean = type.classifier == IntRange::class
override fun decode(node: Node, type: KType, context: DecoderContext): ConfigResult<IntRange> = when(node) {
is StringNode -> runCatching {
node.value.split("..").let { IntRange(it[0].toInt(), it[1].toInt()) }
}.toValidated { ConfigFailure.DecodeError(node, type) }
else -> ConfigFailure.DecodeError(node, type).invalid()
}
}
sam
01/31/2025, 12:22 AMAmy Lashley
02/07/2025, 10:01 PMhoplite-aws
to hoplite-aws-kotlin
and ran into issues with the credential provider..only in EB.
aws.smithy.kotlin.runtime.identity.IdentityProviderException: No identity could be resolved from the chain: CredentialsProviderChain -> SystemPropertyCredentialsProvider -> EnvironmentCredentialsProvider -> ProfileCredentialsProvider -> StsWebIdentityProvider -> EcsCredentialsProvider -> ImdsCredentialsProvider
I switched over to hoplite-aws2
and all is fine. But I can't figure out what's going on with the kotlin version. Nothing else changed..not my config code or anything about the EB environment. Have you run into this before? We're not planning to stay on EB and I suspect that there's something about accessing roles there that either the hoplite library, or the underlying aws library doesn't like.David Silva
02/12/2025, 3:15 PMphldavies
02/20/2025, 8:22 PMsam
02/21/2025, 5:06 PMKristian Frøhlich
03/11/2025, 11:30 AMLaurent Thiebaud
03/13/2025, 11:30 AMSebastian Schuberth
03/25/2025, 5:30 PMprefix
parameter of the loadConfig()
functions does? When loading e.g. from a YAML file, does it allow to limited loading to a nested key of that name?Sebastian Schuberth
03/25/2025, 8:24 PMloadConfig()
fails if there is nothing to load from any configured property source. I'd like to fall back to some default configuration on that kind of "failure". However, I still want to capture "real" failures, like syntax errors in configuration files. What's the correct way to distinguish "no config available" from "config broken" in Hoplite?Scott Fedorov
03/27/2025, 3:31 PMLeoColman
04/10/2025, 1:33 PMKristian Frøhlich
06/11/2025, 7:12 AMsam
06/12/2025, 3:41 AMScott Fedorov
06/28/2025, 3:15 PMsam
06/28/2025, 4:35 PMsam
06/28/2025, 4:35 PMsam
06/28/2025, 4:38 PMsam
06/28/2025, 4:38 PMScott Fedorov
06/28/2025, 4:38 PM