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

## [1.6.12](https://github.com/cube-js/cube/compare/v1.6.11...v1.6.12) (2026-02-16)

### Bug Fixes

- **postgres-driver:** Don't expose PoolConfig as driver options ([#10393](https://github.com/cube-js/cube/issues/10393)) ([4f2e72f](https://github.com/cube-js/cube/commit/4f2e72fe17979013a50da06c8be5a69685c079ad))
- **tesseract:** Allow paths for symbols in request ([#10392](https://github.com/cube-js/cube/issues/10392)) ([9dea1fc](https://github.com/cube-js/cube/commit/9dea1fc6735e7be86e76fcfd5fbc62d769257799))

### Features

- **postgres-driver:** Migrate to our Pool implementation ([#10389](https://github.com/cube-js/cube/issues/10389)) ([a57cabe](https://github.com/cube-js/cube/commit/a57cabed6bab72a34c738cb9b0d6e65c9a72ec60))
- **redshift-driver:** Support IAM auth ([#10391](https://github.com/cube-js/cube/issues/10391)) ([c711ca7](https://github.com/cube-js/cube/commit/c711ca7c3b781fd975b9b9e5325865b9d27710a4))

## [1.6.11](https://github.com/cube-js/cube/compare/v1.6.10...v1.6.11) (2026-02-12)

### Bug Fixes
Expand Down
76 changes: 61 additions & 15 deletions docs/pages/product/configuration/data-sources/aws-redshift.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
- The [hostname][aws-redshift-docs-connection-string] for the [AWS
Redshift][aws-redshift] cluster
- The [username/password][aws-redshift-docs-users] for the [AWS
Redshift][aws-redshift] cluster
Redshift][aws-redshift] cluster **or** IAM credentials with
`redshift:GetClusterCredentialsWithIAM` and `redshift:DescribeClusters`
permissions
- The name of the database to use within the [AWS Redshift][aws-redshift]
cluster

Expand All @@ -22,12 +24,48 @@ network route to the cluster.

Add the following to a `.env` file in your Cube project:

#### Password Authentication

```dotenv
CUBEJS_DB_TYPE=redshift
CUBEJS_DB_HOST=my-redshift-cluster.cfbs3dkw1io8.eu-west-1.redshift.amazonaws.com
CUBEJS_DB_NAME=my_redshift_database
CUBEJS_DB_USER=redshift_user
CUBEJS_DB_PASS=**********
CUBEJS_DB_USER=<REDSHIFT_USER>
CUBEJS_DB_PASS=<REDSHIFT_PASSWORD>
```

#### IAM Authentication

For enhanced security, you can configure Cube to use IAM authentication
instead of username and password. When running in AWS (EC2, ECS, EKS with
IRSA), the driver can use the instance's IAM role to obtain temporary
database credentials automatically.

Omit `CUBEJS_DB_USER` and `CUBEJS_DB_PASS` to enable IAM authentication:

```dotenv
CUBEJS_DB_TYPE=redshift
CUBEJS_DB_HOST=my-redshift-cluster.xxx.eu-west-1.redshift.amazonaws.com
CUBEJS_DB_NAME=my_redshift_database
CUBEJS_DB_SSL=true
CUBEJS_DB_REDSHIFT_AWS_REGION=eu-west-1
CUBEJS_DB_REDSHIFT_CLUSTER_IDENTIFIER=my-redshift-cluster
```

The driver uses the AWS SDK's default credential chain (IAM instance profile,
EKS IRSA, etc.) to obtain temporary database credentials via the
`redshift:GetClusterCredentialsWithIAM` API.

#### IAM Role Assumption

For cross-account access or enhanced security, you can configure Cube to assume
an IAM role:

```dotenv
CUBEJS_DB_REDSHIFT_AWS_REGION=eu-west-1
CUBEJS_DB_REDSHIFT_CLUSTER_IDENTIFIER=my-redshift-cluster
CUBEJS_DB_REDSHIFT_ASSUME_ROLE_ARN=arn:aws:iam::123456789012:role/RedshiftAccessRole
CUBEJS_DB_REDSHIFT_ASSUME_ROLE_EXTERNAL_ID=unique-external-id
```

### Cube Cloud
Expand Down Expand Up @@ -57,17 +95,23 @@ if [dedicated infrastructure][ref-dedicated-infra] is used. Check out the

## Environment Variables

| Environment Variable | Description | Possible Values | Required |
| -------------------------------------- | ----------------------------------------------------------------------------------- | ------------------------- | :------: |
| `CUBEJS_DB_HOST` | The host URL for a database | A valid database host URL | ✅ |
| `CUBEJS_DB_PORT` | The port for the database connection | A valid port number | ❌ |
| `CUBEJS_DB_NAME` | The name of the database to connect to | A valid database name | ✅ |
| `CUBEJS_DB_USER` | The username used to connect to the database | A valid database username | ✅ |
| `CUBEJS_DB_PASS` | The password used to connect to the database | A valid database password | ✅ |
| `CUBEJS_DB_SSL` | If `true`, enables SSL encryption for database connections from Cube | `true`, `false` | ❌ |
| `CUBEJS_DB_MAX_POOL` | The maximum number of concurrent database connections to pool. Default is `16` | A valid number | ❌ |
| `CUBEJS_DB_EXPORT_BUCKET_REDSHIFT_ARN` | | | ❌ |
| `CUBEJS_CONCURRENCY` | The number of [concurrent queries][ref-data-source-concurrency] to the data source | A valid number | ❌ |
| Environment Variable | Description | Possible Values | Required |
| ------------------------------------------- | ----------------------------------------------------------------------------------- | ------------------------- | :------: |
| `CUBEJS_DB_HOST` | The host URL for a database | A valid database host URL | ✅ |
| `CUBEJS_DB_PORT` | The port for the database connection | A valid port number | ❌ |
| `CUBEJS_DB_NAME` | The name of the database to connect to | A valid database name | ✅ |
| `CUBEJS_DB_USER` | The username used to connect to the database | A valid database username | ✅<sup>1</sup> |
| `CUBEJS_DB_PASS` | The password used to connect to the database | A valid database password | ✅<sup>1</sup> |
| `CUBEJS_DB_SSL` | If `true`, enables SSL encryption for database connections from Cube | `true`, `false` | ❌ |
| `CUBEJS_DB_MAX_POOL` | The maximum number of concurrent database connections to pool. Default is `16` | A valid number | ❌ |
| `CUBEJS_DB_REDSHIFT_CLUSTER_IDENTIFIER` | The Redshift cluster identifier. Required for IAM authentication | A valid cluster identifier | ❌ |
| `CUBEJS_DB_REDSHIFT_AWS_REGION` | The AWS region of the Redshift cluster. Required for IAM authentication | [A valid AWS region][aws-docs-regions] | ❌ |
| `CUBEJS_DB_REDSHIFT_ASSUME_ROLE_ARN` | The ARN of the IAM role to assume for cross-account access | A valid IAM role ARN | ❌ |
| `CUBEJS_DB_REDSHIFT_ASSUME_ROLE_EXTERNAL_ID`| The external ID for the assumed role's trust policy | A string | ❌ |
| `CUBEJS_DB_EXPORT_BUCKET_REDSHIFT_ARN` | | | ❌ |
| `CUBEJS_CONCURRENCY` | The number of [concurrent queries][ref-data-source-concurrency] to the data source | A valid number | ❌ |

<sup>1</sup> Required when using password-based authentication. When using IAM authentication, omit these and set `CUBEJS_DB_REDSHIFT_CLUSTER_IDENTIFIER` and `CUBEJS_DB_REDSHIFT_AWS_REGION` instead. The driver uses the AWS SDK's default credential chain (IAM instance profile, EKS IRSA, etc.) to obtain temporary database credentials.

[ref-data-source-concurrency]: /product/configuration/concurrency#data-source-concurrency

Expand Down Expand Up @@ -147,6 +191,8 @@ Database][ref-recipe-enable-ssl].
https://docs.aws.amazon.com/redshift/latest/dg/r_Users.html
[aws-redshift]: https://aws.amazon.com/redshift/
[aws-vpc]: https://aws.amazon.com/vpc/
[aws-docs-regions]:
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions
[ref-caching-large-preaggs]:
/product/caching/using-pre-aggregations#export-bucket
[ref-caching-using-preaggs-build-strats]:
Expand All @@ -155,4 +201,4 @@ Database][ref-recipe-enable-ssl].
/product/configuration/recipes/using-ssl-connections-to-data-source
[ref-schema-ref-types-formats-countdistinctapprox]: /product/data-modeling/reference/types-and-formats#count_distinct_approx
[self-preaggs-batching]: #batching
[ref-conf-preaggs-schema]: /product/configuration/reference/config#pre_aggregations_schema
[ref-conf-preaggs-schema]: /product/configuration/reference/config#pre_aggregations_schema
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.11",
"version": "1.6.12",
"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.12](https://github.com/cube-js/cube/compare/v1.6.11...v1.6.12) (2026-02-16)

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

## [1.6.11](https://github.com/cube-js/cube/compare/v1.6.10...v1.6.11) (2026-02-12)

### Features
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.js API Gateway",
"author": "Cube Dev, Inc.",
"version": "1.6.11",
"version": "1.6.12",
"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.11",
"@cubejs-backend/query-orchestrator": "1.6.11",
"@cubejs-backend/shared": "1.6.11",
"@cubejs-backend/native": "1.6.12",
"@cubejs-backend/query-orchestrator": "1.6.12",
"@cubejs-backend/shared": "1.6.12",
"@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.11",
"@cubejs-backend/linter": "1.6.12",
"@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.12](https://github.com/cube-js/cube/compare/v1.6.11...v1.6.12) (2026-02-16)

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

## [1.6.11](https://github.com/cube-js/cube/compare/v1.6.10...v1.6.11) (2026-02-12)

**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.11",
"version": "1.6.12",
"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.11",
"@cubejs-backend/shared": "1.6.11",
"@cubejs-backend/base-driver": "1.6.12",
"@cubejs-backend/shared": "1.6.12",
"sqlstring": "^2.3.1"
},
"devDependencies": {
"@cubejs-backend/linter": "1.6.11",
"@cubejs-backend/testing-shared": "1.6.11",
"@cubejs-backend/linter": "1.6.12",
"@cubejs-backend/testing-shared": "1.6.12",
"@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.12](https://github.com/cube-js/cube/compare/v1.6.11...v1.6.12) (2026-02-16)

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

## [1.6.11](https://github.com/cube-js/cube/compare/v1.6.10...v1.6.11) (2026-02-12)

**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.11",
"version": "1.6.12",
"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.11",
"@cubejs-backend/linter": "1.6.12",
"@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.11",
"@cubejs-backend/shared": "1.6.12",
"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.12](https://github.com/cube-js/cube/compare/v1.6.11...v1.6.12) (2026-02-16)

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

## [1.6.11](https://github.com/cube-js/cube/compare/v1.6.10...v1.6.11) (2026-02-12)

**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.11",
"version": "1.6.12",
"license": "Apache-2.0",
"repository": {
"type": "git",
Expand Down Expand Up @@ -31,12 +31,12 @@
"dist/src/*"
],
"dependencies": {
"@cubejs-backend/shared": "1.6.11",
"@cubejs-backend/shared": "1.6.12",
"source-map-support": "^0.5.19",
"xmlbuilder2": "^2.4.0"
},
"devDependencies": {
"@cubejs-backend/linter": "1.6.11",
"@cubejs-backend/linter": "1.6.12",
"@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.12](https://github.com/cube-js/cube/compare/v1.6.11...v1.6.12) (2026-02-16)

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

## [1.6.11](https://github.com/cube-js/cube/compare/v1.6.10...v1.6.11) (2026-02-12)

### Features
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.11",
"version": "1.6.12",
"author": "Cube Dev, Inc.",
"description": "Native module for Cube.js (binding to Rust codebase)",
"main": "dist/js/index.js",
Expand Down Expand Up @@ -36,7 +36,7 @@
"dist/js"
],
"devDependencies": {
"@cubejs-backend/linter": "1.6.11",
"@cubejs-backend/linter": "1.6.12",
"@types/jest": "^29",
"@types/node": "^20",
"cargo-cp-artifact": "^0.1.9",
Expand All @@ -47,8 +47,8 @@
"uuid": "^8.3.2"
},
"dependencies": {
"@cubejs-backend/cubesql": "1.6.11",
"@cubejs-backend/shared": "1.6.11",
"@cubejs-backend/cubesql": "1.6.12",
"@cubejs-backend/shared": "1.6.12",
"@cubejs-infra/post-installer": "^0.0.7"
},
"resources": {
Expand Down
11 changes: 11 additions & 0 deletions packages/cubejs-backend-shared/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.6.12](https://github.com/cube-js/cube/compare/v1.6.11...v1.6.12) (2026-02-16)

### Bug Fixes

- **postgres-driver:** Don't expose PoolConfig as driver options ([#10393](https://github.com/cube-js/cube/issues/10393)) ([4f2e72f](https://github.com/cube-js/cube/commit/4f2e72fe17979013a50da06c8be5a69685c079ad))

### Features

- **postgres-driver:** Migrate to our Pool implementation ([#10389](https://github.com/cube-js/cube/issues/10389)) ([a57cabe](https://github.com/cube-js/cube/commit/a57cabed6bab72a34c738cb9b0d6e65c9a72ec60))
- **redshift-driver:** Support IAM auth ([#10391](https://github.com/cube-js/cube/issues/10391)) ([c711ca7](https://github.com/cube-js/cube/commit/c711ca7c3b781fd975b9b9e5325865b9d27710a4))

## [1.6.11](https://github.com/cube-js/cube/compare/v1.6.10...v1.6.11) (2026-02-12)

**Note:** Version bump only for package @cubejs-backend/shared
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.11",
"version": "1.6.12",
"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.11",
"@cubejs-backend/linter": "1.6.12",
"@types/bytes": "^3.1.5",
"@types/cli-progress": "^3.9.1",
"@types/decompress": "^4.2.7",
Expand Down
Loading
Loading