Skip to content

feat(digitalocean): connect the managed database DigitalOcean creates with the Droplet - #1378

Merged
cevheri merged 2 commits into
mainfrom
feat/do-managed-database-seed
Oct 4, 2026
Merged

cevheri merged 2 commits into
mainfrom
feat/do-managed-database-seed

Conversation

@cevheri

@cevheri cevheri commented Oct 4, 2026

Copy link
Copy Markdown
Member

When a customer adds a managed database while creating the LibreDB Studio 1-Click, DigitalOcean writes its credentials to /root/.digitalocean_dbaas_credentials.
First boot now turns that file into one managed seed connection: admin role only, TLS require, and the password kept in the root-only env file as a reference.
The MOTD says whether the database was added, and why not when it was not.

Nothing changes when there is no credentials file, or when the engine is not one Studio connects.

Not in this PR: the snapshot build, the paid real-cluster test and the Vendor Portal checkboxes, listed in deploy/digitalocean/README.md.

@gitguardian

gitguardian Bot commented Oct 4, 2026 •

Copy link
Copy Markdown

️✅ There are no secrets present in this pull request anymore.

If these secrets were true positive and are still valid, we highly recommend you to revoke them.
While these secrets were previously flagged, we no longer have a reference to the
specific commits where they were detected. Once a secret has been leaked into a git
repository, you should consider it compromised, even if it was deleted immediately.
Find here more information about risks.


🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.

… with the Droplet

When a buyer ticks "Add a Database" on the 1-Click, DigitalOcean writes
/root/.digitalocean_dbaas_credentials before the per-instance scripts run.
First boot now hands that file to a new helper, libredb-do-dbaas-seed, which
writes a seed file with one managed, admin-role, TLS-require connection per
cluster (PostgreSQL, MySQL, Valkey keystore) and keeps the password in the
root-only env file as a ${VAR} reference. The MOTD says whether the database
was added and, if not, why. Without the credentials file nothing changes.

Every first boot removes the previous seed file and status, so a Droplet made
from a customer's snapshot cannot report a database it no longer connects, and
the helper leaves an error status on any unforeseen failure. The image names
gid 1001 (the container's nodejs group) libredb-studio, so no later login on
the Droplet is handed that id. Listing and MOTD copy speak of the admin role,
not the admin account, and the README shows the verify-full upgrade with the
cluster CA.
@cevheri
cevheri force-pushed the feat/do-managed-database-seed branch from 972c26f to fac0d4c Compare October 4, 2026 14:40
@codecov

codecov Bot commented Oct 4, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@sonarqubecloud

sonarqubecloud Bot commented Oct 4, 2026

Copy link
Copy Markdown

@cevheri
cevheri merged commit a83ebad into main Oct 4, 2026
35 checks passed
@cevheri
cevheri deleted the feat/do-managed-database-seed branch October 4, 2026 15:38
cevheri added a commit that referenced this pull request Oct 5, 2026
…d three security fixes (#1531)

Carries eight connection types for seven engines: etcd (#1228), IBM Db2 LUW
(#1238), Neo4j with the Graph tab (#1239, #1289), Qdrant (#1270), Milvus
(#1283), InfluxDB and InfluxDB 3 (#1309) and Oxia (#1310). Also CapRover and
DigitalOcean discovery (#1502, #1378, #1528), launch sign-in for hosting
platforms (#1516), and any number of local accounts with passkeys (#1122,
#1195).

Three security fixes: the OIDC state cookie is no longer accepted as a
session (#1380), a non-admin role's DuckDB connection opens with file and
network access off (#1519), and SQLite, DuckDB and LibreDB connections refuse
Studio's own storage and credential files, with SQLite open to admins only in
the editor, agent runs and MCP alike (#1523, #1529). Chart 0.1.78 is flagged
containsSecurityUpdates, and its description calls Trino by its own name, the
rename #1158 left for this bump.
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