A Kubernetes ConfigMap stores non-sensitive configuration as key-value pairs that pods can consume as environment variables or mounted files. Using a ConfigMap instead of hardcoding values in the Deployment means environment-specific config (service addresses, ports) can be changed without rebuilding the image, and a single patch in Kustomize updates all consumers at once.

voltnet-rpc-env is the central ConfigMap for all *_GRPC and *_RPC environment variables. voltnet-omni loads the entire ConfigMap via envFrom, so every service address is available as an env var without listing them individually in the Deployment spec.

Port mappings

The base ConfigMap uses :80 throughout — correct for ClusterIP services where kube-proxy handles port translation. The Kustomize dev overlay patches affected variables to pod ports for headless service compatibility:

ServiceBase (UAT/prod)Dev overlay
voltnet-charge-points:80:8080
voltnet-pricing:80:8080
voltnet-charging-sessions:80:8080
voltnet-broccoli:80:8080
voltnet-iam:80:8020

IAM listens on a different pod port (:8020) from the others.

See also