Skip to content

PIM-9561 Add external db parameters to init_master and init_application_server SDK methods - #375

Open
alekoz-ctera wants to merge 2 commits into
masterfrom
PIM-9561-ext-db
Open

alekoz-ctera wants to merge 2 commits into
masterfrom
PIM-9561-ext-db

Conversation

@alekoz-ctera

@alekoz-ctera alekoz-ctera commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator

Note

Medium Risk
Changes the portal setup API and sends DB passwords and TLS material in init payloads, but defaults preserve embedded mode and validation blocks weak or inconsistent external configs.

Overview
Adds Enterprise DB support to master and application-server setup: callers can pass keyword-only database_mode='external' plus connection, auth, and TLS settings on Setup.init_master and Setup.init_application_server. Default behavior stays embedded PostgreSQL; external fields are rejected unless mode is external.

A new external_database.py module validates inputs (required host/user, credentials vs certificate auth, SSL modes with CA when verifying), loads PEM certs/keys from paths or inline strings, and builds ExternalDatabaseConfig on InitServerParams (databaseMode, externalDatabaseConfig). Token auth is enumerated but explicitly rejected until the portal supports it; disable SSL is not allowed.

Documentation examples and unit tests cover validation, cert bundles, and that setup multipart payloads include the external config for master and slave init.

Reviewed by Cursor Bugbot for commit d97ade0. Bugbot is set up for automated code reviews on this repo. Configure here.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.

Fix All in Cursor

Reviewed by Cursor Bugbot for commit 751cf5e. Configure here.

Comment thread cterasdk/core/external_database.py Resolved
Comment thread cterasdk/core/external_database.py Resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant