anitnilay20 / anitnilay20/thoth
Epic: additional data-source plugins (ClickHouse, Redis, Kafka, MongoDB, …)
- Lenguaje dominante
- Rust
- Estrellas
- 70
- Forks
- 5
- Merge medio
- 10 h 33 min
- PR fusionados (30 d)
- 2
Descripción
Expand Thoth's data-source plugins beyond Postgres/MySQL (**Seshat**, #93 → #99) to cover more engines. Each source is its own sub-issue below; this epic tracks them and the shared prerequisites.
## Foundation to build on (from Seshat #93 / #99)
- Host `tcp-client` import (+ host-side TLS) and network policy / SSRF guard
- Owner-thread query execution (blocking reads never freeze the UI)
- `secure-storage` for credentials (OS keychain)
- The `UiNode` DSL: connection dialog, dock tabs, results grid (type-aware cells, row cap + Load more), `json-tree`, structure view
- `DbAdapter` trait for SQL engines
## Sub-issues
**SQL family** (reuse `DbAdapter` + results/schema UI)
- [ ] ClickHouse — #100
- [ ] Snowflake — #107
- [ ] BigQuery — #108
- [ ] DuckDB — #105
- [ ] SQLite — #106
**Non-SQL** (new adapter shapes / browsing paradigms)
- [ ] MongoDB — #101
- [ ] Redis — #102
- [ ] Kafka — #103
- [x] Elasticsearch — #104
## Shared prerequisites (do first)
- [ ] **Host HTTP client import** — Snowflake, BigQuery, Elasticsearch, and ClickHouse's HTTP interface all need HTTPS request/response. Either expose a reusable `http-client` host import (the `url-source` plugin already does HTTP host-side) or standardise doing HTTP over `tcp-client` + TLS. Blocks #100 (HTTP mode), #104, #107, #108.
- [ ] **Embedded-engine execution path** — DuckDB (#105) and SQLite (#106) are libraries, not servers; decide between compiling the engine to `wasm32-wasip1` vs the subprocess plugin path (`docs/DATABASE_PLUGINS.md` Option C).
## Notes
- Kafka (#103) is the largest/most divergent (broker protocol, consumer groups) — consider deprioritising.
- Non-SQL sources need new adapter traits and UI (key browser, document browser, topic viewer) rather than the tabular grid.
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Evaluación
Este issue todavía no se ha evaluado.