Documentación/Settings y Hooks de Conexión

Settings y Hooks de Conexión

Una referencia para cada sección de Settings y para los connection hooks — los comandos, scripts o snippets de Lua que DBFlux ejecuta alrededor del ciclo de vida de una conexión.

Abre Settings desde la command palette (Open Settings) o desde la barra lateral. La ventana está organizada en secciones a lo largo del lado izquierdo.

SecciónCubre
GeneralComportamiento a nivel de app: theme, inicio, refresh, seguridad de queries.
AuditQué captura el audit log y cuánto tiempo se conserva.
KeybindingsExplora el keymap (solo lectura).
Auth ProfilesPerfiles AWS SSO / shared-credentials.
ProxiesPerfiles de proxy SOCKS5 / HTTP.
SSH TunnelsPerfiles reutilizables de túnel SSH.
ServicesDrivers RPC externos y auth providers.
HooksDefiniciones reutilizables de connection hooks.
DriversOverrides y ajustes por driver.

Las secciones relacionadas con MCP (Clients, Roles, Policies) aparecen solo cuando el binario se construye con el feature mcp; ver AI + MCP Integration.


General

Apariencia

SettingOpcionesDefault
ThemeDark, Mirage, LightDark
StyleDefault, CompactDefault
LanguageSystem y todos los idiomas con un catálogo de traducción incluidoSystem

La lista de idiomas se deriva de los catálogos de traducción incluidos con DBFlux: English aparece primero, seguido de los demás idiomas en un orden determinista y con sus nombres nativos. System sigue el locale del sistema operativo y recurre a English cuando ningún locale incluido coincide de forma no ambigua. Un cambio de idioma tiene efecto después de reiniciar DBFlux, por lo que el control muestra una nota permanente al respecto. Los catálogos parciales recurren a English para el texto general aún no traducido. Este release solo traduce la sección General; el resto de la UI se está convirtiendo crate por crate y permanece en English por ahora.

Inicio y sesión

SettingDefaultQué hace
Restore session on startupOnReabre las tabs que tenías abiertas la última vez.
Reopen last connectionsOffReconecta a las conexiones que estaban activas.
Default focusSidebarDónde cae el focus al iniciar (Sidebar o la última tab).
Max history entries1000Tope del historial de queries (mínimo 10).
Auto-save interval (ms)2000Cada cuánto se auto-guardan los buffers del editor (mínimo 500).

Actualización y segundo plano

SettingDefaultQué hace
Default refresh policyManualManual o Interval auto-refresh para las data views.
Default refresh interval (seconds)5Intervalo usado cuando la policy es Interval (mínimo 1).
Max concurrent background tasks8Tope de trabajo simultáneo en segundo plano (mínimo 1).
Pause auto-refresh on errorOnDetiene el auto-refresh de una view después de que falla.
Auto-refresh only if tab is visibleOffSe salta el refresh de las tabs que no estás mirando.

Seguridad de ejecución (confirmación de queries peligrosas)

Estos tres settings gobiernan cómo DBFlux trata las queries riesgosas en todos los drivers y query languages. No hay un toggle por base de datos — las mismas reglas aplican a DELETE/DROP/TRUNCATE de SQL, deleteMany/drop de MongoDB, FLUSHALL/FLUSHDB de Redis, etc.

SettingDefaultQué hace
Confirm dangerous queriesOnMuestra una confirmación antes de ejecutar una query peligrosa. Desactívalo para permitirlas sin preguntar.
Require WHERE for DELETE/UPDATEOnTrata un DELETE/UPDATE sin WHERE como peligroso.
Always require preview (ignore suppressions)OffFuerza el modal de confirmación/preview incluso para queries que anteriormente elegiste dejar de confirmar.

Almacenamiento (solo builds Nightly)

SettingDefaultQué hace
Use the stable databaseOffHace que un build Nightly comparta el dbflux.db stable en lugar de dbflux-nightly.db. Aplica en el próximo inicio.

Ver Data & Privacy para cómo se separan las bases de datos Nightly y stable.


Audit

La sección Audit controla el audit log unificado. El control principal orientado al usuario es Log Capture → Minimum Level (trace / debug / info / warn / error), que determina cuánto del logging interno de DBFlux se pliega en el audit trail. Guardar tiene efecto sin reiniciar.

La retention (cuánto tiempo se conservan los eventos) impulsa un purge periódico en segundo plano cuando está configurada. Para la experiencia diaria de audit — abrir el viewer, filtrar, exportar — ver Dashboards & Audit. Para el schema completo de eventos y el comportamiento de redaction ver Audit y Data & Privacy.


Keybindings

Esta sección es un viewer de solo lectura. Lista el keymap activo agrupado por contexto, con un filtro de texto y advertencias inline cuando un chord está vinculado a más de un comando. Actualmente no te permite rebind ni guardar shortcuts personalizados desde la UI. Úsala para descubrir y verificar bindings; el keymap por defecto completo está documentado en Usage → Keyboard Reference.


Auth Profiles, Proxies, Túneles SSH

Estas tres secciones gestionan los perfiles reutilizables que luego seleccionas por conexión en la pestaña Access. Están documentadas en detalle — campos, flujo AWS SSO, reglas de no-proxy, métodos de auth SSH — en Connecting to a Database → Advanced Setup:

Las credenciales que ingresas aquí se guardan en el keyring de tu sistema operativo, no en la base de datos. Ver Data & Privacy → Secrets.


Servicios (RPC)

