From b46a62c7ed46339f5e4f1eb0488253c7e26f0f10 Mon Sep 17 00:00:00 2001 From: Mikhailov Grigorii <49814763+ggxed@users.noreply.github.com> Date: Tue, 16 Sep 2025 12:21:04 +0100 Subject: [PATCH 1/8] Dbeaver devops#2136 te version update procedure (#171) * dbeaver/dbeaver-devops#2136 Update instruction version update procedure in docker compose deployment --- compose/README.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/compose/README.md b/compose/README.md index 6bf4b60..f8b2831 100644 --- a/compose/README.md +++ b/compose/README.md @@ -187,11 +187,31 @@ For detailed instructions on how to use the script manager, refer to [manager do ## Version update procedure +### Standard update procedure (recommended) + +1. Navigate to `team-edition-deploy/compose/cbte` +2. Stop the cluster: `docker-compose down` or `docker compose down` +3. Update your deployment files: + - Fetch latest changes: `git fetch` + - Switch to new release version: `git checkout ` (e.g., `git checkout 25.2.0`) + - Change value of `CLOUDBEAVER_VERSION_TAG` in `.env` with a preferred version (skip if tag `latest` is set) +4. Pull new docker images: `docker-compose pull` or `docker compose pull` +5. Start the cluster: `docker-compose up -d` or `docker compose up -d` + +### Alternative update procedure (for simple updates) + +If you are not updating across major version boundaries and don't need configuration changes: + 1. Navigate to `team-edition-deploy/compose/cbte` 2. Change value of `CLOUDBEAVER_VERSION_TAG` in `.env` with a preferred version. Go to next step if tag `latest` is set. 3. Pull new docker images: `docker-compose pull` or `docker compose pull` 4. Restart cluster: `docker-compose up -d` or `docker compose up -d` +**Note:** The standard procedure using `docker-compose down` is recommended because it ensures clean container replacement, especially when service names or configurations change between versions. + +### Version update to 25.1.0 or later + +Starting from version 25.1.0, the proxy container name has changed from `nginx` to `web-proxy`. When updating to version 25.1.0 or later, you **must** use the [standard update procedure](#standard-update-procedure-recommended) with `docker-compose down` to ensure the old container is properly removed. ### Version update from 24.0.0 or earlier From aedee4180cdde738e03d8f8e1dd66eaa512b1b09 Mon Sep 17 00:00:00 2001 From: Mikhailov Grigorii <49814763+ggxed@users.noreply.github.com> Date: Mon, 20 Oct 2025 14:00:46 +0100 Subject: [PATCH 2/8] Dbeaver devops#2199 fix install dbeaver te script (#174) * dbeaver/dbeaver-devops#2199 Removed hardcoded paths for team edition repo location and updated install script * dbeaver/dbeaver-devops#2199 Added create .env if not exist when run command dbeaver-te --- manager/dbeaver-te | 110 ++++++++++++++++++++++--------------- manager/install-manager.sh | 16 +++++- 2 files changed, 80 insertions(+), 46 deletions(-) diff --git a/manager/dbeaver-te b/manager/dbeaver-te index d292a35..d8216dd 100755 --- a/manager/dbeaver-te +++ b/manager/dbeaver-te @@ -2,18 +2,43 @@ set -e +ARG="$1" +TEAM_EDITION_BASE_DIR="/opt/dbeaver-team-server/team-edition-deploy" +TEAM_EDITION_COMPOSE_DIR="$TEAM_EDITION_BASE_DIR/compose/cbte" +TEAM_EDITION_IMAGE="cloudbeaver-dc" +TEAM_EDITION_UPDATE_AVAILABLE=false + +if [ ! -f "$TEAM_EDITION_COMPOSE_DIR/.env" ]; then + echo "Warning: .env file not found at $TEAM_EDITION_COMPOSE_DIR/.env" + if [ -f "$TEAM_EDITION_COMPOSE_DIR/.env.example" ]; then + read -r -p "Do you want to create .env file from .env.example? [y/N] " response + case "$response" in + [yY][eE][sS]|[yY]) + cp "$TEAM_EDITION_COMPOSE_DIR/.env.example" "$TEAM_EDITION_COMPOSE_DIR/.env" + echo ".env file created successfully!" + echo "Please review and configure .env file: $TEAM_EDITION_COMPOSE_DIR/.env" + ;; + *) + echo "Cannot proceed without .env file. Exiting." + exit 1 + ;; + esac + else + echo "Error: .env.example not found at $TEAM_EDITION_COMPOSE_DIR/.env.example" + echo "Cannot create .env file. Exiting." + exit 1 + fi +fi + while read -r line do [[ $line =~ ^#.* ]] && continue [[ -z $line ]] && continue export "$line" -done < /opt/dbeaver-team-server/team-edition-deploy/compose/cbte/.env - -ARG="$1" +done < "$TEAM_EDITION_COMPOSE_DIR/.env" -TEAM_EDITION_IMAGE="cloudbeaver-dc" TEAM_EDITION_TAG="$CLOUDBEAVER_VERSION_TAG" -TEAM_EDITION_UPDATE_AVAILABLE=false + case $(uname -m) in "x86_64") @@ -26,7 +51,6 @@ case $(uname -m) in esac - printHelp() { cat << EOF @@ -51,7 +75,7 @@ Usage: dbeaver-te [command] restor your backup in current cluster DBeaver TE server home directory: - /opt/dbeaver-team-server/team-edition-deploy/compose/cbte/ + $TEAM_EDITION_COMPOSE_DIR/ EOF } @@ -82,7 +106,7 @@ getAvailableVersions() { configureenvfile() { - nano /opt/dbeaver-team-server/team-edition-deploy/compose/cbte/.env + nano "$TEAM_EDITION_COMPOSE_DIR/.env" } checkCloudBeaverUpdateVersion() { @@ -197,9 +221,9 @@ startCloudbeaver() { if [ "$TEAM_EDITION_STATUS" == false ] then docker compose \ - -f /opt/dbeaver-team-server/team-edition-deploy/compose/cbte/docker-compose.yml \ - --env-file /opt/dbeaver-team-server/team-edition-deploy/compose/cbte/.env \ - --project-directory /opt/dbeaver-team-server/team-edition-deploy/compose/cbte/ \ + -f "$TEAM_EDITION_COMPOSE_DIR/docker-compose.yml" \ + --env-file "$TEAM_EDITION_COMPOSE_DIR/.env" \ + --project-directory "$TEAM_EDITION_COMPOSE_DIR/" \ up -d \ --remove-orphans \ --pull always @@ -225,7 +249,7 @@ startCloudbeaver() { stopCloudbeaver() { checkCloudBeaverStatus - docker compose -f /opt/dbeaver-team-server/team-edition-deploy/compose/cbte/docker-compose.yml down + docker compose -f "$TEAM_EDITION_COMPOSE_DIR/docker-compose.yml" down echo "DBeaver Team Edition Server stopped." } @@ -234,23 +258,23 @@ rollbackCloudBeaver() { BACKUP_VERSION="$2" docker compose \ - -f /opt/dbeaver-team-server/team-edition-deploy/compose/cbte/docker-compose.yml \ - --env-file /opt/dbeaver-team-server/team-edition-deploy/compose/cbte/.env \ - --project-directory /opt/dbeaver-team-server/team-edition-deploy/compose/cbte/ \ + -f "$TEAM_EDITION_COMPOSE_DIR/docker-compose.yml" \ + --env-file "$TEAM_EDITION_COMPOSE_DIR/.env" \ + --project-directory "$TEAM_EDITION_COMPOSE_DIR/" \ down \ --remove-orphans - rsync -av --exclude='cert' --exclude='nginx' "$BACKUP_DIR/" /opt/dbeaver-team-server/team-edition-deploy/ + rsync -av --exclude='cert' --exclude='nginx' "$BACKUP_DIR/" "$TEAM_EDITION_BASE_DIR/" sed -i \ "s/CLOUDBEAVER_VERSION_TAG=$TEAM_EDITION_NEW_TAG/CLOUDBEAVER_VERSION_TAG=$BACKUP_VERSION/g" \ - /opt/dbeaver-team-server/team-edition-deploy/compose/cbte/.env + "$TEAM_EDITION_COMPOSE_DIR/.env" export CLOUDBEAVER_VERSION_TAG=$BACKUP_VERSION docker compose \ - -f /opt/dbeaver-team-server/team-edition-deploy/compose/cbte/docker-compose.yml \ - --env-file /opt/dbeaver-team-server/team-edition-deploy/compose/cbte/.env \ - --project-directory /opt/dbeaver-team-server/team-edition-deploy/compose/cbte/ \ + -f "$TEAM_EDITION_COMPOSE_DIR/docker-compose.yml" \ + --env-file "$TEAM_EDITION_COMPOSE_DIR/.env" \ + --project-directory "$TEAM_EDITION_COMPOSE_DIR/" \ up -d \ --remove-orphans @@ -275,14 +299,14 @@ updateCloudbeaver() { if [ "$TEAM_EDITION_UPDATE_AVAILABLE" == true ]; then TIMESTAMP=$(date +%m-%d-%Y_%H-%M) - BACKUP_DIR="/opt/dbeaver-team-server/team-edition-deploy-${TEAM_EDITION_TAG}-${TIMESTAMP}" + BACKUP_DIR="${TEAM_EDITION_BASE_DIR}-${TEAM_EDITION_TAG}-${TIMESTAMP}" - # Check if user has write permission for /opt/dbeaver-team-server/team-edition-deploy/ - if [ ! -w "/opt/dbeaver-team-server/team-edition-deploy/" ]; then - OWNER=$(ls -ld /opt/dbeaver-team-server/team-edition-deploy/ | awk '{print $3}') - GROUP=$(ls -ld /opt/dbeaver-team-server/team-edition-deploy/ | awk '{print $4}') + # Check if user has write permission for $TEAM_EDITION_BASE_DIR/ + if [ ! -w "$TEAM_EDITION_BASE_DIR/" ]; then + OWNER=$(ls -ld "$TEAM_EDITION_BASE_DIR/" | awk '{print $3}') + GROUP=$(ls -ld "$TEAM_EDITION_BASE_DIR/" | awk '{print $4}') - echo "Error: No write permission for /opt/dbeaver-team-server/team-edition-deploy/." + echo "Error: No write permission for $TEAM_EDITION_BASE_DIR/." echo "Directory is owned by: $OWNER (group: $GROUP)." if [ "$(whoami)" != "$OWNER" ]; then @@ -294,8 +318,8 @@ updateCloudbeaver() { fi # Check .git directory and fetch latest changes - cd /opt/dbeaver-team-server/team-edition-deploy/ - if [ ! -d "/opt/dbeaver-team-server/team-edition-deploy/.git" ]; then + cd "$TEAM_EDITION_BASE_DIR/" + if [ ! -d "$TEAM_EDITION_BASE_DIR/.git" ]; then echo "===============================================================================" echo "Error: .git directory not found. The repository may be missing or corrupted." echo "Please clone the repository again." @@ -313,15 +337,15 @@ updateCloudbeaver() { # Stop team-edition-deploy docker compose \ - -f /opt/dbeaver-team-server/team-edition-deploy/compose/cbte/docker-compose.yml \ - --env-file /opt/dbeaver-team-server/team-edition-deploy/compose/cbte/.env \ - --project-directory /opt/dbeaver-team-server/team-edition-deploy/compose/cbte/ \ + -f "$TEAM_EDITION_COMPOSE_DIR/docker-compose.yml" \ + --env-file "$TEAM_EDITION_COMPOSE_DIR/.env" \ + --project-directory "$TEAM_EDITION_COMPOSE_DIR/" \ down \ --remove-orphans # Backup current configuration - mkdir -p $BACKUP_DIR - rsync -av --exclude='cert' --exclude='nginx' /opt/dbeaver-team-server/team-edition-deploy/compose/cbte/ "$BACKUP_DIR" + mkdir -p "$BACKUP_DIR" + rsync -av --exclude='cert' --exclude='nginx' "$TEAM_EDITION_COMPOSE_DIR/" "$BACKUP_DIR" echo "Preveous team-edition-deploy configuration copied to $BACKUP_DIR" # Checkout new version @@ -334,7 +358,7 @@ updateCloudbeaver() { } sed -i \ "s/CLOUDBEAVER_VERSION_TAG=$TEAM_EDITION_TAG/CLOUDBEAVER_VERSION_TAG=$TEAM_EDITION_NEW_TAG/g" \ - /opt/dbeaver-team-server/team-edition-deploy/compose/cbte/.env + "$TEAM_EDITION_COMPOSE_DIR/.env" export CLOUDBEAVER_VERSION_TAG=$TEAM_EDITION_NEW_TAG @@ -342,8 +366,8 @@ updateCloudbeaver() { if [ "$DBEAVER_TEAM_EDITION_AMI" ]; then "$HOME/.local/bin/dbeaver-compose-config-editor.py" \ - -f /opt/dbeaver-team-server/team-edition-deploy/compose/cbte/docker-compose.yml \ - -e /opt/dbeaver-team-server/team-edition-deploy/compose/cbte/.env || { + -f "$TEAM_EDITION_COMPOSE_DIR/docker-compose.yml" \ + -e "$TEAM_EDITION_COMPOSE_DIR/.env" || { echo "===============================================================================" echo "Error: Failed to patch docker-compose.yml using dbeaver-compose-config-editor.py." echo "===============================================================================" @@ -355,9 +379,9 @@ updateCloudbeaver() { # Start team-edition-deploy with new version and check status docker compose \ - -f /opt/dbeaver-team-server/team-edition-deploy/compose/cbte/docker-compose.yml \ - --env-file /opt/dbeaver-team-server/team-edition-deploy/compose/cbte/.env \ - --project-directory /opt/dbeaver-team-server/team-edition-deploy/compose/cbte/ \ + -f "$TEAM_EDITION_COMPOSE_DIR/docker-compose.yml" \ + --env-file "$TEAM_EDITION_COMPOSE_DIR/.env" \ + --project-directory "$TEAM_EDITION_COMPOSE_DIR/" \ up -d \ --remove-orphans \ --pull always @@ -475,11 +499,11 @@ restoreBackup(){ fi rm -rf $TEMP_DIR - docker compose -f /opt/dbeaver-team-server/team-edition-deploy/compose/cbte/docker-compose.yml down + docker compose -f "$TEAM_EDITION_COMPOSE_DIR/docker-compose.yml" down docker compose \ - -f /opt/dbeaver-team-server/team-edition-deploy/compose/cbte/docker-compose.yml \ - --env-file /opt/dbeaver-team-server/team-edition-deploy/compose/cbte/.env \ - --project-directory /opt/dbeaver-team-server/team-edition-deploy/compose/cbte/ \ + -f "$TEAM_EDITION_COMPOSE_DIR/docker-compose.yml" \ + --env-file "$TEAM_EDITION_COMPOSE_DIR/.env" \ + --project-directory "$TEAM_EDITION_COMPOSE_DIR/" \ up -d } diff --git a/manager/install-manager.sh b/manager/install-manager.sh index 11b6c27..352e895 100755 --- a/manager/install-manager.sh +++ b/manager/install-manager.sh @@ -6,13 +6,23 @@ INSTALL_DIR="$HOME/bin" CURRENT_DIR=$(pwd) mkdir -p "$INSTALL_DIR" -ln -sf "$CURRENT_DIR/dbeaver-te" "$INSTALL_DIR/" +# Determine the actual base directory and compose directory +BASE_DIR=$(realpath "$CURRENT_DIR/..") +CBTE_DIR=$(realpath "$CURRENT_DIR/../compose/cbte") + +# Copy the script to install directory +cp "$CURRENT_DIR/dbeaver-te" "$INSTALL_DIR/dbeaver-te" chmod +x "$INSTALL_DIR/dbeaver-te" +# Replace the hardcoded paths with actual paths +sed -i "s|^TEAM_EDITION_BASE_DIR=.*|TEAM_EDITION_BASE_DIR=\"$BASE_DIR\"|g" "$INSTALL_DIR/dbeaver-te" +sed -i "s|^TEAM_EDITION_COMPOSE_DIR=.*|TEAM_EDITION_COMPOSE_DIR=\"$CBTE_DIR\"|g" "$INSTALL_DIR/dbeaver-te" + if [[ ":$PATH:" != *":$INSTALL_DIR:"* ]]; then echo "export PATH=\"$INSTALL_DIR:\$PATH\"" >> ~/.bashrc source ~/.bashrc fi -CBTE_DIR=$(realpath "$CURRENT_DIR/../compose/cbte") -sed -i "s|/opt/dbeaver-team-server/team-edition-deploy/compose/cbte/|$CBTE_DIR/|g" "$INSTALL_DIR/dbeaver-te" \ No newline at end of file +echo "DBeaver Team Edition manager installed successfully!" +echo "Base directory: $BASE_DIR" +echo "Compose directory: $CBTE_DIR" \ No newline at end of file From 08fdc6625914e19dfe4e66ef960eb164a1ed6805 Mon Sep 17 00:00:00 2001 From: Mikhailov Grigorii <49814763+ggxed@users.noreply.github.com> Date: Tue, 28 Oct 2025 11:49:37 +0100 Subject: [PATCH 3/8] =?UTF-8?q?dbeaver/dbeaver-devops#2173=20Added=20a=20p?= =?UTF-8?q?aragraph=20about=20the=20desktop=20appli=E2=80=A6=20(#175)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * dbeaver/dbeaver-devops#2173 Added a paragraph about the desktop application in main README * dbeaver/dbeaver-devops#2173 Changed link to desktop app * dbeaver/dbeaver-devops#2173 Changed link to desktop app in devel * dbeaver/dbeaver-devops#2173 Added warning about using early access version, updated configs to ea version * dbeaver/dbeaver-devops#2173 Removed msg about default value * dbeaver/dbeaver-devops#2173 Changed warning msg --- AWS/ecs-fargate/README.md | 2 +- AWS/ecs-fargate/variables.tf.example | 2 +- README.md | 12 ++++++++++-- compose/cbte/.env.example | 2 +- k8s/cbte/Chart.yaml | 2 +- k8s/cbte/values.yaml.example | 2 +- 6 files changed, 15 insertions(+), 7 deletions(-) diff --git a/AWS/ecs-fargate/README.md b/AWS/ecs-fargate/README.md index 3d5fdf3..20524fe 100644 --- a/AWS/ecs-fargate/README.md +++ b/AWS/ecs-fargate/README.md @@ -44,7 +44,7 @@ git clone https://github.com/dbeaver/team-edition-deploy.git ![Region](images/region.png) - Ensure that the `alb_certificate_Identifier` variable contains the ID from [AWS Certificate Manager](#importing-an-ssl-certificate-in-aws) corresponding to the domain name specified in the `CLOUDBEAVER_PUBLIC_URL` variable within `variables.tf`. The domain name in `CLOUDBEAVER_PUBLIC_URL` must match the domain for which the certificates have been issued. - - You can customize the deployment version by updating the `dbeaver_te_version` environment variable. The default version is `25.2.0`. + - You can customize the deployment version by updating the `dbeaver_te_version` environment variable. 7. Run `terraform init` and then `terraform apply` in `ecs-fargate` directory to create the ECS cluster and complete the deployment. diff --git a/AWS/ecs-fargate/variables.tf.example b/AWS/ecs-fargate/variables.tf.example index 6d8f283..a37e59d 100644 --- a/AWS/ecs-fargate/variables.tf.example +++ b/AWS/ecs-fargate/variables.tf.example @@ -13,7 +13,7 @@ variable "aws_region" { variable "dbeaver_te_version" { description = "The version of the cluster you want to deploy" type = string - default = "25.2.0" + default = "ea" } variable "alb_certificate_Identifier" { diff --git a/README.md b/README.md index d39be4d..fafa64a 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ ## DBeaver Team Edition -#### Version 25.2 +#### Version 25.3 Early Access + +**Warning:** Please keep in mind that Early Access versions are not as stable as regular releases, and their use in a production environment is not recommended. DBeaver Team Edition is a client-server application. It requires server deployment. You can deploy it on a single host (e.g. your local computer) @@ -32,7 +34,13 @@ After you started the server: - Configure your license - That's it -Now you can use web interface or [desktop clients](https://dbeaver.com/download/team-edition/) to work with your databases +### Desktop Application + +DBeaver Team Edition works in conjunction with a desktop client application. After deploying the server, you can connect to it using: +- **Web interface** – accessible directly through your browser +- **Desktop client** – provides enhanced features and better performance + +Download the desktop client for your platform: [**DBeaver Team Edition Desktop**](https://dbeaver.com/files/ea/team/) ### Server version update Version update is handled differently for different deployment methods. To update the Team Edition version, follow these instructions: diff --git a/compose/cbte/.env.example b/compose/cbte/.env.example index 57af04a..9833717 100644 --- a/compose/cbte/.env.example +++ b/compose/cbte/.env.example @@ -1,6 +1,6 @@ # CloudBeaver TE server version. Based on DockerHub images tag # -CLOUDBEAVER_VERSION_TAG=25.2.0 +CLOUDBEAVER_VERSION_TAG=ea IMAGE_SOURCE=dbeaver PODMAN_IMAGE_SOURCE=docker.io/dbeaver # Domain name of cluster endpoint. eg. dbeaver-te.example.com diff --git a/k8s/cbte/Chart.yaml b/k8s/cbte/Chart.yaml index 7e3833d..ce930c6 100644 --- a/k8s/cbte/Chart.yaml +++ b/k8s/cbte/Chart.yaml @@ -3,4 +3,4 @@ name: cbte description: A Helm chart for CloudBeaver TE application type: application version: 0.0.1 -appVersion: 25.2.0 +appVersion: ea diff --git a/k8s/cbte/values.yaml.example b/k8s/cbte/values.yaml.example index 14c508f..d59e8e8 100644 --- a/k8s/cbte/values.yaml.example +++ b/k8s/cbte/values.yaml.example @@ -4,7 +4,7 @@ # cloudbeaver general values for all TE services cloudbeaver: - imageTag: "25.2.0" + imageTag: "ea" pullPolicy: Always # pullCredsName - name of a secret config map that contains docker repo auths # pullCredsName: regcred From 2a6f81f8a339f638555dee71c61795a12d2a212a Mon Sep 17 00:00:00 2001 From: Mikhailov Grigorii <49814763+ggxed@users.noreply.github.com> Date: Mon, 17 Nov 2025 11:06:27 +0100 Subject: [PATCH 4/8] =?UTF-8?q?dbeaver/dbeaver-devops#2258=20Moved=20kafka?= =?UTF-8?q?=20environment=20from=20deployments=20=E2=80=A6=20(#178)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * dbeaver/dbeaver-devops#2258 Moved kafka environment from deployments to dockerfile env * dbeaver/dbeaver-devops#2258 Changed kafka spec to run in k8s * dbeaver/dbeaver-devops#2258 Added CLOUDBEAVER_KAFKA_BROKERS env for dc --- AWS/ecs-fargate/main.tf | 1 + AWS/ecs-fargate/variables.tf.example | 29 ++++-------------------- compose/cbte/docker-compose-nethost.yml | 5 ---- compose/cbte/docker-compose.yml | 9 -------- compose/cbte/podman-compose.yml | 9 -------- k8s/cbte/templates/deployment/kafka.yaml | 22 ------------------ 6 files changed, 6 insertions(+), 69 deletions(-) diff --git a/AWS/ecs-fargate/main.tf b/AWS/ecs-fargate/main.tf index cfc1374..8d6c5ae 100644 --- a/AWS/ecs-fargate/main.tf +++ b/AWS/ecs-fargate/main.tf @@ -21,6 +21,7 @@ locals { item.name == "CLOUDBEAVER_QM_SERVER_URL" ? format("http://%s-cloudbeaver-qm:8972/qm", var.deployment_id) : item.name == "CLOUDBEAVER_RM_SERVER_URL" ? format("http://%s-cloudbeaver-rm:8971/rm", var.deployment_id) : item.name == "CLOUDBEAVER_TM_SERVER_URL" ? format("http://%s-cloudbeaver-tm:8973/tm", var.deployment_id) : + item.name == "CLOUDBEAVER_KAFKA_BROKERS" ? format("http://%s-kafka:9092", var.deployment_id) : item.value ) } diff --git a/AWS/ecs-fargate/variables.tf.example b/AWS/ecs-fargate/variables.tf.example index a37e59d..91de879 100644 --- a/AWS/ecs-fargate/variables.tf.example +++ b/AWS/ecs-fargate/variables.tf.example @@ -97,30 +97,7 @@ variable "private_subnet_cidrs" { variable "cloudbeaver-kafka-env" { # type = map(string) - default = [ - { "name" : "KAFKA_CFG_NODE_ID", - "value" : "0" }, - { "name" : "KAFKA_BROKER_ID", - "value" : "0" }, - { "name" : "KAFKA_ENABLE_KRAFT", - "value" : "yes" }, - { "name" : "ALLOW_PLAINTEXT_LISTENER", - "value" : "yes" }, - { "name" : "KAFKA_CFG_PROCESS_ROLES", - "value" : "controller,broker" }, - { "name" : "KAFKA_CFG_CONTROLLER_QUORUM_VOTERS", - "value" : "0@127.0.0.1:9093" }, - { "name" : "KAFKA_CFG_LISTENERS", - "value" : "PLAINTEXT://:9092,CONTROLLER://:9093" }, - { "name" : "KAFKA_CFG_ADVERTISED_LISTENERS", - "value" : "PLAINTEXT://:9092" }, - { "name" : "KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP", - "value" : "CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT" }, - { "name" : "KAFKA_CFG_CONTROLLER_LISTENER_NAMES", - "value" : "CONTROLLER" }, - { "name" : "KAFKA_CFG_INTER_BROKER_LISTENER_NAME", - "value" : "PLAINTEXT" } - ] + default = [] } @@ -193,6 +170,10 @@ variable "cloudbeaver-dc-env" { { "name": "CLOUDBEAVER_PUBLIC_URL", "value": "https://cloudbeaver.io" + }, + { + "name": "CLOUDBEAVER_KAFKA_BROKERS", + "value": "kafka:9092" }] } diff --git a/compose/cbte/docker-compose-nethost.yml b/compose/cbte/docker-compose-nethost.yml index ff22754..738427d 100644 --- a/compose/cbte/docker-compose-nethost.yml +++ b/compose/cbte/docker-compose-nethost.yml @@ -35,14 +35,9 @@ services: image: ${IMAGE_SOURCE:-dbeaver}/cloudbeaver-kafka:3.9 network_mode: host environment: - - KAFKA_CFG_NODE_ID=0 - - KAFKA_CFG_PROCESS_ROLES=controller,broker - KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@127.0.0.1:9093 - KAFKA_CFG_LISTENERS=PLAINTEXT://127.0.0.1:9092,CONTROLLER://127.0.0.1:9093 - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9092 - - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT - - KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER - - KAFKA_CFG_INTER_BROKER_LISTENER_NAME=PLAINTEXT postgres: restart: unless-stopped diff --git a/compose/cbte/docker-compose.yml b/compose/cbte/docker-compose.yml index fecdd49..f04a101 100644 --- a/compose/cbte/docker-compose.yml +++ b/compose/cbte/docker-compose.yml @@ -38,15 +38,6 @@ services: hostname: kafka expose: - 9092 - environment: - - KAFKA_CFG_NODE_ID=0 - - KAFKA_CFG_PROCESS_ROLES=controller,broker - - KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka:9093 - - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093 - - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://:9092 - - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT - - KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER - - KAFKA_CFG_INTER_BROKER_LISTENER_NAME=PLAINTEXT networks: - cloudbeaver-te-private-net postgres: diff --git a/compose/cbte/podman-compose.yml b/compose/cbte/podman-compose.yml index 26b0c6c..c528dc9 100644 --- a/compose/cbte/podman-compose.yml +++ b/compose/cbte/podman-compose.yml @@ -43,15 +43,6 @@ services: hostname: kafka expose: - 9092 - environment: - - KAFKA_CFG_NODE_ID=0 - - KAFKA_CFG_PROCESS_ROLES=controller,broker - - KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka:9093 - - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093 - - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://:9092 - - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT - - KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER - - KAFKA_CFG_INTER_BROKER_LISTENER_NAME=PLAINTEXT networks: - cloudbeaver-te-private-net postgres: diff --git a/k8s/cbte/templates/deployment/kafka.yaml b/k8s/cbte/templates/deployment/kafka.yaml index 491beb4..1641995 100644 --- a/k8s/cbte/templates/deployment/kafka.yaml +++ b/k8s/cbte/templates/deployment/kafka.yaml @@ -17,32 +17,10 @@ spec: {{ .Release.Name }}-net: "true" app: kafka spec: - securityContext: - runAsUser: 1001 - fsGroup: 1001 containers: - image: dbeaver/cloudbeaver-kafka:3.9 imagePullPolicy: "IfNotPresent" name: kafka - env: - # KRaft settings - - name: KAFKA_CFG_NODE_ID - value: "0" - - name: KAFKA_CFG_PROCESS_ROLES - value: "controller,broker" - - name: KAFKA_CFG_CONTROLLER_QUORUM_VOTERS - value: "0@kafka:9093" - # Listeners - - name: KAFKA_CFG_LISTENERS - value: "PLAINTEXT://:9092,CONTROLLER://:9093" - - name: KAFKA_CFG_ADVERTISED_LISTENERS - value: "PLAINTEXT://:9092" - - name: KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP - value: "CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT" - - name: KAFKA_CFG_CONTROLLER_LISTENER_NAMES - value: "CONTROLLER" - - name: KAFKA_CFG_INTER_BROKER_LISTENER_NAME - value: "PLAINTEXT" ports: - containerPort: 9092 resources: {} From 52addd63ee10f9ff4493a77e2377f52fe27c6f8f Mon Sep 17 00:00:00 2001 From: Mikhailov Grigorii <49814763+ggxed@users.noreply.github.com> Date: Thu, 20 Nov 2025 13:51:04 +0100 Subject: [PATCH 5/8] dbeaver/dbeaver-devops#2284 Added configuration of image source for kafka and postgres in k8s deployment with default params (#179) --- k8s/cbte/templates/deployment/db.yaml | 2 +- k8s/cbte/templates/deployment/kafka.yaml | 2 +- k8s/cbte/values.yaml.example | 4 ++++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/k8s/cbte/templates/deployment/db.yaml b/k8s/cbte/templates/deployment/db.yaml index d2a05b1..0086dc0 100644 --- a/k8s/cbte/templates/deployment/db.yaml +++ b/k8s/cbte/templates/deployment/db.yaml @@ -19,7 +19,7 @@ spec: app: db spec: containers: - - image: dbeaver/cloudbeaver-postgres:13 + - image: "{{ .Values.postgres.image | default "dbeaver/cloudbeaver-postgres:13" }}" imagePullPolicy: "IfNotPresent" name: postgres env: diff --git a/k8s/cbte/templates/deployment/kafka.yaml b/k8s/cbte/templates/deployment/kafka.yaml index 1641995..92fcf31 100644 --- a/k8s/cbte/templates/deployment/kafka.yaml +++ b/k8s/cbte/templates/deployment/kafka.yaml @@ -18,7 +18,7 @@ spec: app: kafka spec: containers: - - image: dbeaver/cloudbeaver-kafka:3.9 + - image: "{{ .Values.kafka.image | default "dbeaver/cloudbeaver-kafka:3.9" }}" imagePullPolicy: "IfNotPresent" name: kafka ports: diff --git a/k8s/cbte/values.yaml.example b/k8s/cbte/values.yaml.example index d59e8e8..b65ea22 100644 --- a/k8s/cbte/values.yaml.example +++ b/k8s/cbte/values.yaml.example @@ -44,6 +44,10 @@ cloudbeaverQM: cloudbeaverTM: replicaCount: 1 image: dbeaver/cloudbeaver-tm +kafka: + image: "dbeaver/cloudbeaver-kafka:3.9" +postgres: + image: "dbeaver/cloudbeaver-postgres:13" # Cloud storage configuration # By default is None, it means not cloud deployment From 68fc0b14951e96676d5a5069b22925da6d5665ee Mon Sep 17 00:00:00 2001 From: Greg Miller Date: Mon, 1 Dec 2025 16:52:52 +0100 Subject: [PATCH 6/8] dbeaver/dbeaver-devops#2304 Update version to 25.3.0 --- AWS/ecs-fargate/variables.tf.example | 2 +- README.md | 7 +++---- k8s/cbte/Chart.yaml | 2 +- k8s/cbte/values.yaml.example | 2 +- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/AWS/ecs-fargate/variables.tf.example b/AWS/ecs-fargate/variables.tf.example index 91de879..9417484 100644 --- a/AWS/ecs-fargate/variables.tf.example +++ b/AWS/ecs-fargate/variables.tf.example @@ -13,7 +13,7 @@ variable "aws_region" { variable "dbeaver_te_version" { description = "The version of the cluster you want to deploy" type = string - default = "ea" + default = "25.3.0" } variable "alb_certificate_Identifier" { diff --git a/README.md b/README.md index fafa64a..51bcbe2 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,6 @@ ## DBeaver Team Edition -#### Version 25.3 Early Access - -**Warning:** Please keep in mind that Early Access versions are not as stable as regular releases, and their use in a production environment is not recommended. +#### Version 25.3.0 DBeaver Team Edition is a client-server application. It requires server deployment. You can deploy it on a single host (e.g. your local computer) @@ -40,7 +38,7 @@ DBeaver Team Edition works in conjunction with a desktop client application. Aft - **Web interface** – accessible directly through your browser - **Desktop client** – provides enhanced features and better performance -Download the desktop client for your platform: [**DBeaver Team Edition Desktop**](https://dbeaver.com/files/ea/team/) +Download the desktop client for your platform: [**DBeaver Team Edition Desktop**](https://dbeaver.com/downloads-team/25.3.0/) ### Server version update Version update is handled differently for different deployment methods. To update the Team Edition version, follow these instructions: @@ -62,6 +60,7 @@ To change an internal PostgreSQL password use [this instruction](CHANGEPWD.md#ho - [Early access](https://github.com/dbeaver/team-edition-deploy/tree/devel) ### Older versions: +- [25.2.0](https://github.com/dbeaver/team-edition-deploy/tree/25.2.0) - [25.1.0](https://github.com/dbeaver/team-edition-deploy/tree/25.1.0) - [25.0.0](https://github.com/dbeaver/team-edition-deploy/tree/25.0.0) - [24.3.0](https://github.com/dbeaver/team-edition-deploy/tree/24.3.0) diff --git a/k8s/cbte/Chart.yaml b/k8s/cbte/Chart.yaml index ce930c6..9449a26 100644 --- a/k8s/cbte/Chart.yaml +++ b/k8s/cbte/Chart.yaml @@ -3,4 +3,4 @@ name: cbte description: A Helm chart for CloudBeaver TE application type: application version: 0.0.1 -appVersion: ea +appVersion: 25.3.0 diff --git a/k8s/cbte/values.yaml.example b/k8s/cbte/values.yaml.example index b65ea22..51bc338 100644 --- a/k8s/cbte/values.yaml.example +++ b/k8s/cbte/values.yaml.example @@ -4,7 +4,7 @@ # cloudbeaver general values for all TE services cloudbeaver: - imageTag: "ea" + imageTag: "25.3.0" pullPolicy: Always # pullCredsName - name of a secret config map that contains docker repo auths # pullCredsName: regcred From f573d3e5384c578e04817b450a5ebe83f64d4f39 Mon Sep 17 00:00:00 2001 From: Greg Miller Date: Mon, 1 Dec 2025 17:03:42 +0100 Subject: [PATCH 7/8] dbeaver/dbeaver-devops#2304 Update version to 25.3.0 .env --- compose/cbte/.env.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compose/cbte/.env.example b/compose/cbte/.env.example index 9833717..7b7f36b 100644 --- a/compose/cbte/.env.example +++ b/compose/cbte/.env.example @@ -1,6 +1,6 @@ # CloudBeaver TE server version. Based on DockerHub images tag # -CLOUDBEAVER_VERSION_TAG=ea +CLOUDBEAVER_VERSION_TAG=25.3.0 IMAGE_SOURCE=dbeaver PODMAN_IMAGE_SOURCE=docker.io/dbeaver # Domain name of cluster endpoint. eg. dbeaver-te.example.com From 0e37a4ec0c3030b85b6d8bdea7051f11c4ee90c4 Mon Sep 17 00:00:00 2001 From: Greg Miller Date: Tue, 2 Dec 2025 18:26:48 +0100 Subject: [PATCH 8/8] dbeaver/dbeaver-devops#2304 Fix version in topic --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 51bcbe2..ca58da5 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ ## DBeaver Team Edition -#### Version 25.3.0 +#### Version 25.3 DBeaver Team Edition is a client-server application. It requires server deployment. You can deploy it on a single host (e.g. your local computer)