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
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,16 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.6.64](https://github.com/cube-js/cube/compare/v1.6.63...v1.6.64) (2026-06-25)

### Bug Fixes

- **cubestore:** Фvoid empty SortPreservingMerge for empty sort_on ([#11160](https://github.com/cube-js/cube/issues/11160)) ([c7d3ad1](https://github.com/cube-js/cube/commit/c7d3ad18ac6327d6196d2ef0430d3e2ac6b0ec33))

### Features

- **clickhouse-driver:** Support passing custom HTTP headers ([#11161](https://github.com/cube-js/cube/issues/11161)) ([dd791e2](https://github.com/cube-js/cube/commit/dd791e2b9f52c71ac24add05cab0a9912a964d84))

## [1.6.63](https://github.com/cube-js/cube/compare/v1.6.62...v1.6.63) (2026-06-25)

### Bug Fixes
Expand Down
75 changes: 75 additions & 0 deletions docs-mintlify/admin/connect-to-data/data-sources/clickhouse.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,80 @@ To enable SSL-encrypted connections between Cube and ClickHouse, set the
configure custom certificates, please check out [Enable SSL Connections to the
Database][ref-recipe-enable-ssl].

## Custom headers

The ClickHouse driver supports forwarding custom HTTP headers on every request to
the ClickHouse server. This is useful when requests pass through a proxy or gateway
that expects additional headers (e.g., for routing or tracing). See the [ClickHouse
JavaScript client configuration][clickhouse-docs-js-config] for more details.

Custom headers can't be configured via environment variables. Instead, use the
[`driver_factory`](/reference/configuration/config#driver_factory) configuration
option to pass a `headers` object to the driver:

<CodeGroup>

```python title="Python"
from cube import config

@config('driver_factory')
def driver_factory(ctx: dict) -> dict:
return {
'type': 'clickhouse',
'headers': {
'X-Custom-Header': 'value',
'X-Routing-Group': 'analytics'
}
}
```

```javascript title="JavaScript"
module.exports = {
driverFactory: ({ dataSource }) => ({
type: "clickhouse",
headers: {
"X-Custom-Header": "value",
"X-Routing-Group": "analytics"
}
})
};
```

</CodeGroup>

In multitenant deployments, you can use the [security
context](/embedding/authentication/security-context) to pass per-tenant headers, for example
to forward a user token from the API request down to ClickHouse:

<CodeGroup>

```python title="Python"
from cube import config

@config('driver_factory')
def driver_factory(ctx: dict) -> dict:
security_context = ctx['securityContext']
return {
'type': 'clickhouse',
'headers': {
'X-Custom-User-Token': security_context['token']
}
}
```

```javascript title="JavaScript"
module.exports = {
driverFactory: ({ securityContext }) => ({
type: "clickhouse",
headers: {
"X-Custom-User-Token": securityContext.token
}
})
};
```

</CodeGroup>

## Additional Configuration

You can connect to a ClickHouse database when your user's permissions are
Expand All @@ -134,6 +208,7 @@ You can connect to a ClickHouse database with compression enabled, by setting
[clickhouse]: https://clickhouse.tech/
[clickhouse-docs-users]:
https://clickhouse.tech/docs/en/operations/settings/settings-users/
[clickhouse-docs-js-config]: https://clickhouse.com/docs/integrations/javascript#configuration
[clickhouse-readonly]: https://clickhouse.com/docs/en/operations/settings/permissions-for-queries#readonly
[ref-caching-using-preaggs-build-strats]: /docs/pre-aggregations/using-pre-aggregations#pre-aggregation-build-strategies
[ref-recipe-enable-ssl]: /recipes/configuration/using-ssl-connections-to-data-source
Expand Down
41 changes: 41 additions & 0 deletions docs/content/product/configuration/data-sources/clickhouse.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,44 @@ To enable SSL-encrypted connections between Cube and ClickHouse, set the
configure custom certificates, please check out [Enable SSL Connections to the
Database][ref-recipe-enable-ssl].

## Custom headers

The ClickHouse driver supports forwarding custom HTTP headers on every request to
the ClickHouse server. This is useful when requests pass through a proxy or gateway
that expects additional headers (e.g., for routing or tracing). See the [ClickHouse
JavaScript client configuration][clickhouse-docs-js-config] for more details.

Custom headers can't be configured via environment variables. Instead, use the
[`driverFactory`][ref-config-driverfactory] configuration option to pass a `headers`
object to the driver:

```javascript
module.exports = {
driverFactory: ({ dataSource }) => ({
type: "clickhouse",
headers: {
"X-Custom-Header": "value",
"X-Routing-Group": "analytics"
}
})
};
```

In multitenant deployments, you can use the [security context][ref-sec-ctx] to pass
per-tenant headers, for example to forward a user token from the API request down to
ClickHouse:

```javascript
module.exports = {
driverFactory: ({ securityContext }) => ({
type: "clickhouse",
headers: {
"X-Custom-User-Token": securityContext.token
}
})
};
```

## Additional Configuration

You can connect to a ClickHouse database when your user's permissions are
Expand All @@ -132,7 +170,10 @@ You can connect to a ClickHouse database with compression enabled, by setting
[clickhouse]: https://clickhouse.tech/
[clickhouse-docs-users]:
https://clickhouse.tech/docs/en/operations/settings/settings-users/
[clickhouse-docs-js-config]: https://clickhouse.com/docs/integrations/javascript#configuration
[clickhouse-readonly]: https://clickhouse.com/docs/en/operations/settings/permissions-for-queries#readonly
[ref-config-driverfactory]: /product/configuration/reference/config#driver_factory
[ref-sec-ctx]: /product/auth/context
[ref-caching-using-preaggs-build-strats]:
/product/caching/using-pre-aggregations#pre-aggregation-build-strategies
[ref-recipe-enable-ssl]:
Expand Down
2 changes: 1 addition & 1 deletion lerna.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"version": "1.6.63",
"version": "1.6.64",
"npmClient": "yarn",
"command": {
"bootstrap": {
Expand Down
4 changes: 4 additions & 0 deletions packages/cubejs-api-gateway/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.6.64](https://github.com/cube-js/cube/compare/v1.6.63...v1.6.64) (2026-06-25)

**Note:** Version bump only for package @cubejs-backend/api-gateway

## [1.6.63](https://github.com/cube-js/cube/compare/v1.6.62...v1.6.63) (2026-06-25)

**Note:** Version bump only for package @cubejs-backend/api-gateway
Expand Down
10 changes: 5 additions & 5 deletions packages/cubejs-api-gateway/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "@cubejs-backend/api-gateway",
"description": "Cube API Gateway",
"author": "Cube Dev, Inc.",
"version": "1.6.63",
"version": "1.6.64",
"repository": {
"type": "git",
"url": "https://github.com/cube-js/cube.git",
Expand All @@ -27,9 +27,9 @@
"dist/src/*"
],
"dependencies": {
"@cubejs-backend/native": "1.6.63",
"@cubejs-backend/query-orchestrator": "1.6.63",
"@cubejs-backend/shared": "1.6.63",
"@cubejs-backend/native": "1.6.64",
"@cubejs-backend/query-orchestrator": "1.6.64",
"@cubejs-backend/shared": "1.6.64",
"@ungap/structured-clone": "^0.3.4",
"assert-never": "^1.4.0",
"body-parser": "^1.19.0",
Expand All @@ -53,7 +53,7 @@
"zod": "^4.1.13"
},
"devDependencies": {
"@cubejs-backend/linter": "1.6.63",
"@cubejs-backend/linter": "1.6.64",
"@types/express": "^4.17.21",
"@types/jest": "^29",
"@types/jsonwebtoken": "^9.0.2",
Expand Down
4 changes: 4 additions & 0 deletions packages/cubejs-athena-driver/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.6.64](https://github.com/cube-js/cube/compare/v1.6.63...v1.6.64) (2026-06-25)

**Note:** Version bump only for package @cubejs-backend/athena-driver

## [1.6.63](https://github.com/cube-js/cube/compare/v1.6.62...v1.6.63) (2026-06-25)

**Note:** Version bump only for package @cubejs-backend/athena-driver
Expand Down
10 changes: 5 additions & 5 deletions packages/cubejs-athena-driver/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "@cubejs-backend/athena-driver",
"description": "Cube.js Athena database driver",
"author": "Cube Dev, Inc.",
"version": "1.6.63",
"version": "1.6.64",
"repository": {
"type": "git",
"url": "https://github.com/cube-js/cube.git",
Expand Down Expand Up @@ -30,13 +30,13 @@
"dependencies": {
"@aws-sdk/client-athena": "^3.22.0",
"@aws-sdk/credential-providers": "^3.22.0",
"@cubejs-backend/base-driver": "1.6.63",
"@cubejs-backend/shared": "1.6.63",
"@cubejs-backend/base-driver": "1.6.64",
"@cubejs-backend/shared": "1.6.64",
"sqlstring": "^2.3.1"
},
"devDependencies": {
"@cubejs-backend/linter": "1.6.63",
"@cubejs-backend/testing-shared": "1.6.63",
"@cubejs-backend/linter": "1.6.64",
"@cubejs-backend/testing-shared": "1.6.64",
"@types/ramda": "^0.27.40",
"typescript": "~5.2.2"
},
Expand Down
4 changes: 4 additions & 0 deletions packages/cubejs-backend-cloud/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.6.64](https://github.com/cube-js/cube/compare/v1.6.63...v1.6.64) (2026-06-25)

**Note:** Version bump only for package @cubejs-backend/cloud

## [1.6.63](https://github.com/cube-js/cube/compare/v1.6.62...v1.6.63) (2026-06-25)

**Note:** Version bump only for package @cubejs-backend/cloud
Expand Down
6 changes: 3 additions & 3 deletions packages/cubejs-backend-cloud/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@cubejs-backend/cloud",
"version": "1.6.63",
"version": "1.6.64",
"description": "Cube Cloud package",
"main": "dist/src/index.js",
"typings": "dist/src/index.d.ts",
Expand Down Expand Up @@ -30,15 +30,15 @@
"devDependencies": {
"@babel/core": "^7.24.5",
"@babel/preset-env": "^7.24.5",
"@cubejs-backend/linter": "1.6.63",
"@cubejs-backend/linter": "1.6.64",
"@types/fs-extra": "^9.0.8",
"@types/jest": "^29",
"jest": "^29",
"typescript": "~5.2.2"
},
"dependencies": {
"@cubejs-backend/dotenv": "^9.0.2",
"@cubejs-backend/shared": "1.6.63",
"@cubejs-backend/shared": "1.6.64",
"chokidar": "^3.5.1",
"env-var": "^6.3.0",
"form-data": "^4.0.0",
Expand Down
4 changes: 4 additions & 0 deletions packages/cubejs-backend-maven/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.6.64](https://github.com/cube-js/cube/compare/v1.6.63...v1.6.64) (2026-06-25)

**Note:** Version bump only for package @cubejs-backend/maven

## [1.6.63](https://github.com/cube-js/cube/compare/v1.6.62...v1.6.63) (2026-06-25)

**Note:** Version bump only for package @cubejs-backend/maven
Expand Down
6 changes: 3 additions & 3 deletions packages/cubejs-backend-maven/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "@cubejs-backend/maven",
"description": "Cube.js Maven Wrapper for java dependencies downloading",
"author": "Cube Dev, Inc.",
"version": "1.6.63",
"version": "1.6.64",
"license": "Apache-2.0",
"repository": {
"type": "git",
Expand Down Expand Up @@ -31,12 +31,12 @@
"dist/src/*"
],
"dependencies": {
"@cubejs-backend/shared": "1.6.63",
"@cubejs-backend/shared": "1.6.64",
"source-map-support": "^0.5.19",
"xmlbuilder2": "^2.4.0"
},
"devDependencies": {
"@cubejs-backend/linter": "1.6.63",
"@cubejs-backend/linter": "1.6.64",
"@types/jest": "^29",
"@types/node": "^20",
"jest": "^29",
Expand Down
4 changes: 4 additions & 0 deletions packages/cubejs-backend-native/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.6.64](https://github.com/cube-js/cube/compare/v1.6.63...v1.6.64) (2026-06-25)

**Note:** Version bump only for package @cubejs-backend/native

## [1.6.63](https://github.com/cube-js/cube/compare/v1.6.62...v1.6.63) (2026-06-25)

### Bug Fixes
Expand Down
8 changes: 4 additions & 4 deletions packages/cubejs-backend-native/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@cubejs-backend/native",
"version": "1.6.63",
"version": "1.6.64",
"author": "Cube Dev, Inc.",
"description": "Native module for Cube.js (binding to Rust codebase)",
"main": "dist/js/index.js",
Expand Down Expand Up @@ -39,7 +39,7 @@
"dist/js"
],
"devDependencies": {
"@cubejs-backend/linter": "1.6.63",
"@cubejs-backend/linter": "1.6.64",
"@types/jest": "^29",
"@types/node": "^20",
"cargo-cp-artifact": "^0.1.9",
Expand All @@ -50,8 +50,8 @@
"uuid": "^8.3.2"
},
"dependencies": {
"@cubejs-backend/cubesql": "1.6.63",
"@cubejs-backend/shared": "1.6.63",
"@cubejs-backend/cubesql": "1.6.64",
"@cubejs-backend/shared": "1.6.64",
"@cubejs-infra/post-installer": "^0.0.7"
},
"resources": {
Expand Down
4 changes: 4 additions & 0 deletions packages/cubejs-backend-shared/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.6.64](https://github.com/cube-js/cube/compare/v1.6.63...v1.6.64) (2026-06-25)

**Note:** Version bump only for package @cubejs-backend/shared

## [1.6.63](https://github.com/cube-js/cube/compare/v1.6.62...v1.6.63) (2026-06-25)

### Bug Fixes
Expand Down
4 changes: 2 additions & 2 deletions packages/cubejs-backend-shared/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@cubejs-backend/shared",
"version": "1.6.63",
"version": "1.6.64",
"description": "Shared code for Cube.js backend packages",
"main": "dist/src/index.js",
"typings": "dist/src/index.d.ts",
Expand All @@ -27,7 +27,7 @@
},
"license": "Apache-2.0",
"devDependencies": {
"@cubejs-backend/linter": "1.6.63",
"@cubejs-backend/linter": "1.6.64",
"@types/bytes": "^3.1.5",
"@types/cli-progress": "^3.9.1",
"@types/decompress": "^4.2.7",
Expand Down
4 changes: 4 additions & 0 deletions packages/cubejs-base-driver/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.6.64](https://github.com/cube-js/cube/compare/v1.6.63...v1.6.64) (2026-06-25)

**Note:** Version bump only for package @cubejs-backend/base-driver

## [1.6.63](https://github.com/cube-js/cube/compare/v1.6.62...v1.6.63) (2026-06-25)

**Note:** Version bump only for package @cubejs-backend/base-driver
Expand Down
Loading
Loading