Sebastian Schuberth
03/01/2023, 12:02 PMDavid Hamilton
07/15/2023, 8:26 AMConfigLoaderBuilder
recipe that mimics the opinionated default loader behaviour of TypeSafe/Lightbend Config, including fallbacks and the various optional property overrides?
https://github.com/lightbend/config/blob/main/README.md#standard-behaviorDavid Hamilton
07/17/2023, 10:43 AMReloadableConfig
) that forces expiry of cached values?Dan T
09/20/2023, 5:10 PMwithReport
feature and its related decorators like the HashObfuscator...I don't see it documented yet though, so wondering if it's already documented somewhere, or if you're intentionally not documenting it yet for any reason? If not, lemmeno and I'd be willing to submit a PR for its documentation.sam
09/20/2023, 6:26 PMdave08
09/28/2023, 3:57 PMhttp-clients:
client-1:
url: ...
and I'd like to map it to:
data class Configs(val httpClients: List<HttpClientConfig>)
data class HttpClientConfig(val name: String, val url: String) // Is there some kind of annotation to pull the name 'client-1' out from the map key and use it as name here and have the result as a list? Or even:
data class Configs(val httpClients: Map<String, HttpClientConfig>) // And still not having to specify name in client-1 configs since it can be pulled in from the key...?
sam
09/29/2023, 1:36 AMhttp-clients:
- name: client-1
url: ....
dave08
10/11/2023, 2:18 PMs3Configs:
accessKey: ...
would the env var S3CONFIGS__ACCESSKEY work @sam?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 PM