anitnilay20 / anitnilay20/thoth
Epic: additional data-source plugins (ClickHouse, Redis, Kafka, MongoDB, …)
- Lingua principale
- Rust
- Stelle
- 70
- Fork
- 5
- Merge medio
- 10h 33m
- PR unite (30g)
- 2
Descrizione
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.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Valutazione
Questa issue non è ancora stata valutata.