Skip to content

Conversation

shusaan
Copy link
Contributor

@shusaan shusaan commented Sep 21, 2025

What the Issue Is

Currently, when enabling the pooler from the Helm chart (values.yaml), the pooler is created successfully, but the generated Secret is not updated to use the pooler endpoint.

Instead, the Secret continues to expose the default PostgreSQL connection URL (postgresql://...) from the cluster.

This means applications cannot automatically connect via the pooler, defeating the purpose of enabling it through the chart.

This behavior has been raised in related issues:


How the Solution Works

Since handling this directly in the operator is more complex and requires deeper architectural changes, this PR provides a Helm chart level solution.

When pooler.enabled = true in values.yaml:

  • A new Secret is generated for the pooler containing:

    • JDBC URL pointing to the pooler service
    • username
    • password
  • The Secret is mapped to the cluster, ensuring workloads can connect using the pooler endpoint instead of the PostgreSQL endpoint.

This approach provides a simpler and more flexible way to expose pooler connectivity without waiting for operator level changes.


Current Scope

  • Implemented Secret generation for a single pooler (e.g., rw pooler).
  • The generated Secret is mapped to the cluster for easy consumption by applications.

Future Improvements (possible next steps)

  • Support for multiple poolers (e.g., ro pooler or custom poolers).
  • Configurable Secret naming convention.

When pooler.enabled is true in values.yaml:
- generate a Secret for pooler containing JDBC URL, username, and password
@dosubot dosubot bot added size:M This PR changes 30-99 lines, ignoring generated files. chart( cluster ) Related to the cluster chart labels Sep 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chart( cluster ) Related to the cluster chart size:M This PR changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant