fix(config): use with_list_parse_key for env parsing
What does this MR do and why?
Fixes pod crashes caused by config-rs treating all env var values as lists when try_parsing(true) and list_separator(",") are both enabled. The fix adds with_list_parse_key("health_check.services") so only that specific key gets comma-separated list parsing — all other values remain plain strings.
Also adds two regression tests: one confirming string fields like nats.url, graph.password, and metrics.otlp_endpoint deserialize correctly from env vars, and one confirming health_check.services still splits on commas as expected.
Related Issues
Testing
Two unit tests added:
-
env_string_fields_not_parsed_as_lists— sets string env vars and assertsAppConfig::load()succeeds (fails without the fix withinvalid type: sequence, expected a string) -
health_check_services_parsed_as_list— sets a comma-separated env var and asserts it deserializes intoVec<String>
Performance Analysis
- This merge request does not introduce any performance regression. If a performance regression is expected, explain why.