This is an automated email from the ASF dual-hosted git repository.

hanahmily pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/skywalking-showcase.git


The following commit(s) were added to refs/heads/main by this push:
     new e06e4a6  Update BanyanDB image tag and enhance Kubernetes deployment 
configurations
e06e4a6 is described below

commit e06e4a64813889e9ebaa4da886d61de25ecb0b37
Author: Gao Hongtao <hanahm...@gmail.com>
AuthorDate: Thu Aug 14 06:36:01 2025 +0000

    Update BanyanDB image tag and enhance Kubernetes deployment configurations
---
 .gitignore                             |   7 ++
 Makefile.in                            |   6 +-
 deploy/platform/kubernetes/Chart.yaml  |   4 +-
 deploy/platform/kubernetes/Makefile    |  52 +++--------
 deploy/platform/kubernetes/values.yaml | 162 +++++++++++++++++++++------------
 5 files changed, 131 insertions(+), 100 deletions(-)

diff --git a/.gitignore b/.gitignore
index ddfd936..640aee6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -66,3 +66,10 @@ deploy/platform/kubernetes/charts/
 deploy/platform/kubernetes/tmpcharts/
 
 deploy/platform/kubernetes/generated
+
+### Cursor ###
+.cursor
+
+### Claude Code ###
+Claude.md
+.claude
diff --git a/Makefile.in b/Makefile.in
index 6abc156..23e177e 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -26,17 +26,17 @@ HUB ?= ghcr.io/apache/skywalking-showcase
 TAG ?= $(shell git rev-parse --short HEAD)
 
 BANYANDB_IMAGE ?= ghcr.io/apache/skywalking-banyandb
-BANYANDB_IMAGE_TAG ?= 164b4917dcb0ade9527a5c5bbd1896f9a56a094a
+BANYANDB_IMAGE_TAG ?= 7e5b2d0404e8ad6d5835eee6fe589a2544d0decb
 STORAGE_CLASS ?= ""
 
 ES_IMAGE ?= docker.elastic.co/elasticsearch/elasticsearch-oss
 ES_IMAGE_TAG ?= 7.10.2
 
 SW_OAP_IMAGE ?= ghcr.io/apache/skywalking/oap
-SW_OAP_IMAGE_TAG ?= 6fe1fd8bea21d9c365c74d60584da109202ee297
+SW_OAP_IMAGE_TAG ?= bf04afdb2a841c60d5e27f5a9fc62d0879a5600c
 
 SW_UI_IMAGE ?= ghcr.io/apache/skywalking/ui
-SW_UI_IMAGE_TAG ?= 6fe1fd8bea21d9c365c74d60584da109202ee297
+SW_UI_IMAGE_TAG ?= bf04afdb2a841c60d5e27f5a9fc62d0879a5600c
 
 SW_CLI_IMAGE ?= 
ghcr.io/apache/skywalking-cli/skywalking-cli:bce7faaabbd57ed1f40156af8a8eb6c3eccea4ae
 SW_EVENT_EXPORTER_IMAGE ?= 
ghcr.io/apache/skywalking-kubernetes-event-exporter/skywalking-kubernetes-event-exporter:8a012a3f968cb139f817189afb9b3748841bba22
diff --git a/deploy/platform/kubernetes/Chart.yaml 
b/deploy/platform/kubernetes/Chart.yaml
index dc961dc..057fdf0 100644
--- a/deploy/platform/kubernetes/Chart.yaml
+++ b/deploy/platform/kubernetes/Chart.yaml
@@ -24,13 +24,13 @@ sources:
 dependencies:
   - name: skywalking-helm
     alias: skywalking
-    version: 0.0.0-ea789a5633ad02ab704ddabb92aa067ee7705b09
+    version: 0.0.0-133cfc420dd7c278445d714490898eb5cd5a90f0
     repository: oci://ghcr.io/apache/skywalking-helm
 
     # @feature: java-agent-injector; the java agent injector is a component of 
the swck operator, so we need to deploy the swck operator firstly
   - name: skywalking-helm-swck-operator
     alias: swck
-    version: 0.0.0-ea789a5633ad02ab704ddabb92aa067ee7705b09
+    version: 0.0.0-133cfc420dd7c278445d714490898eb5cd5a90f0
     repository: oci://ghcr.io/apache/skywalking-helm
     condition: features.javaAgentInjector.enabled
 
