Saltar para o conteúdo principal
Versão Next 🚧

Configuração do CloudBeaver

O chart tdp-cloudbeaver empacota o CloudBeaver 25.2.3 para Kubernetes, uma interface web para administração de bancos de dados.

O que é o CloudBeaver?

O CloudBeaver é a versão web do DBeaver — uma ferramenta de administração e consulta de bancos de dados acessível pelo navegador, sem necessidade de instalar nada no computador do usuário.

No contexto do TDP, o CloudBeaver é a interface centralizada para explorar e consultar dados no ClickHouse, Trino e PostgreSQL diretamente pelo browser.

Para saber mais

Consulte CloudBeaver — Conceitos para uma visão completa da ferramenta, sua arquitetura e funcionamento.

Por que usar o CloudBeaver no TDP?

No TDP Kubernetes, os bancos de dados ficam dentro do cluster e não são acessíveis diretamente da sua máquina.

O CloudBeaver resolve esse problema: ele roda dentro do cluster, tem acesso a todos os serviços de banco de dados, e você acessa tudo via um único endereço web.

Componentes implantados

ComponenteDescrição
CloudBeaver ServerServidor web que gerencia conexões e sessões
WorkspaceVolume persistente com configurações e workspaces dos usuários
PostgreSQL externo (opcional)Banco de metadados do CloudBeaver (configurações, usuários) quando database.enabled=true
Auto-configuração

O chart suporta autoConfig.enabled=true para pular o wizard de configuração inicial. Use quando quiser que o CloudBeaver já inicie configurado, sem precisar passar pelo setup manual na primeira vez.

A distribuição inclui apenas values.yaml; não versione credenciais reais — use values privados e/ou Secrets.

Instalação (OCI)

Os charts TDP são distribuídos via registry OCI da Tecnisys. Consulte Registry de Helm Charts na Configuração Geral para informações sobre autenticação.

Terminal input
helm upgrade --install <release> \
oci://registry.tecnisys.com.br/tdp/tdp-cloudbeaver \
-n <namespace> --create-namespace \
-f meu-values.yaml

Integração com ClickHouse

tdp-cloudbeaver:
dataSources:
enabled: true
enabledClickhouse: true
clickhouseHost: "<clickhouse-service>.<namespace>.svc.cluster.local"
clickhousePort: 8123
database: "default"
user: "tdpuser"
clickhouseTdpUser:
enabled: true
password: "<password>"

Em produção, prefira passwordSecret / Secret criado fora do Helm em vez de senha em texto no values.

Secret (referência)

Terminal input
kubectl create secret generic <clickhouse-secret-name> \
--from-literal=password='<password>' \
-n <namespace>
tdp-cloudbeaver:
dataSources:
enabled: true
passwordSecret:
name: <clickhouse-secret-name>
key: password
secret:
enabled: false

Integração com Trino

tdp-cloudbeaver:
dataSources:
enabled: true
enabledTrino: true
nameConnector: "Trino TDP"
trinoHost: "<trino-service>.<namespace>.svc.cluster.local"
trinoPort: 8080
database: "default"
user: "admin"

Banco de dados externo (PostgreSQL)

tdp-cloudbeaver:
database:
enabled: true
type: "postgresql"
host: "<postgresql-service>.<namespace>.svc.cluster.local"
port: "5432"
databaseName: "cloudbeaver_db"
schema: "public"
user: "cloudbeaver_user"
driver: "postgres-jdbc"
passwordSecret:
name: "cloudbeaver-db-secret"
key: "password"
postgresSecret:
name: "<postgresql-release-secret-name>"
key: "postgres-password"

Variáveis de ambiente (exemplo)

tdp-cloudbeaver:
extraEnvVars:
- name: CLOUDBEAVER_DB_DRIVER
value: "postgres-jdbc"
- name: CLOUDBEAVER_DB_URL
value: "jdbc:postgresql://<postgresql-host>:5432/cloudbeaver_db"
- name: CLOUDBEAVER_DB_SCHEMA
value: "public"
- name: CLOUDBEAVER_DB_USER
value: "cloudbeaver_user"
- name: CLOUDBEAVER_DB_PASSWORD
valueFrom:
secretKeyRef:
name: cloudbeaver-db-secret
key: password

S3 / MinIO (extraEnvVars)

Terminal input
kubectl create secret generic cloudbeaver-s3-credentials \
--from-literal=access-key='<access-key>' \
--from-literal=secret-key='<secret-key>' \
-n <namespace>
tdp-cloudbeaver:
extraEnvVars:
- name: AWS_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: cloudbeaver-s3-credentials
key: access-key
- name: AWS_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: cloudbeaver-s3-credentials
key: secret-key
- name: AWS_DEFAULT_REGION
value: "us-east-1"
- name: S3_ENDPOINT
value: "https://<s3-or-minio-host>"
- name: S3_BUCKET
value: "<bucket-name>"

Configuração automática (skip setup wizard)

tdp-cloudbeaver:
autoConfig:
enabled: true
name: tdp-cloudbeaver-auto-config
serverName: "TDP - CloudBeaver"
serverURL: "http://0.0.0.0:8978"
adminName: cbadmin
adminPassword: "<admin-password>"
extraVolumes:
- name: auto-config
configMap:
name: tdp-cloudbeaver-auto-config
extraVolumeMounts:
- name: auto-config
mountPath: /opt/cloudbeaver/conf/.cloudbeaver.auto.conf
subPath: .cloudbeaver.auto.conf
readOnly: true
Atenção

Exige workspace vazio. Se já houve uso, remova o PVC antes de reinstalar (consulte a documentação do chart ou helm show values para o comportamento exato).

Terminal input
helm uninstall <release> -n <namespace>
kubectl delete pvc -n <namespace> -l <seletor-do-release>

Ingress

Consulte Ingress — CloudBeaver.

Ambiente de desenvolvimento (recursos menores)

tdp-cloudbeaver:
service:
type: ClusterIP
resources:
limits:
cpu: "500m"
memory: "1Gi"
requests:
cpu: "250m"
memory: "512Mi"
persistence:
size: 2Gi

Acesso

NodePort

Terminal input
kubectl get svc -n <namespace> <service-name> \
-o jsonpath='{.spec.ports[0].nodePort}'
kubectl get nodes -o wide

URL: http://<node-ip>:<nodeport>.

Port-forward

Terminal input
kubectl port-forward -n <namespace> svc/<service-name> 8978:8978

Abra http://localhost:8978.

Parâmetros principais

ParâmetroDescrição
tdp-cloudbeaver.service.typeTipo de Service (ex.: NodePort)
tdp-cloudbeaver.persistence.*PVC
tdp-cloudbeaver.ingress.*Ingress opcional
tdp-cloudbeaver.dataSources.*ClickHouse / Trino
tdp-cloudbeaver.database.*PostgreSQL de metadados
tdp-cloudbeaver.autoConfig.*Configuração inicial automática

Lista completa no values.yaml do chart.

Resolução de Problemas

Terminal input
kubectl logs -n <namespace> -l app.kubernetes.io/name=tdp-cloudbeaver
kubectl get jobs -n <namespace>
kubectl logs -n <namespace> -l job-name=tdp-cloudbeaver-create-db