Simplified Install for DBLab 4.2: Simple/Expert modes + source autodetection
Problem
Today's Configuration tab requires ~30 fields to provision retrieval: host/port/user/dbname/password, docker image + tag, pg version, databases, shared_buffers, shared_preload_libraries, query tuning, pg_dump options. Every value is derivable from the source DB and the DLE host. The existing "Get version from source" / "Get from source database" buttons prove this — the engine can probe; the form just forces users to fill it out manually.
Physical-mode users have no UI at all: WAL-G and pgBackRest options live in YAML only, despite being the two tool: values the engine supports outside customTool.
What this delivers
- Simple mode tab (default for unconfigured instances): one URL + one password + Detect & preview. Engine probes source via
POST /admin/probe-source, UI renders read-only preview, user confirms with Apply. - Expert mode tab (default for configured instances): keeps the full form but (a) collapses the four source-connection fields into a single URL field, and (b) adds physical-mode UI for WAL-G (
walg.backupName) and pgBackRest (pgbackrest.stanza,pgbackrest.delta) plus a key/value editor for theenvsmap. - New engine package
engine/internal/retrieval/probe/with theProposeorchestrator and detection rules (provider, image, memory, query-tuning whitelist). - Lifts the
models.Logical-only gate on projection writes so physical-mode configs can be edited via/admin/config. Per-mode field guard rejects projections that mix logical-only fields with physical mode and vice-versa.
YAML schema unchanged. URL is a UI affordance only — parsed on save, reconstructed on load. Hand-edited configs unaffected.
Non-goals (4.2)
- No
dblab local-installCLI subcommand (planned 4.3). - No engine-side docker image catalog (lands with the CLI).
- No RDS-refresh-tool detection.
- No Supabase/cloud one-click integrations.
- No
customTool/ pg_basebackup UI — stays YAML-only. - No RDS IAM source UI changes — Simple mode assumes password auth; IAM sources stay Expert + YAML.
- No data masking on DLE side.
Edited by Artyom Kartasov