QUA-1806: Document PostgreSQL fork support, schema config, and Snowflake CSID#1127
QUA-1806: Document PostgreSQL fork support, schema config, and Snowflake CSID#1127RafaelOsiro wants to merge 1 commit into
Conversation
… Snowflake CSID - Self-hosted deployment: add "Database Configuration (Optional)" section covering PostgreSQL fork compatibility (EPAS, Yugabyte, Aurora, Greenplum) and the POSTGRES_SCHEMA environment variable for custom schema layouts. - Snowflake datastore: add "Identifying Qualytics in Snowflake" section describing the application=Qualytics JDBC parameter that surfaces under Snowflake's Client Application monitoring views. - Polish: remove em-dashes, align placeholders (your-company.qualytics.io), and replace internal jargon with clearer wording.
Greptile SummaryThis PR adds documentation for three text-only features from QUA-1806: PostgreSQL fork compatibility and custom schema configuration for self-hosted deployments, and Snowflake Connection String Identifier (CSID) tagging. It also polishes
Confidence Score: 4/5Safe to merge — changes are documentation-only with no runtime impact. Both files contain purely additive documentation. The new Database Configuration section omits a concrete Helm YAML snippet for setting POSTGRES_SCHEMA, which may leave operators without a clear reference, and two list items are missing trailing periods. None of these affect correctness of the platform itself. docs/deployments/self-hosted-deployment.md — the POSTGRES_SCHEMA subsection and two list items near the license workflow would benefit from a quick pass. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Self-Hosted Deployment] --> B[Step 3: Deploy via Helm Chart]
B --> C[Database Configuration Optional]
C --> D[PostgreSQL Fork Compatibility\nEPAS · Yugabyte · Aurora · Greenplum]
C --> E[Custom Schema\nPOSTGRES_SCHEMA env var\ndefault: public]
E --> F[Alembic auto-creates schema\nand sets search_path]
G[Snowflake Datastore] --> H[Identifying Qualytics in Snowflake]
H --> I[JDBC tag: application=Qualytics]
I --> J[QUERY_HISTORY]
I --> K[LOGIN_HISTORY]
I --> L[Snowsight Client Application column]
Reviews (1): Last reviewed commit: "docs(deployments): document Postgres for..." | Re-trigger Greptile |
| 1. Navigate to **Settings > Status** (requires **Admin** or **Manager** role) | ||
| 2. Click **Generate License Request** — this creates an encoded fingerprint of your deployment | ||
| 3. Copy the request string and send it to your [Qualytics account manager](mailto:hello@qualytics.ai) via a secure channel (e.g., [Bitwarden Send](https://bitwarden.com/products/send/) — never plain email) | ||
| 2. Click **Generate License Request**. This creates a signed request that uniquely identifies your deployment |
There was a problem hiding this comment.
Missing period at the end of the list item, inconsistent with the surrounding numbered steps that all terminate with a period.
| 2. Click **Generate License Request**. This creates a signed request that uniquely identifies your deployment | |
| 2. Click **Generate License Request**. This creates a signed request that uniquely identifies your deployment. |
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
|
|
||
| - A warning appears when the license expires **within 30 days** (the date turns red with a warning icon) | ||
| - **Renew before expiration** to avoid service interruption — if a license expires, dataplane operations stop until a new license is applied | ||
| - **Renew before expiration** to avoid service interruption. If a license expires, dataplane operations stop until a new license is applied |
There was a problem hiding this comment.
Missing period at the end of the sentence, inconsistent with surrounding bullet items in this section.
| - **Renew before expiration** to avoid service interruption. If a license expires, dataplane operations stop until a new license is applied | |
| - **Renew before expiration** to avoid service interruption. If a license expires, dataplane operations stop until a new license is applied. |
| **Custom PostgreSQL schema** | ||
|
|
||
| The control plane reads the `POSTGRES_SCHEMA` environment variable (default `public`) to decide where its tables live. Alembic migrations automatically run `CREATE SCHEMA IF NOT EXISTS` and set the session `search_path`, so no manual schema creation is required. Set this variable through your Helm values when sharing one PostgreSQL instance across multiple Qualytics environments or when matching internal naming conventions. |
There was a problem hiding this comment.
No YAML example for setting
POSTGRES_SCHEMA in Helm values
The section tells operators to "Set this variable through your Helm values" but does not show what the corresponding YAML looks like. Without a concrete snippet (e.g. under global.env or an equivalent Helm key), operators configuring a shared PostgreSQL instance have no authoritative reference and may get the key name or nesting wrong on first try. A short inline example would close that gap.
Overview
Documents the text-only items from QUA-1806 "Datastore Connectivity" that don't require UI screenshots: PostgreSQL fork compatibility, custom schema configuration for self-hosted deployments, and the Snowflake Connection String Identifier (CSID).
IAM Role authentication for S3, Athena, and Redshift is intentionally out of scope for this PR. Those changes need screenshots of the connection form and will land in a follow-up branch.
Key Changes
Database Configuration (Optional)section under the Helm setup. Covers two topics:POSTGRES_SCHEMAenvironment variable (defaultpublic), how Alembic creates the schema and setssearch_pathautomatically, and when an operator might want to set it (shared PostgreSQL instance, internal naming conventions).Identifying Qualytics in Snowflakesection explaining that every Snowflake JDBC connection is tagged withapplication=Qualytics, so customers can filter Qualytics activity inQUERY_HISTORY,LOGIN_HISTORY, and Snowsight's Client Application column. No customer-side configuration is required.self-hosted-deployment.md, aligned domain placeholders toyour-company.qualytics.io, and replaced internal jargon (for example,encoded fingerprinttosigned request that uniquely identifies your deployment).Pages to Test