diff --git a/deploy/platform/kubernetes/Makefile 
b/deploy/platform/kubernetes/Makefile
index c173c5b..2e87215 100644
--- a/deploy/platform/kubernetes/Makefile
+++ b/deploy/platform/kubernetes/Makefile
@@ -26,44 +26,20 @@ include check.mak
 
 HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.fullnameOverride=$(RELEASE)
 HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.image.repository=$(BANYANDB_IMAGE) --set 
skywalking.banyandb.image.tag=$(BANYANDB_IMAGE_TAG)
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.etcd.persistence.storageClass=$(STORAGE_CLASS)
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[0].mountTargets[0]=stream
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[0].nodeRole=hot
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[0].claimName=hot-stream-data
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[0].size=10Gi
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[0].accessModes[0]=ReadWriteOnce
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[0].storageClass=$(STORAGE_CLASS)
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[0].volumeMode=Filesystem
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[1].mountTargets[0]=measure
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[1].nodeRole=hot
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[1].claimName=hot-measure-data
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[1].size=10Gi
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[1].accessModes[0]=ReadWriteOnce
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[1].storageClass=$(STORAGE_CLASS)
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[1].volumeMode=Filesystem
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[2].mountTargets[0]=property
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[2].nodeRole=hot
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[2].claimName=hot-property-data
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[2].size=2Gi
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[2].accessModes[0]=ReadWriteOnce
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[2].storageClass=$(STORAGE_CLASS)
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[2].volumeMode=Filesystem
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[3].mountTargets[0]=stream
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[3].mountTargets[1]=measure
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[3].nodeRole=warm
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[3].claimName=warm-data
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[3].size=50Gi
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[3].accessModes[0]=ReadWriteOnce
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[3].storageClass=$(STORAGE_CLASS)
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[3].volumeMode=Filesystem
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[4].mountTargets[0]=stream
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[4].mountTargets[1]=measure
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[4].nodeRole=cold
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[4].claimName=cold-data
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[4].size=100Gi
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[4].accessModes[0]=ReadWriteOnce
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[4].storageClass=$(STORAGE_CLASS)
-HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.storage.persistentVolumeClaims[4].volumeMode=Filesystem
+# Sanitize STORAGE_CLASS (remove quotes and whitespace), then conditionally 
include storageClass fields
+STORAGE_CLASS_SANITIZED := $(strip $(subst ",,$(subst ',,$(STORAGE_CLASS))))
+ifeq ($(STORAGE_CLASS_SANITIZED),)
+PVC_STORAGE_CLASS_FIELD :=
+else
+PVC_STORAGE_CLASS_FIELD := ,"storageClass":"$(STORAGE_CLASS_SANITIZED)"
+HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.banyandb.etcd.persistence.storageClass=$(STORAGE_CLASS_SANITIZED)
+endif
+HELM_OPTIONS := $(HELM_OPTIONS) --set-json 
'skywalking.banyandb.storage.liaison.persistentVolumeClaims[0]={"mountTargets":["measure","stream"],"claimName":"liaison-data","size":"10Gi","accessModes":["ReadWriteOnce"]$(PVC_STORAGE_CLASS_FIELD),"volumeMode":"Filesystem"}'
+HELM_OPTIONS := $(HELM_OPTIONS) --set-json 
'skywalking.banyandb.storage.data.persistentVolumeClaims[0]={"mountTargets":["stream"],"nodeRole":"hot","claimName":"hot-stream-data","size":"10Gi","accessModes":["ReadWriteOnce"]$(PVC_STORAGE_CLASS_FIELD),"volumeMode":"Filesystem"}'
+HELM_OPTIONS := $(HELM_OPTIONS) --set-json 
'skywalking.banyandb.storage.data.persistentVolumeClaims[1]={"mountTargets":["measure"],"nodeRole":"hot","claimName":"hot-measure-data","size":"10Gi","accessModes":["ReadWriteOnce"]$(PVC_STORAGE_CLASS_FIELD),"volumeMode":"Filesystem"}'
+HELM_OPTIONS := $(HELM_OPTIONS) --set-json 
'skywalking.banyandb.storage.data.persistentVolumeClaims[2]={"mountTargets":["property"],"nodeRole":"hot","claimName":"hot-property-data","size":"2Gi","accessModes":["ReadWriteOnce"]$(PVC_STORAGE_CLASS_FIELD),"volumeMode":"Filesystem"}'
+HELM_OPTIONS := $(HELM_OPTIONS) --set-json 
'skywalking.banyandb.storage.data.persistentVolumeClaims[3]={"mountTargets":["stream","measure","property"],"nodeRole":"warm","claimName":"warm-data","size":"50Gi","accessModes":["ReadWriteOnce"]$(PVC_STORAGE_CLASS_FIELD),"volumeMode":"Filesystem"}'
+HELM_OPTIONS := $(HELM_OPTIONS) --set-json 
'skywalking.banyandb.storage.data.persistentVolumeClaims[4]={"mountTargets":["stream","measure","property"],"nodeRole":"cold","claimName":"cold-data","size":"100Gi","accessModes":["ReadWriteOnce"]$(PVC_STORAGE_CLASS_FIELD),"volumeMode":"Filesystem"}'
 HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.oap.image.repository=$(SW_OAP_IMAGE) --set 
skywalking.oap.image.tag=$(SW_OAP_IMAGE_TAG)
 HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.ui.image.repository=$(SW_UI_IMAGE) --set 
skywalking.ui.image.tag=$(SW_UI_IMAGE_TAG)
 HELM_OPTIONS := $(HELM_OPTIONS) --set 
skywalking.ui.env.SW_ZIPKIN_ADDRESS=http://$(RELEASE)-oap.$(NAMESPACE).svc:9412
diff --git a/deploy/platform/kubernetes/values.yaml 
b/deploy/platform/kubernetes/values.yaml
index ae08a06..8c73163 100644
--- a/deploy/platform/kubernetes/values.yaml
+++ b/deploy/platform/kubernetes/values.yaml
@@ -161,31 +161,72 @@ skywalking:
       liaison:
         replicas: 2
         env:
+        - name: GOMEMLIMIT
+          value: "3GiB"
         - name: BYDB_DATA_NODE_SELECTOR
           value: "type=hot"
         httpSvc:
           type: ClusterIP
+        resources:
+          requests:
+          - key: cpu
+            value: 100m
+          - key: memory
+            value: 1Gi
+          limits:
+          - key: cpu
+            value: 4
+          - key: memory
+            value: 4Gi
+        securityContext:
+          runAsUser: 1000
+          runAsGroup: 1000
+          fsGroup: 1000
+        containerSecurityContext:
+          readOnlyRootFilesystem: true
+          allowPrivilegeEscalation: false
+          runAsNonRoot: true
+          capabilities:
+            drop: [ "ALL" ]
+        volumePermissions:
+          enabled: true
+          chownUser: 1000
+          chownGroup: 1000
+          image: busybox:1.36
       data:
         nodeTemplate:
           replicas: 2
           resources:
             requests:
-              - key: cpu
-                value: 100m
-              - key: memory
-                value: 1Gi
+            - key: cpu
+              value: 100m
+            - key: memory
+              value: 1Gi
             limits:
-              - key: cpu
-                value: 4
-              - key: memory
-                value: 4Gi
+            - key: cpu
+              value: 4
+            - key: memory
+              value: 4Gi
+          securityContext:
+            runAsUser: 1000
+            runAsGroup: 1000
+            fsGroup: 1000
+          containerSecurityContext:
+            readOnlyRootFilesystem: true
+            allowPrivilegeEscalation: false
+            runAsNonRoot: true
+            capabilities:
+              drop: [ "ALL" ]
+          volumePermissions:
+            enabled: true
+            chownUser: 1000
+            chownGroup: 1000
+            image: busybox:1.36
         roles:
           hot:
             env:
             - name: GOMEMLIMIT
               value: "3GiB"
-            - name: BYDB_NODE_LABELS
-              value: "type=hot"
             lifecycleSidecar:
               schedule: "@daily"
               enabled: true
@@ -193,64 +234,71 @@ skywalking:
             env:
             - name: GOMEMLIMIT
               value: "3GiB"
-            - name: BYDB_NODE_LABELS
-              value: "type=warm"
             lifecycleSidecar:
               schedule: "@daily"
               enabled: true
           cold:
             replicas: 1
             env:
-            - name: BYDB_NODE_LABELS
-              value: "type=cold"
             - name: GOMEMLIMIT
               value: "6GiB"
             resources:
               requests:
-                - key: cpu
-                  value: 100m
-                - key: memory
-                  value: 1Gi
+              - key: cpu
+                value: 100m
+              - key: memory
+                value: 1Gi
               limits:
-                - key: cpu
-                  value: 8
-                - key: memory
-                  value: 8Gi
+              - key: cpu
+                value: 8
+              - key: memory
+                value: 8Gi
     storage:
-      enabled: true
-      persistentVolumeClaims:
-        - mountTargets: ["stream"]
+      liaison:
+        enabled: true
+        persistentVolumeClaims:
+        - mountTargets: [ "measure", "stream" ]
+          claimName: liaison-data
+          size: 10Gi
+          accessModes:
+          - ReadWriteOnce
+          storageClass: ~
+          volumeMode: Filesystem
+      data:
+        enabled: true
+        persistentVolumeClaims:
+        - mountTargets: [ "stream" ]
           nodeRole: hot
           claimName: hot-stream-data
           size: 10Gi
           accessModes:
-            - ReadWriteOnce
+          - ReadWriteOnce
           storageClass: ~
           volumeMode: Filesystem
-        - mountTargets: ["measure"]
+        - mountTargets: [ "measure" ]
           nodeRole: hot
           claimName: hot-measure-data
           size: 10Gi
           accessModes:
-            - ReadWriteOnce
+          - ReadWriteOnce
           storageClass: ~
           volumeMode: Filesystem
-        - mountTargets: ["property"]
+        - mountTargets: [ "property" ]
           nodeRole: hot
           claimName: hot-property-data
           size: 5Gi
           accessModes:
-            - ReadWriteOnce
+          - ReadWriteOnce
           storageClass: ~
           volumeMode: Filesystem
-        - mountTargets: [ "measure", "stream" ]
+        - mountTargets: [ "measure", "stream", "property" ]
           nodeRole: warm
           claimName: warm-data
           size: 100Gi
           accessModes:
           - ReadWriteOnce
           storageClass: ~
-        - mountTargets: [ "measure", "stream" ]
+        - mountTargets: [ "measure", "stream", "property" ]
           nodeRole: cold
           claimName: cold-data
           size: 500Gi
@@ -390,14 +438,14 @@ istiod:
         address: ""
       proxyStatsMatcher:
         inclusionRegexps:
-          - ".*membership_healthy.*"
-          - ".*upstream_cx_active.*"
-          - ".*upstream_cx_total.*"
-          - ".*upstream_rq_active.*"
-          - ".*upstream_rq_total.*"
-          - ".*upstream_rq_pending_active.*"
-          - ".*lb_healthy_panic.*"
-          - ".*upstream_cx_none_healthy.*"
+        - ".*membership_healthy.*"
+        - ".*upstream_cx_active.*"
+        - ".*upstream_cx_total.*"
+        - ".*upstream_rq_active.*"
+        - ".*upstream_rq_total.*"
+        - ".*upstream_rq_pending_active.*"
+        - ".*lb_healthy_panic.*"
+        - ".*upstream_cx_none_healthy.*"
 
 # @feature: kubernetes-monitor; extra resources to install for kubernetes 
monitoring, standard kube-state-metrics
 kube-state-metrics:
@@ -448,16 +496,16 @@ opentelemetry-collector:
   clusterRole:
     create: true
     rules:
-      - apiGroups: [""]
-        resources:
-          # @feature: kubernetes-monitor; permissions to read resources
-          - "endpoints"
-          - "pods"
-          - "services"
-          - "nodes"
-          - "nodes/metrics"
-          - "nodes/proxy"
-        verbs: ["get", "watch", "list"]
+    - apiGroups: [ "" ]
+      resources:
+      # @feature: kubernetes-monitor; permissions to read resources
+      - "endpoints"
+      - "pods"
+      - "services"
+      - "nodes"
+      - "nodes/metrics"
+      - "nodes/proxy"
+      verbs: [ "get", "watch", "list" ]
   resources:
     limits:
       cpu: 1024m
@@ -471,16 +519,16 @@ opentelemetry-collector:
 
   command:
     name: otelcol
-    extraArgs: ["--config=/conf/config.yaml"]
+    extraArgs: [ "--config=/conf/config.yaml" ]
 
   extraVolumes:
-    - name: otelcol-configmap
-      configMap:
-        name: otel-collector-config
-        defaultMode: 420
+  - name: otelcol-configmap
+    configMap:
+      name: otel-collector-config
+      defaultMode: 420
   extraVolumeMounts:
-    - name: otelcol-configmap
-      mountPath: /conf
+  - name: otelcol-configmap
+    mountPath: /conf
 
 features:
   kubernetesMonitor:

Reply via email to