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

  1. 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.
  2. 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 the envs map.
  3. New engine package engine/internal/retrieval/probe/ with the Propose orchestrator and detection rules (provider, image, memory, query-tuning whitelist).
  4. 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-install CLI 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