| # Licensed to the Apache Software Foundation (ASF) under one or more |
| # contributor license agreements. See the NOTICE file distributed with |
| # this work for additional information regarding copyright ownership. |
| # The ASF licenses this file to You under the Apache License, Version 2.0 |
| # (the "License"); you may not use this file except in compliance with |
| # the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| # Default values for banyandb. |
| # This is a YAML-formatted file. |
| # Declare variables to be passed into your templates. |
| |
| ## @section Common configuration |
| ## |
| |
| ## @param fullnameOverride Override the full name of the chart |
| ## |
| fullnameOverride: "" |
| ## @param nameOverride Override the name of the chart |
| ## |
| nameOverride: "banyandb" |
| |
| ## @section Container image configuration |
| ## |
| image: |
| ## @param image.repository Docker repository for SkyWalking BanyanDB |
| ## |
| repository: docker.io/apache/skywalking-banyandb |
| ## @param image.tag Image tag/version (empty for latest) |
| ## |
| tag: "" |
| ## @param image.pullPolicy Image pull policy (e.g. IfNotPresent) |
| ## |
| pullPolicy: IfNotPresent |
| |
| ## @section Authentication configuration for BanyanDB |
| ## |
| auth: |
| ## @param auth.enabled Enable basic authentication (boolean) |
| ## Defaults to false. When enabled, the chart mounts a credentials file and |
| ## passes --auth-config-file to liaison/standalone. |
| ## |
| enabled: false |
| |
| ## @param auth.existingSecret Use an existing Secret for credentials |
| ## If set, the chart will NOT create a Secret and will mount this Secret |
| ## instead. The Secret must contain a key specified by auth.credentialsFileKey |
| ## whose value is the YAML-formatted credentials content. |
| ## |
| existingSecret: "" |
| |
| ## @param auth.credentialsFileKey Key name in the Secret that stores the |
| ## credentials YAML. This filename will also be used inside the pod via subPath. |
| ## |
| credentialsFileKey: "credentials.yaml" |
| |
| ## @param auth.users List of users to configure when not using existingSecret |
| ## Each user item must include plaintext fields: username, password. |
| ## If empty and auth.enabled=true, a default 'admin' user with a random |
| ## password will be generated. |
| ## Example: |
| ## users: |
| ## - username: admin |
| ## password: "changeme" |
| ## - username: viewer |
| ## password: "123456" |
| ## |
| users: [] |
| |
| ## @section Configuration for standalone deployment |
| ## |
| standalone: |
| ## @param standalone.enabled Enable standalone mode (boolean) |
| ## |
| enabled: false |
| ## @param standalone.podAnnotations Additional pod annotations |
| ## |
| podAnnotations: {} |
| ## @param standalone.securityContext Security context for the pod |
| ## |
| securityContext: {} |
| ## @param standalone.containerSecurityContext Container-level security context |
| ## e.g. { readOnlyRootFilesystem: true, allowPrivilegeEscalation: false, runAsNonRoot: true } |
| containerSecurityContext: {} |
| ## @param standalone.tls TLS configuration for the standalone pod |
| ## When set, provide optional secret names to mount TLS materials. |
| ## Example: |
| ## tls: |
| ## grpcSecretName: "my-grpc-tls" |
| ## httpSecretName: "my-http-tls" |
| tls: {} |
| ## Volume permissions init container |
| ## @param standalone.volumePermissions.enabled Enable volume permissions init container |
| volumePermissions: |
| enabled: false |
| ## @param standalone.volumePermissions.chownUser User ID to chown the mounted volumes |
| chownUser: 1000 |
| ## @param standalone.volumePermissions.chownGroup Group ID to chown the mounted volumes |
| chownGroup: 1000 |
| ## @param standalone.volumePermissions.image Image for the volume permissions init container |
| image: busybox:1.36 |
| ## @param standalone.env Environment variables for the pod |
| ## |
| env: [] |
| ## @param standalone.priorityClassName Priority class name for the pod |
| ## |
| priorityClassName: "" |
| ## @param standalone.podDisruptionBudget Pod disruption budget configuration |
| ## |
| podDisruptionBudget: {} |
| ## @param standalone.tolerations Tolerations for pod scheduling |
| ## |
| tolerations: [] |
| ## @param standalone.nodeSelector Node selector for pod scheduling |
| ## |
| nodeSelector: [] |
| ## @param standalone.affinity Affinity rules for pod scheduling |
| ## |
| affinity: {} |
| ## @param standalone.resources Resource requests/limits for the pod |
| ## |
| resources: {} |
| ## GRPC service settings |
| ## |
| grpcSvc: |
| ## @param standalone.grpcSvc.labels Labels for GRPC service |
| ## |
| labels: {} |
| ## @param standalone.grpcSvc.annotations Annotations for GRPC service |
| ## |
| annotations: {} |
| ## @param standalone.grpcSvc.port Port number for GRPC service |
| ## |
| port: 17912 |
| ## HTTP service settings |
| ## |
| httpSvc: |
| ## @param standalone.httpSvc.labels Labels for HTTP service |
| ## |
| labels: {} |
| ## @param standalone.httpSvc.annotations Annotations for HTTP service |
| ## |
| annotations: {} |
| ## @param standalone.httpSvc.port Port number for HTTP service |
| ## |
| port: 17913 |
| ## @param standalone.httpSvc.type Service type (e.g., LoadBalancer) |
| ## |
| type: LoadBalancer |
| ## @param standalone.httpSvc.externalIPs External IP addresses for the service |
| ## |
| externalIPs: [] |
| ## @param standalone.httpSvc.loadBalancerIP Load balancer IP address |
| ## |
| loadBalancerIP: null |
| ## @param standalone.httpSvc.loadBalancerSourceRanges Allowed source ranges for the load balancer |
| ## |
| loadBalancerSourceRanges: [] |
| ## Ingress configuration |
| ## |
| ingress: |
| ## @param standalone.ingress.enabled Enable ingress (boolean) |
| ## |
| enabled: false |
| ## @param standalone.ingress.labels Labels for ingress |
| ## |
| labels: {} |
| ## @param standalone.ingress.annotations Annotations for ingress |
| ## |
| annotations: {} |
| ## @param standalone.ingress.rules Ingress routing rules |
| ## |
| rules: [] |
| ## @param standalone.ingress.tls TLS configuration for ingress |
| ## |
| tls: [] |
| ## @param standalone.sidecar Sidecar container configurations |
| ## |
| sidecar: [] |
| ## Liveness probe configuration |
| ## |
| livenessProbe: |
| ## @param standalone.livenessProbe.initialDelaySeconds Initial delay for liveness probe |
| ## |
| initialDelaySeconds: 20 |
| ## @param standalone.livenessProbe.periodSeconds Probe period in seconds |
| ## |
| periodSeconds: 30 |
| ## @param standalone.livenessProbe.timeoutSeconds Probe timeout in seconds |
| ## |
| timeoutSeconds: 5 |
| ## @param standalone.livenessProbe.successThreshold Number of successful probes |
| ## |
| successThreshold: 1 |
| ## @param standalone.livenessProbe.failureThreshold Number of failed probes |
| ## |
| failureThreshold: 5 |
| ## Readiness probe configuration |
| ## |
| readinessProbe: |
| ## @param standalone.readinessProbe.initialDelaySeconds Initial delay for readiness probe |
| ## |
| initialDelaySeconds: 20 |
| ## @param standalone.readinessProbe.periodSeconds Probe period for readiness probe |
| ## |
| periodSeconds: 30 |
| ## @param standalone.readinessProbe.timeoutSeconds Timeout in seconds for readiness probe |
| ## |
| timeoutSeconds: 5 |
| ## @param standalone.readinessProbe.successThreshold Number of successful readiness probes |
| ## |
| successThreshold: 1 |
| ## @param standalone.readinessProbe.failureThreshold Number of failed readiness probes before marked unready |
| ## |
| failureThreshold: 5 |
| ## Startup probe configuration |
| ## |
| startupProbe: |
| ## @param standalone.startupProbe.initialDelaySeconds Initial delay for startup probe |
| ## |
| initialDelaySeconds: 0 |
| ## @param standalone.startupProbe.periodSeconds Probe period for startup probe |
| ## |
| periodSeconds: 10 |
| ## @param standalone.startupProbe.timeoutSeconds Timeout in seconds for startup probe |
| ## |
| timeoutSeconds: 5 |
| ## @param standalone.startupProbe.successThreshold Number of successful startup probes |
| ## |
| successThreshold: 1 |
| ## @param standalone.startupProbe.failureThreshold Number of failed startup probes before timeout |
| ## |
| failureThreshold: 60 |
| |
| ## @section Cluster mode configuration |
| ## |
| cluster: |
| ## @param cluster.enabled Enable cluster mode (boolean) |
| ## |
| enabled: true |
| ## @param cluster.etcdEndpoints List of etcd endpoints |
| ## |
| etcdEndpoints: [] |
| ## @section Configuration for liaison component |
| ## |
| liaison: |
| ## @param cluster.liaison.replicas Number of liaison replicas |
| ## |
| replicas: 2 |
| ## @param cluster.liaison.podAnnotations Pod annotations for liaison |
| ## |
| podAnnotations: {} |
| ## @param cluster.liaison.securityContext Security context for liaison pods |
| ## |
| securityContext: {} |
| ## @param cluster.liaison.containerSecurityContext Container-level security context for liaison |
| ## e.g. { readOnlyRootFilesystem: true, allowPrivilegeEscalation: false, runAsNonRoot: true } |
| containerSecurityContext: {} |
| ## Volume permissions init container |
| ## @param cluster.liaison.volumePermissions.enabled Enable volume permissions init container for liaison |
| volumePermissions: |
| enabled: false |
| ## @param cluster.liaison.volumePermissions.chownUser User ID to chown the mounted volumes for liaison |
| chownUser: 1000 |
| ## @param cluster.liaison.volumePermissions.chownGroup Group ID to chown the mounted volumes for liaison |
| chownGroup: 1000 |
| ## @param cluster.liaison.volumePermissions.image Image for the volume permissions init container for liaison |
| image: busybox:1.36 |
| ## @param cluster.liaison.env Environment variables for liaison pods |
| ## |
| env: [] |
| ## @param cluster.liaison.priorityClassName Priority class name for liaison pods |
| ## |
| priorityClassName: "" |
| ## Update strategy for liaison pods |
| ## |
| updateStrategy: |
| ## @param cluster.liaison.updateStrategy.type Update strategy type for liaison pods |
| type: RollingUpdate |
| rollingUpdate: |
| ## @param cluster.liaison.updateStrategy.rollingUpdate.maxUnavailable Maximum unavailable pods during update |
| maxUnavailable: 1 |
| ## @param cluster.liaison.podManagementPolicy Pod management policy for liaison StatefulSet |
| ## |
| podManagementPolicy: Parallel |
| ## @param cluster.liaison.podDisruptionBudget Pod disruption budget for liaison |
| ## |
| podDisruptionBudget: {} |
| ## @param cluster.liaison.tolerations Tolerations for liaison pods |
| ## |
| tolerations: [] |
| ## @param cluster.liaison.nodeSelector Node selector for liaison pods |
| ## |
| nodeSelector: [] |
| ## @param cluster.liaison.affinity Affinity rules for liaison pods |
| ## |
| affinity: {} |
| ## @param cluster.liaison.podAffinityPreset Pod affinity preset for liaison |
| ## |
| podAffinityPreset: "" |
| ## @param cluster.liaison.podAntiAffinityPreset Pod anti-affinity preset for liaison |
| ## |
| podAntiAffinityPreset: soft |
| ## Resource requests/limits for liaison |
| ## |
| resources: |
| ## @param cluster.liaison.resources.requests Resource requests for liaison pods |
| requests: [] |
| ## @param cluster.liaison.resources.limits Resource limits for liaison pods |
| limits: [] |
| ## GRPC service settings for liaison |
| ## |
| grpcSvc: |
| ## @param cluster.liaison.grpcSvc.labels Labels for GRPC service for liaison |
| labels: {} |
| ## @param cluster.liaison.grpcSvc.annotations Annotations for GRPC service for liaison |
| annotations: {} |
| ## @param cluster.liaison.grpcSvc.port Port number for GRPC service for liaison |
| port: 17912 |
| ## HTTP service settings for liaison |
| ## |
| httpSvc: |
| ## @param cluster.liaison.httpSvc.labels Labels for HTTP service for liaison |
| labels: {} |
| ## @param cluster.liaison.httpSvc.annotations Annotations for HTTP service for liaison |
| annotations: {} |
| ## @param cluster.liaison.httpSvc.port Port number for HTTP service for liaison |
| port: 17913 |
| ## @param cluster.liaison.httpSvc.type Service type for HTTP service for liaison |
| type: LoadBalancer |
| ## @param cluster.liaison.httpSvc.externalIPs External IP addresses for liaison HTTP service |
| externalIPs: [] |
| ## @param cluster.liaison.httpSvc.loadBalancerIP Load balancer IP for liaison HTTP service |
| loadBalancerIP: null |
| ## @param cluster.liaison.httpSvc.loadBalancerSourceRanges Allowed source ranges for liaison HTTP service |
| loadBalancerSourceRanges: [] |
| ## Ingress configuration for liaison |
| ## |
| ingress: |
| ## @param cluster.liaison.ingress.enabled Enable ingress for liaison |
| enabled: false |
| ## @param cluster.liaison.ingress.labels Labels for ingress of liaison |
| labels: {} |
| ## @param cluster.liaison.ingress.annotations Annotations for ingress of liaison |
| annotations: {} |
| ## @param cluster.liaison.ingress.rules Ingress rules for liaison |
| rules: [] |
| ## @param cluster.liaison.ingress.tls TLS configuration for liaison ingress |
| tls: [] |
| ## Liveness probe for liaison |
| ## |
| livenessProbe: |
| ## @param cluster.liaison.livenessProbe.initialDelaySeconds Initial delay for liaison liveness probe |
| initialDelaySeconds: 20 |
| ## @param cluster.liaison.livenessProbe.periodSeconds Probe period for liaison liveness probe |
| periodSeconds: 30 |
| ## @param cluster.liaison.livenessProbe.timeoutSeconds Timeout in seconds for liaison liveness probe |
| timeoutSeconds: 5 |
| ## @param cluster.liaison.livenessProbe.successThreshold Success threshold for liaison liveness probe |
| successThreshold: 1 |
| ## @param cluster.liaison.livenessProbe.failureThreshold Failure threshold for liaison liveness probe |
| failureThreshold: 5 |
| ## Readiness probe for liaison |
| ## |
| readinessProbe: |
| ## @param cluster.liaison.readinessProbe.initialDelaySeconds Initial delay for liaison readiness probe |
| ## |
| initialDelaySeconds: 20 |
| ## @param cluster.liaison.readinessProbe.periodSeconds Probe period for liaison readiness probe |
| ## |
| periodSeconds: 30 |
| ## @param cluster.liaison.readinessProbe.timeoutSeconds Timeout in seconds for liaison readiness probe |
| ## |
| timeoutSeconds: 5 |
| ## @param cluster.liaison.readinessProbe.successThreshold Success threshold for liaison readiness probe |
| ## |
| successThreshold: 1 |
| ## @param cluster.liaison.readinessProbe.failureThreshold Failure threshold for liaison readiness probe |
| ## |
| failureThreshold: 5 |
| ## Startup probe for liaison |
| ## |
| startupProbe: |
| ## @param cluster.liaison.startupProbe.initialDelaySeconds Initial delay for liaison startup probe |
| ## |
| initialDelaySeconds: 0 |
| ## @param cluster.liaison.startupProbe.periodSeconds Probe period for liaison startup probe |
| ## |
| periodSeconds: 10 |
| ## @param cluster.liaison.startupProbe.timeoutSeconds Timeout in seconds for liaison startup probe |
| ## |
| timeoutSeconds: 5 |
| ## @param cluster.liaison.startupProbe.successThreshold Success threshold for liaison startup probe |
| ## |
| successThreshold: 1 |
| ## @param cluster.liaison.startupProbe.failureThreshold Failure threshold for liaison startup probe |
| ## |
| failureThreshold: 60 |
| ## @section Configuration for data component |
| ## |
| data: |
| ## Add nodeTemplate with common defaults |
| ## |
| nodeTemplate: |
| ## @param cluster.data.nodeTemplate.replicas Number of data replicas by default |
| ## |
| replicas: 2 |
| ## @param cluster.data.nodeTemplate.podAnnotations Pod annotations for data pods |
| ## |
| podAnnotations: {} |
| ## @param cluster.data.nodeTemplate.securityContext Security context for data pods |
| ## |
| securityContext: {} |
| ## @param cluster.data.nodeTemplate.containerSecurityContext Container-level security context for data pods |
| ## e.g. { readOnlyRootFilesystem: true, allowPrivilegeEscalation: false, runAsNonRoot: true } |
| containerSecurityContext: {} |
| ## Volume permissions init container |
| ## @param cluster.data.nodeTemplate.volumePermissions.enabled Enable volume permissions init container for data pods |
| volumePermissions: |
| enabled: false |
| ## @param cluster.data.nodeTemplate.volumePermissions.chownUser User ID to chown the mounted volumes for data pods |
| chownUser: 1000 |
| ## @param cluster.data.nodeTemplate.volumePermissions.chownGroup Group ID to chown the mounted volumes for data pods |
| chownGroup: 1000 |
| ## @param cluster.data.nodeTemplate.volumePermissions.image Image for the volume permissions init container for data pods |
| image: busybox:1.36 |
| ## @param cluster.data.nodeTemplate.env Environment variables for data pods |
| ## |
| env: [] |
| ## @param cluster.data.nodeTemplate.priorityClassName Priority class name for data pods |
| ## |
| priorityClassName: "" |
| ## Pod disruption budget for data pods |
| ## |
| podDisruptionBudget: |
| ## @param cluster.data.nodeTemplate.podDisruptionBudget.maxUnavailable Maximum unavailable data pods |
| ## |
| maxUnavailable: 1 |
| ## @param cluster.data.nodeTemplate.tolerations Tolerations for data pods |
| ## |
| tolerations: [] |
| ## @param cluster.data.nodeTemplate.nodeSelector Node selector for data pods |
| ## |
| nodeSelector: [] |
| ## @param cluster.data.nodeTemplate.affinity Affinity rules for data pods |
| ## |
| affinity: {} |
| ## @param cluster.data.nodeTemplate.podAffinityPreset Pod affinity preset for data pods |
| ## |
| podAffinityPreset: "" |
| ## @param cluster.data.nodeTemplate.podAntiAffinityPreset Pod anti-affinity preset for data pods |
| ## |
| podAntiAffinityPreset: soft |
| ## Resource requests/limits for data pods |
| ## |
| resources: |
| ## @param cluster.data.nodeTemplate.resources.requests Resource requests for data pods |
| ## |
| requests: [] |
| ## @param cluster.data.nodeTemplate.resources.limits Resource limits for data pods |
| ## |
| limits: [] |
| ## GRPC service settings for data pods |
| ## |
| grpcSvc: |
| ## @param cluster.data.nodeTemplate.grpcSvc.labels Labels for GRPC service for data pods |
| ## |
| labels: {} |
| ## @param cluster.data.nodeTemplate.grpcSvc.annotations Annotations for GRPC service for data pods |
| ## |
| annotations: {} |
| ## @param cluster.data.nodeTemplate.grpcSvc.port Port number for GRPC service for data pods |
| ## |
| port: 17912 |
| ## @param cluster.data.nodeTemplate.sidecar Sidecar containers for data pods |
| ## |
| sidecar: [] |
| ## Backup sidecar configuration for data pods |
| ## |
| backupSidecar: |
| ## @param cluster.data.nodeTemplate.backupSidecar.enabled Enable backup sidecar for data pods (boolean) |
| ## |
| enabled: false |
| ## @param cluster.data.nodeTemplate.backupSidecar.dest Backup destination path for data pods |
| ## |
| dest: "file:///tmp/backups/data-$(ORDINAL_NUMBER)" |
| ## @param cluster.data.nodeTemplate.backupSidecar.timeStyle Backup time style for data pods (e.g., daily) |
| ## |
| timeStyle: "daily" |
| ## @param cluster.data.nodeTemplate.backupSidecar.schedule Backup schedule for data pods (cron format) |
| schedule: "@hourly" |
| ## @param cluster.data.nodeTemplate.backupSidecar.customFlags Custom flags for backup sidecar (e.g., S3, Azure, GCS configuration) |
| ## |
| customFlags: [] |
| ## |
| ## @param cluster.data.nodeTemplate.backupSidecar.resources Resources for backup sidecar for data pods |
| ## |
| resources: {} |
| ## Lifecycle sidecar configuration for data pods |
| ## |
| lifecycleSidecar: |
| ## @param cluster.data.nodeTemplate.lifecycleSidecar.enabled Enable lifecycle sidecar for data pods (boolean) |
| ## |
| enabled: false |
| ## @param cluster.data.nodeTemplate.lifecycleSidecar.schedule Schedule for lifecycle sidecar (cron format) |
| ## |
| schedule: "@hourly" |
| ## @param cluster.data.nodeTemplate.lifecycleSidecar.progressFile Progress file path for lifecycle sidecar |
| ## |
| progressFile: "" |
| ## @param cluster.data.nodeTemplate.lifecycleSidecar.reportDir Report directory path for lifecycle sidecar |
| ## |
| reportDir: "" |
| ## @param cluster.data.nodeTemplate.lifecycleSidecar.resources Resources for lifecycle sidecar for data pods |
| ## |
| resources: {} |
| ## Restore init container configuration for data pods |
| ## |
| restoreInitContainer: |
| ## @param cluster.data.nodeTemplate.restoreInitContainer.enabled Enable restore init container for data pods (boolean) |
| ## |
| enabled: false |
| ## @param cluster.data.nodeTemplate.restoreInitContainer.customFlags Custom flags for restore init container (e.g., S3, Azure, GCS configuration) |
| ## |
| customFlags: [] |
| ## @param cluster.data.nodeTemplate.restoreInitContainer.resources Resources for restore init container for data pods |
| ## |
| resources: {} |
| ## Liveness probe for data pods |
| ## |
| livenessProbe: |
| ## @param cluster.data.nodeTemplate.livenessProbe.initialDelaySeconds Initial delay for data liveness probe |
| ## |
| initialDelaySeconds: 20 |
| ## @param cluster.data.nodeTemplate.livenessProbe.periodSeconds Probe period for data liveness probe |
| ## |
| periodSeconds: 30 |
| ## @param cluster.data.nodeTemplate.livenessProbe.timeoutSeconds Timeout in seconds for data liveness probe |
| ## |
| timeoutSeconds: 5 |
| ## @param cluster.data.nodeTemplate.livenessProbe.successThreshold Success threshold for data liveness probe |
| ## |
| successThreshold: 1 |
| ## @param cluster.data.nodeTemplate.livenessProbe.failureThreshold Failure threshold for data liveness probe |
| ## |
| failureThreshold: 5 |
| ## Readiness probe for data pods |
| ## |
| readinessProbe: |
| ## @param cluster.data.nodeTemplate.readinessProbe.initialDelaySeconds Initial delay for data readiness probe |
| ## |
| initialDelaySeconds: 20 |
| ## @param cluster.data.nodeTemplate.readinessProbe.periodSeconds Probe period for data readiness probe |
| ## |
| periodSeconds: 30 |
| ## @param cluster.data.nodeTemplate.readinessProbe.timeoutSeconds Timeout in seconds for data readiness probe |
| ## |
| timeoutSeconds: 5 |
| ## @param cluster.data.nodeTemplate.readinessProbe.successThreshold Success threshold for data readiness probe |
| ## |
| successThreshold: 1 |
| ## @param cluster.data.nodeTemplate.readinessProbe.failureThreshold Failure threshold for data readiness probe |
| ## |
| failureThreshold: 5 |
| ## Startup probe for data pods |
| ## |
| startupProbe: |
| ## @param cluster.data.nodeTemplate.startupProbe.initialDelaySeconds Initial delay for data startup probe |
| ## |
| initialDelaySeconds: 0 |
| ## @param cluster.data.nodeTemplate.startupProbe.periodSeconds Probe period for data startup probe |
| ## |
| periodSeconds: 10 |
| ## @param cluster.data.nodeTemplate.startupProbe.timeoutSeconds Timeout in seconds for data startup probe |
| ## |
| timeoutSeconds: 5 |
| ## @param cluster.data.nodeTemplate.startupProbe.successThreshold Success threshold for data startup probe |
| ## |
| successThreshold: 1 |
| ## @param cluster.data.nodeTemplate.startupProbe.failureThreshold Failure threshold for data startup probe |
| ## |
| failureThreshold: 60 |
| |
| ## @extra cluster.data.roles List of data roles (hot, warm, cold) |
| ## |
| roles: |
| ## @param cluster.data.roles.hot Hot data role |
| ## |
| hot: {} |
| |
| ## @section Configuration for UI component |
| ## |
| ui: |
| ## @param cluster.ui.type UI deployment type (None, Standalone, Embedded) |
| ## |
| type: Embedded |
| ## Standalone UI configuration |
| ## |
| standalone: |
| ## @param cluster.ui.standalone.replicas Number of UI replicas |
| ## |
| replicas: 1 |
| ## @param cluster.ui.standalone.podAnnotations Pod annotations for UI |
| ## |
| podAnnotations: {} |
| ## @param cluster.ui.standalone.securityContext Security context for UI pods |
| ## |
| securityContext: {} |
| ## @param cluster.ui.standalone.env Environment variables for UI pods |
| ## |
| env: [] |
| ## @param cluster.ui.standalone.priorityClassName Priority class name for UI pods |
| ## |
| priorityClassName: "" |
| ## Update strategy for UI pods |
| ## |
| updateStrategy: |
| ## @param cluster.ui.standalone.updateStrategy.type Update strategy type for UI pods |
| type: RollingUpdate |
| rollingUpdate: |
| ## @param cluster.ui.standalone.updateStrategy.rollingUpdate.maxUnavailable Maximum unavailable pods for UI update |
| maxUnavailable: 1 |
| ## @param cluster.ui.standalone.updateStrategy.rollingUpdate.maxSurge Maximum surge pods for UI update |
| maxSurge: 1 |
| ## @param cluster.ui.standalone.podDisruptionBudget Pod disruption budget for UI |
| ## |
| podDisruptionBudget: {} |
| ## @param cluster.ui.standalone.tolerations Tolerations for UI pods |
| ## |
| tolerations: [] |
| ## @param cluster.ui.standalone.nodeSelector Node selector for UI pods |
| ## |
| nodeSelector: [] |
| ## @param cluster.ui.standalone.affinity Affinity rules for UI pods |
| ## |
| affinity: {} |
| ## @param cluster.ui.standalone.podAffinityPreset Pod affinity preset for UI |
| ## |
| podAffinityPreset: "" |
| ## @param cluster.ui.standalone.podAntiAffinityPreset Pod anti-affinity preset for UI |
| ## |
| podAntiAffinityPreset: soft |
| ## Resource requests/limits for UI |
| ## |
| resources: |
| ## @param cluster.ui.standalone.resources.requests Resource requests for UI pods |
| requests: [] |
| ## @param cluster.ui.standalone.resources.limits Resource limits for UI pods |
| limits: [] |
| ## HTTP service settings for UI |
| ## |
| httpSvc: |
| ## @param cluster.ui.standalone.httpSvc.labels Labels for UI HTTP service |
| labels: {} |
| ## @param cluster.ui.standalone.httpSvc.annotations Annotations for UI HTTP service |
| annotations: {} |
| ## @param cluster.ui.standalone.httpSvc.port Port for UI HTTP service |
| port: 17913 |
| ## @param cluster.ui.standalone.httpSvc.type Service type for UI HTTP service |
| type: LoadBalancer |
| ## @param cluster.ui.standalone.httpSvc.externalIPs External IPs for UI HTTP service |
| externalIPs: [] |
| ## @param cluster.ui.standalone.httpSvc.loadBalancerIP Load balancer IP for UI HTTP service |
| loadBalancerIP: null |
| ## @param cluster.ui.standalone.httpSvc.loadBalancerSourceRanges Allowed source ranges for UI HTTP service |
| loadBalancerSourceRanges: [] |
| ## Ingress configuration for UI |
| ## |
| ingress: |
| ## @param cluster.ui.standalone.ingress.enabled Enable ingress for UI |
| enabled: false |
| ## @param cluster.ui.standalone.ingress.labels Labels for UI ingress |
| labels: {} |
| ## @param cluster.ui.standalone.ingress.annotations Annotations for UI ingress |
| annotations: {} |
| ## @param cluster.ui.standalone.ingress.rules Ingress rules for UI |
| rules: [] |
| ## @param cluster.ui.standalone.ingress.tls TLS configuration for UI ingress |
| tls: [] |
| ## Liveness probe for UI |
| ## |
| livenessProbe: |
| ## @param cluster.ui.standalone.livenessProbe.initialDelaySeconds Initial delay for UI liveness probe |
| initialDelaySeconds: 20 |
| ## @param cluster.ui.standalone.livenessProbe.periodSeconds Probe period for UI liveness probe |
| periodSeconds: 30 |
| ## @param cluster.ui.standalone.livenessProbe.timeoutSeconds Timeout in seconds for UI liveness probe |
| timeoutSeconds: 5 |
| ## @param cluster.ui.standalone.livenessProbe.successThreshold Success threshold for UI liveness probe |
| successThreshold: 1 |
| ## @param cluster.ui.standalone.livenessProbe.failureThreshold Failure threshold for UI liveness probe |
| failureThreshold: 5 |
| ## Readiness probe for UI |
| ## |
| readinessProbe: |
| ## @param cluster.ui.standalone.readinessProbe.initialDelaySeconds Initial delay for UI readiness probe |
| ## |
| initialDelaySeconds: 20 |
| ## @param cluster.ui.standalone.readinessProbe.periodSeconds Probe period for UI readiness probe |
| ## |
| periodSeconds: 30 |
| ## @param cluster.ui.standalone.readinessProbe.timeoutSeconds Timeout in seconds for UI readiness probe |
| ## |
| timeoutSeconds: 5 |
| ## @param cluster.ui.standalone.readinessProbe.successThreshold Success threshold for UI readiness probe |
| ## |
| successThreshold: 1 |
| ## @param cluster.ui.standalone.readinessProbe.failureThreshold Failure threshold for UI readiness probe |
| ## |
| failureThreshold: 5 |
| ## Startup probe for UI |
| ## |
| startupProbe: |
| ## @param cluster.ui.standalone.startupProbe.initialDelaySeconds Initial delay for UI startup probe |
| ## |
| initialDelaySeconds: 0 |
| ## @param cluster.ui.standalone.startupProbe.periodSeconds Probe period for UI startup probe |
| ## |
| periodSeconds: 10 |
| ## @param cluster.ui.standalone.startupProbe.timeoutSeconds Timeout in seconds for UI startup probe |
| ## |
| timeoutSeconds: 5 |
| ## @param cluster.ui.standalone.startupProbe.successThreshold Success threshold for UI startup probe |
| ## |
| successThreshold: 1 |
| ## @param cluster.ui.standalone.startupProbe.failureThreshold Failure threshold for UI startup probe |
| ## |
| failureThreshold: 60 |
| |
| ## @section Storage configuration for persistent volumes |
| ## |
| storage: |
| ## Data node storage configuration |
| ## |
| data: |
| ## @param storage.data.enabled Enable persistent storage for data nodes (boolean) |
| ## |
| enabled: true |
| ## @extra storage.data.persistentVolumeClaims List of PVC configurations for data nodes |
| ## |
| persistentVolumeClaims: |
| ## @param storage.data.persistentVolumeClaims[0].mountTargets Mount targets for the PVC |
| ## |
| - mountTargets: [ "measure" ] |
| ## @param storage.data.persistentVolumeClaims[0].nodeRole Node role this PVC is bound to (hot, warm, cold) |
| ## |
| nodeRole: hot |
| ## @param storage.data.persistentVolumeClaims[0].existingClaimName Existing PVC name (if any) |
| existingClaimName: null |
| ## @param storage.data.persistentVolumeClaims[0].claimName Name of the PVC |
| claimName: hot-measure-data |
| ## @param storage.data.persistentVolumeClaims[0].size Size of the PVC |
| size: 50Gi |
| ## @param storage.data.persistentVolumeClaims[0].accessModes Access modes for the PVC |
| accessModes: |
| - ReadWriteOnce |
| ## @param storage.data.persistentVolumeClaims[0].storageClass Storage class for the PVC |
| storageClass: null |
| ## @param storage.data.persistentVolumeClaims[0].volumeMode Volume mode for the PVC |
| volumeMode: Filesystem |
| ## @param storage.data.persistentVolumeClaims[1].mountTargets Mount targets for the PVC |
| - mountTargets: [ "stream" ] |
| ## @param storage.data.persistentVolumeClaims[1].nodeRole Node role this PVC is bound to |
| ## |
| nodeRole: hot |
| ## @param storage.data.persistentVolumeClaims[1].existingClaimName Existing PVC name (if any) |
| existingClaimName: null |
| ## @param storage.data.persistentVolumeClaims[1].claimName Name of the PVC |
| claimName: hot-stream-data |
| ## @param storage.data.persistentVolumeClaims[1].size Size of the PVC |
| size: 50Gi |
| ## @param storage.data.persistentVolumeClaims[1].accessModes Access modes for the PVC |
| accessModes: |
| - ReadWriteOnce |
| ## @param storage.data.persistentVolumeClaims[1].storageClass Storage class for the PVC |
| storageClass: null |
| ## @param storage.data.persistentVolumeClaims[1].volumeMode Volume mode for the PVC |
| volumeMode: Filesystem |
| ## @param storage.data.persistentVolumeClaims[2].mountTargets Mount targets for the PVC |
| - mountTargets: [ "property" ] |
| ## @param storage.data.persistentVolumeClaims[2].nodeRole Node role this PVC is bound to |
| ## |
| nodeRole: hot |
| ## @param storage.data.persistentVolumeClaims[2].existingClaimName Existing PVC name (if any) |
| existingClaimName: null |
| ## @param storage.data.persistentVolumeClaims[2].claimName Name of the PVC |
| claimName: hot-property-data |
| ## @param storage.data.persistentVolumeClaims[2].size Size of the PVC |
| size: 5Gi |
| ## @param storage.data.persistentVolumeClaims[2].accessModes Access modes for the PVC |
| accessModes: |
| - ReadWriteOnce |
| ## @param storage.data.persistentVolumeClaims[2].storageClass Storage class for the PVC |
| storageClass: null |
| ## @param storage.data.persistentVolumeClaims[2].volumeMode Volume mode for the PVC |
| volumeMode: Filesystem |
| |
| ## Liaison storage configuration |
| ## |
| liaison: |
| ## @param storage.liaison.enabled Enable persistent storage for liaison nodes (boolean) |
| ## |
| enabled: true |
| ## @extra storage.liaison.persistentVolumeClaims List of PVC configurations for liaison nodes |
| ## |
| persistentVolumeClaims: |
| ## @param storage.liaison.persistentVolumeClaims[0].mountTargets Mount targets for the PVC |
| ## |
| - mountTargets: [ "measure", "stream" ] |
| ## @param storage.liaison.persistentVolumeClaims[0].claimName Name of the PVC |
| claimName: liaison-data |
| ## @param storage.liaison.persistentVolumeClaims[0].size Size of the PVC |
| size: 10Gi |
| ## @param storage.liaison.persistentVolumeClaims[0].accessModes Access modes for the PVC |
| accessModes: |
| - ReadWriteOnce |
| ## @param storage.liaison.persistentVolumeClaims[0].storageClass Storage class for the PVC |
| storageClass: null |
| ## @param storage.liaison.persistentVolumeClaims[0].volumeMode Volume mode for the PVC |
| volumeMode: Filesystem |
| |
| ## Standalone storage configuration |
| ## |
| standalone: |
| ## @param storage.standalone.enabled Enable persistent storage for standalone mode (boolean) |
| ## |
| enabled: false |
| ## @extra storage.standalone.persistentVolumeClaims List of PVC configurations for standalone |
| ## |
| persistentVolumeClaims: |
| ## @param storage.standalone.persistentVolumeClaims[0].mountTargets Mount targets for the PVC |
| ## |
| - mountTargets: [ "measure", "stream", "metadata", "property" ] |
| ## @param storage.standalone.persistentVolumeClaims[0].claimName Name of the PVC |
| claimName: standalone-data |
| ## @param storage.standalone.persistentVolumeClaims[0].size Size of the PVC |
| size: 200Gi |
| ## @param storage.standalone.persistentVolumeClaims[0].accessModes Access modes for the PVC |
| accessModes: |
| - ReadWriteOnce |
| ## @param storage.standalone.persistentVolumeClaims[0].storageClass Storage class for the PVC |
| storageClass: null |
| ## @param storage.standalone.persistentVolumeClaims[0].volumeMode Volume mode for the PVC |
| volumeMode: Filesystem |
| |
| ## @section Service account configuration |
| ## |
| serviceAccount: |
| ## @param serviceAccount.create Create a service account (boolean) |
| ## |
| create: true |
| ## @param serviceAccount.annotations Annotations for the service account |
| ## |
| annotations: {} |
| ## @param serviceAccount.name Name of the service account |
| ## |
| name: "" |
| |
| ## @section Etcd configuration for cluster state management |
| ## |
| etcd: |
| ## @param etcd.enabled Enable etcd (boolean) |
| ## |
| enabled: true |
| ## @param etcd.replicaCount Number of etcd replicas |
| ## |
| replicaCount: 1 |
| ## @section Authentication configuration for etcd |
| ## |
| auth: |
| ## @section RBAC configuration for etcd |
| ## |
| rbac: |
| ## @param etcd.auth.rbac.create Create RBAC roles (boolean) |
| ## |
| create: true |
| ## @param etcd.auth.rbac.allowNoneAuthentication Allow unauthenticated access (boolean) |
| ## |
| allowNoneAuthentication: false |
| ## @param etcd.auth.rbac.rootPassword Root user password |
| ## |
| rootPassword: banyandb |
| ## @section Client TLS configuration |
| ## |
| client: |
| ## @param etcd.auth.client.secureTransport Enable TLS for client communication (boolean) |
| ## |
| secureTransport: false |
| ## @param etcd.auth.client.existingSecret Existing secret containing TLS certs |
| ## |
| existingSecret: "" |
| ## @param etcd.auth.client.enableAuthentication Enable client authentication (boolean) |
| ## |
| enableAuthentication: false |
| ## @param etcd.auth.client.certFilename Client certificate filename |
| ## |
| certFilename: tls.crt |
| ## @param etcd.auth.client.certKeyFilename Client certificate key filename |
| ## |
| certKeyFilename: tls.key |
| ## @param etcd.auth.client.caFilename CA certificate filename for TLS |
| ## |
| caFilename: "" |
| ## Authentication token |
| ## ref: https://etcd.io/docs/latest/learning/design-auth-v3/#two-types-of-tokens-simple-and-jwt |
| ## |
| token: |
| ## @param etcd.auth.token.enabled Enables token authentication |
| ## |
| enabled: true |
| ## @param etcd.auth.token.type Authentication token type. Allowed values: 'simple' or 'jwt' |
| ## ref: https://etcd.io/docs/latest/op-guide/configuration/#--auth-token |
| ## |
| type: simple |
| ## @section Liveness probe configuration for etcd |
| ## |
| livenessProbe: |
| ## @param etcd.livenessProbe.initialDelaySeconds Initial delay for liveness probe |
| ## |
| initialDelaySeconds: 10 |
| ## @section Readiness probe configuration for etcd |
| ## |
| readinessProbe: |
| ## @param etcd.readinessProbe.initialDelaySeconds Initial delay for readiness probe |
| ## |
| initialDelaySeconds: 10 |
| ## @param etcd.autoCompactionMode Auto-compaction mode (periodic, revision) |
| ## |
| autoCompactionMode: periodic |
| ## @param etcd.autoCompactionRetention Auto-compaction retention period |
| ## |
| autoCompactionRetention: "1" |
| ## @extra etcd.defrag Configuration for defragmentation |
| ## |
| defrag: |
| ## @param etcd.defrag.enabled Enable defragmentation (boolean) |
| ## |
| enabled: true |
| ## @extra etcd.defrag.cronjob Cron job configuration for defragmentation |
| ## |
| cronjob: |
| ## @param etcd.defrag.cronjob.schedule Cron schedule for defragmentation |
| ## |
| schedule: "0 0 * * *" |