anitnilay20 / anitnilay20/thoth

Epic: additional data-source plugins (ClickHouse, Redis, Kafka, MongoDB, …)

Aperta
#109 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
architecture epic feature future plugin:database size:large
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.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.