[GH-ISSUE #1940] Deploy cloudbeaver with custom server configurations in Kubernetes Cluster #569

Closed
opened 2026-03-07 20:51:24 +03:00 by kerem · 0 comments
Owner

Originally created by @stefan-geiger-mw on GitHub (Aug 22, 2023).
Original GitHub issue: https://github.com/dbeaver/cloudbeaver/issues/1940

Originally assigned to: @alexander-skoblikov on GitHub.

Hi together,
I want to deploy cloudbeaver with custom server configurations into my Kubernetes cluster (in detail: I want to increase the dataExportFileSizeLimit). I have the following setup (Kubernetes Deployment and ConfigMap):

apiVersion: apps/v1
kind: Deployment
metadata:
  name:  {{ include "app.name" . }}
  labels:
    app.kubernetes.io/name: {{ include "app.name" . }}
    team: platform
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: {{ include "app.name" . }}
  strategy:
    type: Recreate # necessary to avoid hick ups with persistentVolumeClaim
  template:
    metadata:
      labels:
        app.kubernetes.io/name: {{ include "app.name" . }}
    spec:
      restartPolicy: Always
      containers:
        - name:  {{ include "app.name" . }}
          image: somePrivateRegistry:23.0.0
          imagePullPolicy: Always
          ports:
          - containerPort: 8978
            name: http
          env:
          - name: CB_ADMIN_NAME
            valueFrom:
              secretKeyRef:
                name: secrets-cloudbeaver-credentials
                key: cb_admin_user
          - name: CB_ADMIN_PASSWORD
            valueFrom:
              secretKeyRef:
                name: secrets-cloudbeaver-credentials
                key: cb_admin_password
          - name: CB_SERVER_NAME
            value: {{ .Values.cb_server_name }}
          - name: CB_SERVER_URL
            value: {{ .Values.host }}
          resources:
            {{- toYaml .Values.deployment.resources | nindent 12 }}
          volumeMounts:
            - name: data
              mountPath: /opt/cloudbeaver/workspace
              subPath:  {{ include "app.name" . }}
            - name: cloudbeaver-server
              mountPath: /opt/cloudbeaver/conf/cloudbeaver.conf
              subPath: cloudbeaver.conf
      volumes:
        - name: data
          persistentVolumeClaim:
            claimName:  {{ include "app.name" . }}-pvc
        - name: cloudbeaver-server
          configMap:
            name: cloudbeaver-server-configmap

and

apiVersion: v1
kind: ConfigMap
metadata:
  name: cloudbeaver-server-configmap
data:
  'cloudbeaver.conf': |-
    {
      server: {
        serverPort: 8978,

        workspaceLocation: "workspace",
        contentRoot: "web",
        driversLocation: "drivers",

        rootURI: "/",
        serviceURI: "/api/",

        productConfiguration: "conf/product.conf",

        expireSessionAfterPeriod: 1800000,

        develMode: false,

        enableSecurityManager: false,

        database: {
                    driver="h2_embedded",
          url: "jdbc:h2:${workspace}/.data/cb.h2.dat",

          createDatabase: true,

          initialDataConfiguration: "conf/initial-data.conf",

          pool: {
            minIdleConnections: 4,
            maxIdleConnections: 10,
            maxConnections: 100,
            validationQuery: "SELECT 1"
          }
        }

      },
      app: {
        anonymousAccessEnabled: true,
        anonymousUserRole: "user",
        grantConnectionsAccessToAnonymousTeam: false,
        supportsCustomConnections: false,
        showReadOnlyConnectionInfo: false,

        forwardProxy: false,

        publicCredentialsSaveEnabled: true,
        adminCredentialsSaveEnabled: true,

        resourceManagerEnabled: true,

        resourceQuotas: {
          dataExportFileSizeLimit: 20000000,
          resourceManagerFileSizeLimit: 500000,
          sqlMaxRunningQueries: 100,
          sqlResultSetRowsLimit: 100000,
          sqlResultSetMemoryLimit: 2000000,
          sqlTextPreviewMaxLength: 4096,
          sqlBinaryPreviewMaxLength: 261120
        },
        enabledAuthProviders: [
          "local"
        ],

        disabledDrivers: [
          "sqlite:sqlite_jdbc",
          "h2:h2_embedded",
          "clickhouse:yandex_clickhouse"
        ]
      }
    }

When I exec into the starting container, I can see that the actual run config .cloudbeaver.runtime.conf in /opt/cloudbeaver/workspace/.data is still showing the old dataExportFileSizeLimit.

Do I have to mount the config somewhere different? Are there alternatives to change this server configurations? I appreciate any help very much.

Originally created by @stefan-geiger-mw on GitHub (Aug 22, 2023). Original GitHub issue: https://github.com/dbeaver/cloudbeaver/issues/1940 Originally assigned to: @alexander-skoblikov on GitHub. Hi together, I want to deploy cloudbeaver with custom server configurations into my Kubernetes cluster (in detail: I want to increase the dataExportFileSizeLimit). I have the following setup (Kubernetes Deployment and ConfigMap): ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: {{ include "app.name" . }} labels: app.kubernetes.io/name: {{ include "app.name" . }} team: platform spec: replicas: 1 selector: matchLabels: app.kubernetes.io/name: {{ include "app.name" . }} strategy: type: Recreate # necessary to avoid hick ups with persistentVolumeClaim template: metadata: labels: app.kubernetes.io/name: {{ include "app.name" . }} spec: restartPolicy: Always containers: - name: {{ include "app.name" . }} image: somePrivateRegistry:23.0.0 imagePullPolicy: Always ports: - containerPort: 8978 name: http env: - name: CB_ADMIN_NAME valueFrom: secretKeyRef: name: secrets-cloudbeaver-credentials key: cb_admin_user - name: CB_ADMIN_PASSWORD valueFrom: secretKeyRef: name: secrets-cloudbeaver-credentials key: cb_admin_password - name: CB_SERVER_NAME value: {{ .Values.cb_server_name }} - name: CB_SERVER_URL value: {{ .Values.host }} resources: {{- toYaml .Values.deployment.resources | nindent 12 }} volumeMounts: - name: data mountPath: /opt/cloudbeaver/workspace subPath: {{ include "app.name" . }} - name: cloudbeaver-server mountPath: /opt/cloudbeaver/conf/cloudbeaver.conf subPath: cloudbeaver.conf volumes: - name: data persistentVolumeClaim: claimName: {{ include "app.name" . }}-pvc - name: cloudbeaver-server configMap: name: cloudbeaver-server-configmap ``` and ```yaml apiVersion: v1 kind: ConfigMap metadata: name: cloudbeaver-server-configmap data: 'cloudbeaver.conf': |- { server: { serverPort: 8978, workspaceLocation: "workspace", contentRoot: "web", driversLocation: "drivers", rootURI: "/", serviceURI: "/api/", productConfiguration: "conf/product.conf", expireSessionAfterPeriod: 1800000, develMode: false, enableSecurityManager: false, database: { driver="h2_embedded", url: "jdbc:h2:${workspace}/.data/cb.h2.dat", createDatabase: true, initialDataConfiguration: "conf/initial-data.conf", pool: { minIdleConnections: 4, maxIdleConnections: 10, maxConnections: 100, validationQuery: "SELECT 1" } } }, app: { anonymousAccessEnabled: true, anonymousUserRole: "user", grantConnectionsAccessToAnonymousTeam: false, supportsCustomConnections: false, showReadOnlyConnectionInfo: false, forwardProxy: false, publicCredentialsSaveEnabled: true, adminCredentialsSaveEnabled: true, resourceManagerEnabled: true, resourceQuotas: { dataExportFileSizeLimit: 20000000, resourceManagerFileSizeLimit: 500000, sqlMaxRunningQueries: 100, sqlResultSetRowsLimit: 100000, sqlResultSetMemoryLimit: 2000000, sqlTextPreviewMaxLength: 4096, sqlBinaryPreviewMaxLength: 261120 }, enabledAuthProviders: [ "local" ], disabledDrivers: [ "sqlite:sqlite_jdbc", "h2:h2_embedded", "clickhouse:yandex_clickhouse" ] } } ``` When I exec into the starting container, I can see that the actual run config .cloudbeaver.runtime.conf in /opt/cloudbeaver/workspace/.data is still showing the old dataExportFileSizeLimit. Do I have to mount the config somewhere different? Are there alternatives to change this server configurations? I appreciate any help very much.
kerem 2026-03-07 20:51:24 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/cloudbeaver#569
No description provided.