Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,42 @@ Each entry starts with a **plain-language summary** (what changed, in
everyday words) before any technical detail — written so someone outside
engineering can understand what shipped and why it matters.

## [0.7.18] - 2026-08-31

**In plain terms:** the client no longer talks gRPC, and the operator
no longer needs env vars for the things `deltix configure` can ask about
itself.

### Changed

- **`deltix configure` covers everything the operator needs.** The
wizard now prompts for the local Dolt SQL bind host AND port (default
`127.0.0.1:3306`) in addition to the server URL and TLS, and
persists both to `~/.deltix/config.json`. The previously required
`DELTIX_LOCAL_PORT=...` manual export on every `deltix start` is now
a one-time wizard answer.
- **Env vars are now CI / automation only.** Every connection-related
setting (`DELTIX_SERVER_URL`, `DELTIX_HTTP_TLS_CA_PATH`,
`DELTIX_HTTP_TLS_SERVER_NAME_OVERRIDE`, `DELTIX_LOCAL_HOST`,
`DELTIX_LOCAL_PORT`, `DELTIX_DOLT_BIN_PATH`) has a corresponding
field in `~/.deltix/config.json` that `deltix configure` writes. Env
vars still take precedence (for CI), but the human-facing flow is
now command-driven, not env-driven.

### Removed

- **gRPC transfer pipeline.** The client never used gRPC for data-plane
traffic — that was a legacy Fase 3 path behind
`DELTIX_ENABLE_GRPC_TRANSFER`. The client is now REST-only: the entire
`dataflow/` and `heartbeat/` bounded contexts, the
`acl/grpc-transfer-client.ts` and `acl/transfer-ticket-api-adapter.ts`
adapters, the `DELTIX_GRPC_*` and `DELTIX_HEARTBEAT_*` env vars, the
`grpcHost` / `grpcPort` / `grpcTlsCaPath` / `grpcTlsServerNameOverride`
fields on `StoredConfig`, the `@grpc/grpc-js` and `@grpc/proto-loader`
dependencies, and the associated tests are all gone. The
commit-based REST push/pull path (Fase 5.9) is the only path left,
which was already the recommended one.

## [0.7.17] - 2026-08-31

**In plain terms:** three small fixes reported by the same operator in one
Expand Down
27 changes: 12 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -187,29 +187,27 @@ deltix push # first push ships the imported data
active operator stays logged in for a week without prompting. Inactivity
boot is at 7 days.
- **TLS is always on.** `deltix configure` can fetch and pin the server's
self-signed certificate (trust-on-first-use) for both the REST and gRPC
endpoints; connecting over a bare IP works without disabling verification.
The `/status` probe used by `deltix version` threads the same CA
self-signed certificate (trust-on-first-use) for the REST endpoint;
connecting over a bare IP works without disabling verification. The
`/status` probe used by `deltix version` threads the same CA
options through, so the probe succeeds whenever data calls do.

> The legacy whole-file gRPC transfer is retained only behind
> `DELTIX_ENABLE_GRPC_TRANSFER=1` for rollback while the commit-based path is
> confirmed, and is slated for removal.

---

## Configuration

`deltix configure` writes defaults to `~/.deltix/config.json`. Any of these
environment variables override it:
`deltix configure` is the human-friendly path and the recommended way
to set up Deltix-Client — it prompts for the server URL, the local Dolt
SQL port, and TLS options, and persists the result to
`~/.deltix/config.json`. Env vars below are for CI / automation only;
`deltix configure` should be enough for every interactive use case.

| Variable | Default | Purpose |
|---|---|---|
| `DELTIX_SERVER_URL` | `http://127.0.0.1:9090` | REST control plane. |
| `DELTIX_GRPC_HOST` / `DELTIX_GRPC_PORT` | `127.0.0.1` / `50051` | Transfer engine (pull/legacy). |
| `DELTIX_HTTP_TLS_CA_PATH` / `DELTIX_GRPC_TLS_CA_PATH` | — | CA to trust a self-signed server. |
| `DELTIX_HTTP_TLS_SERVER_NAME_OVERRIDE` / `DELTIX_GRPC_TLS_SERVER_NAME_OVERRIDE` | — | SNI name when connecting by IP. |
| `DELTIX_LOCAL_HOST` / `DELTIX_LOCAL_PORT` | `127.0.0.1` / `3306` | Local Dolt SQL server. After the first explicit `DELTIX_LOCAL_PORT`, the value is persisted and you no longer need to export it. |
| `DELTIX_SERVER_URL` | `http://127.0.0.1:9090` | REST control plane. Persisted via `deltix configure`. |
| `DELTIX_HTTP_TLS_CA_PATH` | — | CA to trust a self-signed server. Persisted via `deltix configure`. |
| `DELTIX_HTTP_TLS_SERVER_NAME_OVERRIDE` | — | SNI name when connecting by IP. Persisted via `deltix configure`. |
| `DELTIX_LOCAL_HOST` / `DELTIX_LOCAL_PORT` | `127.0.0.1` / `3306` | Local Dolt SQL server. Both are persisted via `deltix configure`, so a host with a pre-installed MySQL/MariaDB on 3306 only types the new port once. |
| `DELTIX_HOME` | `~/.deltix` | Root for local state + Dolt binary. |
| `DELTIX_DOLT_VERSION` / `DELTIX_DOLT_BIN_PATH` | `2.3.1` / — | Pinned Dolt version / preinstalled binary. |
| `DELTIX_IMPORT_URL` | — | Optional default for `deltix import --from`. |
Expand All @@ -234,7 +232,6 @@ A modular monolith organized by **bounded contexts** under `src/contexts/*`
| `import` | `deltix import` end-to-end: parse DSN, mask password, push masked prompt, schema-only / data-only, `--continue`, blob policies, JSON-column serialisation. |
| `versioning-local` | Local Dolt operations: commit, push export, pull apply, merge, branches, `origin/*` tracking. Commits are tagged with the logged-in user (sanitised). |
| `versioning` | REST parity with the server: repos, branches, merge, log/diff, roles, sync-prefs, push/pull-commits. |
| `dataflow`, `heartbeat` | Legacy gRPC transfer (behind the feature flag). |

Full engineering rules (architecture, security, testing, logging) live in
[`.github/copilot-instructions.md`](./.github/copilot-instructions.md).
Expand Down
62 changes: 0 additions & 62 deletions bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 1 addition & 3 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "deltix-client",
"version": "0.7.17",
"version": "0.7.18",
"private": true,
"license": "MIT",
"type": "module",
Expand All @@ -19,8 +19,6 @@
"test:smoke": "bun test tests/smoke"
},
"dependencies": {
"@grpc/grpc-js": "1.14.4",
"@grpc/proto-loader": "0.8.1",
"consola": "^3.4.2",
"mysql2": "^3.24.2",
"pino": "10.3.1",
Expand Down
Loading