Helm Release Naming Gotchas#
Helm charts derive Kubernetes resource names from the release name, but every chart does it differently. If you assume a consistent pattern, you will get bitten by DNS resolution failures, broken connection strings, and mysterious “service not found” errors.
Bitnami PostgreSQL: Names Are Not What You Expect#
The Bitnami PostgreSQL chart names resources using the release name directly, not {release-name}-postgresql. This catches nearly everyone.
# You deploy like this:
helm upgrade --install dt-postgresql bitnami/postgresql \
--namespace dream-team \
--set auth.database=mattermost \
--set auth.username=mmuser
# You expect these resource names:
# Pod: dt-postgresql-postgresql-0 <-- WRONG
# Service: dt-postgresql-postgresql <-- WRONG
# Actual names:
# Pod: dt-postgresql-0
# Service: dt-postgresql
This means your application connection string should reference dt-postgresql, not dt-postgresql-postgresql. If you chose release name postgresql, your service is just postgresql – which might collide with other things in your namespace.