Los drivers externos y los auth providers corren como procesos separados con los que DBFlux se comunica a través de un socket local. Cada service que agregas aquí tiene:

CampoNotas
Socket IDIdentificador único, usado como nombre del archivo del socket. Solo letras ASCII, dígitos, ., _, -.
CommandEl ejecutable a lanzar (opcional para algunas configuraciones).
Startup Timeout (ms)Cuánto esperar a que el proceso arranque. Default 5000.
Service TypeDriver o Auth Provider.
Enable this serviceSi el service arranca. Default on.
ArgumentsArgumentos ordenados del proceso.
Environment VariablesPares KEY=value pasados al proceso.

Los cambios aquí tienen efecto en el próximo inicio. Referencia completa: RPC Services Config y el Driver RPC Protocol.


Drivers

Elige un driver para ver y sobrescribir su comportamiento. Dos grupos son editables:

Global overrides — versiones por driver de los settings de General. Cada uno es un tri-state (Inherit / On / Off, o un valor explícito); dejarlo en Inherit usa el default de General mostrado junto al control:

  • Refresh policy e interval
  • Confirm dangerous queries
  • Require WHERE
  • Require preview

Driver settings — opciones definidas por el propio driver (renderizadas de forma genérica a partir del schema del driver, así que los campos disponibles dependen del driver).

La sección también muestra, en solo lectura, la capability matrix, la category, y el query language del driver.


Connection Hooks

Los hooks son comandos, scripts o snippets de Lua reutilizables que corren alrededor del ciclo de vida de una conexión. Los defines globalmente en Settings → Hooks, y luego los vinculas a fases en conexiones individuales en la pestaña Hooks del Connection Manager.

Camino rápido

  1. Settings → Hooks → agrega un hook. Dale un Hook ID, elige un Type, y completa el command/script.
  2. Abre una conexión en Connection Manager → Hooks tab.
  3. Selecciona tu hook en uno de los cuatro dropdowns de fase (Pre-connect, Post-connect, Pre-disconnect, Post-disconnect).
  4. Conecta. La salida del hook se transmite al panel de Tasks.

Tipos de Hook

TypeQué ejecutaQué proporcionas
CommandUn ejecutableUn comando y argumentos separados por espacios.
ScriptUn archivo Bash o PythonUn lenguaje, una ruta de archivo, y un override opcional del interpreter (en blanco = bash / python3, ajustado según la plataforma).
LuaUn script Lua in-processUna ruta de archivo y un conjunto de capabilities (ver abajo). Lua corre dentro de DBFlux — sin interpreter externo.

Los scripts se editan en el editor de DBFlux y se guardan por defecto bajo una carpeta hooks/.

Capacidades de Lua

Un hook de Lua solo obtiene las habilidades que habilitas:

CapabilityDefaultOtorga
LoggingOnEscribir en la salida del hook.
Environment readOnLeer variables de entorno.
Connection metadataOnLeer la metadata del perfil que se está conectando.
Controlled process runOffLlamar a dbflux.process.run(...) para lanzar procesos externos.

Habilitar Controlled process run permite que el hook ejecute comandos externos arbitrarios. DBFlux muestra una advertencia de seguridad cuando está activado, tanto en la definición del hook como en el binding por conexión. Habilítalo solo para hooks en los que confíes.

El runtime de Lua embebido (APIs disponibles, sandboxing) está documentado en Lua Scripting.

Opciones de Hook

OptionNotas
EnabledLos hooks deshabilitados se omiten.
Working DirectoryEl cwd del process/script (no usado por Lua).
EnvironmentPares extra KEY=value.
Inherit parent environmentOn por defecto; pasa el env de DBFlux al hook.
Env DenylistNombres de variables a quitar del env heredado.
Timeout (ms)En blanco = sin timeout. Al hacer timeout se mata el process group.
Execution modeBlocking (default) espera al hook; Detached corre en segundo plano y no bloquea connect/disconnect.
Ready signal (Detached)Texto que DBFlux espera en la salida del hook antes de continuar.
On FailureLa failure policy — ver abajo.

DBFlux siempre inyecta variables de entorno de contexto en los hooks de proceso: DBFLUX_PROFILE_ID, DBFLUX_PROFILE_NAME, DBFLUX_DB_KIND, y, cuando se conocen, DBFLUX_HOST, DBFLUX_PORT, DBFLUX_DATABASE.

Los secrets nunca se filtran accidentalmente a los hooks. Además de tu Env Denylist, DBFlux siempre quita las variables heredadas cuyo nombre contiene SECRET, TOKEN, PASSWORD, o _KEY, y cualquier variable AWS_*.

Políticas de fallo

Qué pasa cuando un hook falla (exit distinto de cero, timeout, o error):

PolicyEfecto
Disconnect (default)Aborta la fase — el flujo de connect o disconnect se detiene.
WarnContinúa, pero muestra una advertencia.
IgnoreContinúa; el fallo solo se registra en el log.

Fases

PhaseCorre
Pre-connectAntes de que la conexión se abra.
Post-connectDespués de un connect exitoso.
Pre-disconnectAntes de desconectar.
Post-disconnectDespués de desconectar.

La pestaña Hooks de una conexión tiene un dropdown por fase (más un input “Extra” para vincular hook IDs adicionales). Los dropdowns listan los hooks reutilizables que definiste en Settings → Hooks. Cada hook corre como su propia background task con stdout/stderr en vivo en el panel Tasks; la salida tiene un tope de 4 MiB por hook.


Relacionado

Esc
mover abrirEsc cerrar