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.

#172 (closed)

Testing

Two unit tests added:

  • env_string_fields_not_parsed_as_lists — sets string env vars and asserts AppConfig::load() succeeds (fails without the fix with invalid type: sequence, expected a string)
  • health_check_services_parsed_as_list — sets a comma-separated env var and asserts it deserializes into Vec<String>

Performance Analysis

  • This merge request does not introduce any performance regression. If a performance regression is expected, explain why.

Merge request reports

Loading