Skip to content

upcoming: [UIE-9380] - Service URI PG Bouncer Connection Details Section#13182

Merged
hana-akamai merged 13 commits intolinode:developfrom
hana-akamai:UIE-9380-service-uri-pg-bouncer
Dec 23, 2025
Merged

upcoming: [UIE-9380] - Service URI PG Bouncer Connection Details Section#13182
hana-akamai merged 13 commits intolinode:developfrom
hana-akamai:UIE-9380-service-uri-pg-bouncer

Conversation

@hana-akamai
Copy link
Contributor

@hana-akamai hana-akamai commented Dec 8, 2025

Description 📝

Add reusable Service URI component for PG Bouncer and place it in the Networking -> Connection Pools section

Scope 🚢

Upon production release, changes in this PR will be visible to:

  • All customers
  • Some customers (e.g. in Beta or Limited Availability)
  • No customers / Not applicable

Preview 📷

Success Error
Screen.Recording.2025-12-23.at.2.56.01.PM.mov
Screen.Recording.2025-12-23.at.2.58.58.PM.mov

Mobile
image

How to test 🧪

Prerequisites

(How to setup test environment)

  • Turn on the legacy MSW and make sure you have the Database PgBouncer flag on

Verification steps

(How to verify changes)

  • With the legacy MSW & flag on, navigate to a Database cluster's details page, then Network tab
  • You should see a Service URI section. Test click to reveal password, copying, loading, error & mobile states
Author Checklists

As an Author, to speed up the review process, I considered 🤔

👀 Doing a self review
❔ Our contribution guidelines
🤏 Splitting feature into small PRs
➕ Adding a changeset
🧪 Providing/improving test coverage
🔐 Removing all sensitive information from the code and PR description
🚩 Using a feature flag to protect the release
👣 Providing comprehensive reproduction steps
📑 Providing or updating our documentation
🕛 Scheduling a pair reviewing session
📱 Providing mobile support
♿ Providing accessibility support


  • I have read and considered all applicable items listed above.

As an Author, before moving this PR from Draft to Open, I confirmed ✅

  • All tests and CI checks are passing
  • TypeScript compilation succeeded without errors
  • Code passes all linting rules

@hana-akamai hana-akamai self-assigned this Dec 8, 2025
@hana-akamai hana-akamai added the DBaaS Relates to Database as a Service label Dec 8, 2025
@hana-akamai hana-akamai marked this pull request as ready for review December 11, 2025 21:51
@hana-akamai hana-akamai requested a review from a team as a code owner December 11, 2025 21:51
@smans-akamai
Copy link
Contributor

smans-akamai commented Dec 12, 2025

This pull request should also be adding the new PgBouncer Connection Details section with this component in the Summary tab. Can we include that change?

I wonder if it'd make sense to just have it in the Summary tab with the new section for this pull request and to add it into the Networking tab separately after the Manage Pg Bouncer Connection Pools section is created from the other pull request.

@hana-akamai
Copy link
Contributor Author

hana-akamai commented Dec 12, 2025

@smans-akamai there is a separate ticket for adding the service URI to the summary tab (UIE-9327) and it looks like there are minor changes compared to the Networking tab

The current placement in the Networking tab was just to get it to show. Since the logic to display the service URI component is straightforward, I don't think it should be an issue to get this merged and update it in #13195 or merge #13195 first and update placement in this PR done

}
};

const serviceURI = `postgres://${credentials?.username}:${credentials?.password}@${database.hosts?.primary}?sslmode=require`;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the assumption here that, after copying, they'll know to add the connection pool port and connection pool label before ?sslmode=require in the service URI string?

When they copy this, those will be missing and it looks like we're excluding the placeholders from the copy output for it. This looks like the intention, so I assume this behavior was already agreed upon.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

^ I have this question as well

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just added ?sslmode=require to the copied string

If the credentials call is successful, the pool port and label will be present in the copied string because we are copying again in https://github.com/hana-akamai/manager/blob/UIE-9380-service-uri-pg-bouncer/packages/manager/src/features/Databases/DatabaseDetail/ServiceURI.tsx#L43

Copy link
Contributor

@smans-akamai smans-akamai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My previous feedback was addressed! I left a few comments on some smaller changes I'd recommend, but those could be looked at separately as part of the other Service URI ticket, UIE-9380 if we want to get this merged in.

Copy link
Contributor

@dwiley-akamai dwiley-akamai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code review ✅
Verification steps ✅

}
};

const serviceURI = `postgres://${credentials?.username}:${credentials?.password}@${database.hosts?.primary}?sslmode=require`;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

^ I have this question as well

@github-project-automation github-project-automation bot moved this from Review to Approved in Cloud Manager Dec 16, 2025

interface ServiceURIProps {
database: Database;
}
Copy link
Contributor

@smans-akamai smans-akamai Dec 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since there will be a general case for the ServiceURI component outside of PgBouncer with UIE-9327, we should consider making this component reusable for both scenarios (Connection Pool URI and General Service URI)

Since we haven't confirmed the general format yet, this could be taken up as part of the next UIE ticket that adds to the Service URI to the Summary tab. But I just wanted to bring that up here for consideration.

@linode-gh-bot
Copy link
Collaborator

Cloud Manager UI test results

🎉 867 passing tests on test run #8 ↗︎

❌ Failing✅ Passing↪️ Skipped🕐 Duration
0 Failing867 Passing11 Skipped43m 45s

@hana-akamai hana-akamai merged commit 218ab5e into linode:develop Dec 23, 2025
35 checks passed
@github-project-automation github-project-automation bot moved this from Approved to Merged in Cloud Manager Dec 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

DBaaS Relates to Database as a Service

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

4 participants