You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wa...@apache.org on 2026/08/20 01:17:57 UTC

(skywalking-showcase) branch main updated: set SSO for UI login (#293)

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

wankai123 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 9a47880  set SSO for UI login (#293)
9a47880 is described below

commit 9a4788097b0c61574a8c608c5db3d095d93bb10c
Author: Wan Kai <wa...@foxmail.com>
AuthorDate: Thu Aug 20 09:17:52 2026 +0800

    set SSO for UI login (#293)
---
 demo.yaml                              | 5698 --------------------------------
 deploy/platform/kubernetes/values.yaml |  126 +-
 2 files changed, 112 insertions(+), 5712 deletions(-)

diff --git a/demo.yaml b/demo.yaml
deleted file mode 100644
index 843d0f8..0000000
--- a/demo.yaml
+++ /dev/null
@@ -1,5698 +0,0 @@
-helm -n skywalking-showcase upgrade --install demo . --create-namespace --timeout=20m --set skywalking.fullnameOverride=demo --set skywalking.banyandb.image.repository=ghcr.io/apache/skywalking-banyandb --set skywalking.banyandb.image.tag=c2d925e4eae4d77edda94e1fd438243483960150 --set-json 'skywalking.banyandb.storage.liaison.persistentVolumeClaims[0]={"mountTargets":["measure","stream","trace"],"claimName":"liaison-data","size":"10Gi","accessModes":["ReadWriteOnce"],"volumeMode":"Filesy [...]
-Release "demo" does not exist. Installing it now.
-NAME: demo
-LAST DEPLOYED: Thu Jun 11 17:18:40 2026
-NAMESPACE: skywalking-showcase
-STATUS: pending-install
-REVISION: 1
-DESCRIPTION: Dry run complete
-TEST SUITE: None
-USER-SUPPLIED VALUES:
-ciliumServices:
-  hub: ghcr.io/apache/skywalking-showcase
-  namespace: cilium-services
-  tag: 98c98f9
-features:
-  banyandbMonitor:
-    enabled: true
-  baseline:
-    image: ghcr.io/skyapm/skypredictor:66cd881d8316e7bd958a2172a99d2fc33f707150
-  event:
-    exporter:
-      image: ghcr.io/apache/skywalking-kubernetes-event-exporter/skywalking-kubernetes-event-exporter:8a012a3f968cb139f817189afb9b3748841bba22
-  grafana:
-    image: grafana/grafana:12.4.2
-  javaAgentInjector:
-    agentImage: ghcr.io/apache/skywalking-java/skywalking-java:26ef911aea908759795bb6f5f2f6be56370d30cc-java8
-  r3:
-    image: ghcr.io/skyapm/r3:0.1.0
-  rover:
-    image: ghcr.io/apache/skywalking-rover/skywalking-rover:67622c352b98fd32782a3e7afc7d3fbd6d6ec8e3
-    swctl:
-      image: ghcr.io/apache/skywalking-cli/skywalking-cli:bce7faaabbd57ed1f40156af8a8eb6c3eccea4ae
-  traceProfiling:
-    swctl:
-      image: ghcr.io/apache/skywalking-cli/skywalking-cli:bce7faaabbd57ed1f40156af8a8eb6c3eccea4ae
-opentelemetry:
-  enabled: true
-opentelemetry-collector:
-  image:
-    repository: otel/opentelemetry-collector
-    tag: 0.102.1
-sampleServices:
-  hub: ghcr.io/apache/skywalking-showcase
-  namespace: sample-services
-  scaller:
-    enabled: false
-  tag: 98c98f9
-skywalking:
-  banyandb:
-    enabled: true
-    image:
-      repository: ghcr.io/apache/skywalking-banyandb
-      tag: c2d925e4eae4d77edda94e1fd438243483960150
-    storage:
-      data:
-        persistentVolumeClaims:
-        - accessModes:
-          - ReadWriteOnce
-          claimName: hot-stream-data
-          mountTargets:
-          - stream
-          nodeRole: hot
-          size: 10Gi
-          volumeMode: Filesystem
-        - accessModes:
-          - ReadWriteOnce
-          claimName: hot-measure-data
-          mountTargets:
-          - measure
-          nodeRole: hot
-          size: 10Gi
-          volumeMode: Filesystem
-        - accessModes:
-          - ReadWriteOnce
-          claimName: hot-property-data
-          mountTargets:
-          - property
-          nodeRole: hot
-          size: 5Gi
-          volumeMode: Filesystem
-        - accessModes:
-          - ReadWriteOnce
-          claimName: hot-trace-data
-          mountTargets:
-          - trace
-          nodeRole: hot
-          size: 50Gi
-          volumeMode: Filesystem
-        - accessModes:
-          - ReadWriteOnce
-          claimName: hot-schema-property-data
-          mountTargets:
-          - schema-property
-          nodeRole: hot
-          size: 5Gi
-          volumeMode: Filesystem
-        - accessModes:
-          - ReadWriteOnce
-          claimName: warm-data
-          mountTargets:
-          - stream
-          - measure
-          - property
-          - trace
-          nodeRole: warm
-          size: 100Gi
-          volumeMode: Filesystem
-        - accessModes:
-          - ReadWriteOnce
-          claimName: cold-data
-          mountTargets:
-          - stream
-          - measure
-          - property
-          - trace
-          nodeRole: cold
-          size: 500Gi
-          volumeMode: Filesystem
-      liaison:
-        persistentVolumeClaims:
-        - accessModes:
-          - ReadWriteOnce
-          claimName: liaison-data
-          mountTargets:
-          - measure
-          - stream
-          - trace
-          size: 10Gi
-          volumeMode: Filesystem
-  fullnameOverride: demo
-  grafana:
-    plugin:
-      version: 0.1.0
-  oap:
-    image:
-      repository: ghcr.io/apache/skywalking/oap
-      tag: 53cc332752d5b5aa84a0eddf66ccd2a5c1b7d316
-    replicas: 2
-    storageType: banyandb
-  satellite:
-    image:
-      repository: ghcr.io/apache/skywalking-satellite/skywalking-satellite
-      tag: v3cfaf59a755e7ffcd900d6695a8bc4174397cace
-  ui:
-    image:
-      repository: ghcr.io/apache/skywalking-horizon-ui
-      tag: b94cdf3c5e268813eae45b50907490f38759c14b
-swck:
-  image:
-    repository: ghcr.io/apache/skywalking-swck/operator
-    tag: d299bc05ee230f5f366584054db5b099ca60166f
-
-COMPUTED VALUES:
-base:
-  enableCRDTemplates: true
-  global:
-    istioNamespace: demo
-ciliumServices:
-  hub: ghcr.io/apache/skywalking-showcase
-  namespace: cilium-services
-  tag: 98c98f9
-features:
-  activemqMonitor:
-    enabled: false
-  agent:
-    enabled: false
-  als:
-    enabled: false
-  apisixMonitor:
-    enabled: false
-  banyandbMonitor:
-    enabled: true
-  baseline:
-    image: ghcr.io/skyapm/skypredictor:66cd881d8316e7bd958a2172a99d2fc33f707150
-  cilium:
-    enabled: false
-  elasticsearchMonitor:
-    enabled: false
-  event:
-    enabled: false
-    exporter:
-      image: ghcr.io/apache/skywalking-kubernetes-event-exporter/skywalking-kubernetes-event-exporter:8a012a3f968cb139f817189afb9b3748841bba22
-  flinkMonitor:
-    enabled: false
-  function:
-    enabled: false
-  grafana:
-    enabled: false
-    image: grafana/grafana:12.4.2
-  istiodMonitor:
-    enabled: false
-  javaAgentInjector:
-    agentImage: ghcr.io/apache/skywalking-java/skywalking-java:26ef911aea908759795bb6f5f2f6be56370d30cc-java8
-    enabled: false
-  kubernetesMonitor:
-    enabled: false
-  meshWithAgent:
-    enabled: false
-  mongodbMonitor:
-    enabled: false
-  mysqlMonitor:
-    enabled: false
-  nginxMonitor:
-    enabled: false
-  postgresqlMonitor:
-    enabled: false
-  pulsarMonitor:
-    enabled: false
-  r3:
-    enabled: false
-    image: ghcr.io/skyapm/r3:0.1.0
-  rabbitmqMonitor:
-    enabled: false
-  rocketmqMonitor:
-    enabled: false
-  rover:
-    enabled: false
-    image: ghcr.io/apache/skywalking-rover/skywalking-rover:67622c352b98fd32782a3e7afc7d3fbd6d6ec8e3
-    swctl:
-      image: ghcr.io/apache/skywalking-cli/skywalking-cli:bce7faaabbd57ed1f40156af8a8eb6c3eccea4ae
-  so11y:
-    enabled: false
-  traceProfiling:
-    enabled: false
-    swctl:
-      image: ghcr.io/apache/skywalking-cli/skywalking-cli:bce7faaabbd57ed1f40156af8a8eb6c3eccea4ae
-  vmMonitor:
-    enabled: false
-istio:
-  enabled: false
-istiod:
-  global:
-    istioNamespace: demo
-  meshConfig:
-    accessLogFile: /dev/stdout
-    defaultConfig:
-      envoyAccessLogService:
-        address: ""
-      envoyMetricsService:
-        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.*
-      tracing:
-        sampling: 100
-        zipkin:
-          address: ""
-    enableEnvoyAccessLogService: true
-    enableTracing: true
-    ingressClass: istio
-    ingressSelector: istio-ingressgateway
-    ingressService: istio-ingressgateway
-kube-state-metrics:
-  enabled: false
-mongodb:
-  architecture: replicaset
-  auth:
-    enabled: false
-  enabled: false
-  metrics:
-    collector:
-      dbstats: true
-      diagnosticdata: true
-      replicasetstatus: true
-    compatibleMode: true
-    enabled: true
-  persistence:
-    enabled: false
-  replicaCount: 2
-opentelemetry:
-  enabled: true
-opentelemetry-collector:
-  affinity: {}
-  annotations: {}
-  autoscaling:
-    enabled: false
-    maxReplicas: 10
-    minReplicas: 1
-    targetCPUUtilizationPercentage: 80
-  clusterRole:
-    annotations: {}
-    clusterRoleBinding:
-      annotations: {}
-      name: ""
-    create: true
-    name: ""
-    rules:
-    - apiGroups:
-      - ""
-      resources:
-      - endpoints
-      - pods
-      - services
-      - nodes
-      - nodes/metrics
-      - nodes/proxy
-      verbs:
-      - get
-      - watch
-      - list
-  command:
-    extraArgs:
-    - --config=/conf/config.yaml
-    name: otelcol
-  config:
-    exporters:
-      logging: {}
-    extensions:
-      health_check: {}
-      memory_ballast: {}
-    processors:
-      batch: {}
-    receivers:
-      jaeger:
-        protocols:
-          grpc:
-            endpoint: ${MY_POD_IP}:14250
-          thrift_compact:
-            endpoint: ${MY_POD_IP}:6831
-          thrift_http:
-            endpoint: ${MY_POD_IP}:14268
-      otlp:
-        protocols:
-          grpc:
-            endpoint: ${MY_POD_IP}:4317
-          http:
-            endpoint: ${MY_POD_IP}:4318
-      prometheus:
-        config:
-          scrape_configs:
-          - job_name: opentelemetry-collector
-            scrape_interval: 10s
-            static_configs:
-            - targets:
-              - ${MY_POD_IP}:8888
-      zipkin:
-        endpoint: ${MY_POD_IP}:9411
-    service:
-      extensions:
-      - health_check
-      - memory_ballast
-      pipelines:
-        logs:
-          exporters:
-          - logging
-          processors:
-          - memory_limiter
-          - batch
-          receivers:
-          - otlp
-        metrics:
-          exporters:
-          - logging
-          processors:
-          - memory_limiter
-          - batch
-          receivers:
-          - otlp
-          - prometheus
-        traces:
-          exporters:
-          - logging
-          processors:
-          - memory_limiter
-          - batch
-          receivers:
-          - otlp
-          - jaeger
-          - zipkin
-      telemetry:
-        metrics:
-          address: ${MY_POD_IP}:8888
-  configMap:
-    create: false
-  dnsPolicy: ""
-  extraContainers: []
-  extraEnvs: []
-  extraVolumeMounts:
-  - mountPath: /conf
-    name: otelcol-configmap
-  extraVolumes:
-  - configMap:
-      defaultMode: 420
-      name: otel-collector-config
-    name: otelcol-configmap
-  fullnameOverride: ""
-  global: {}
-  hostNetwork: false
-  image:
-    digest: ""
-    pullPolicy: IfNotPresent
-    repository: otel/opentelemetry-collector
-    tag: 0.102.1
-  imagePullSecrets: []
-  ingress:
-    additionalIngresses: []
-    enabled: false
-  initContainers: []
-  lifecycleHooks: {}
-  mode: deployment
-  nameOverride: ""
-  nodeSelector: {}
-  podAnnotations: {}
-  podDisruptionBudget:
-    enabled: false
-  podLabels: {}
-  podMonitor:
-    enabled: false
-    extraLabels: {}
-    metricsEndpoints:
-    - port: metrics
-  podSecurityContext: {}
-  ports:
-    jaeger-compact:
-      containerPort: 6831
-      enabled: true
-      hostPort: 6831
-      protocol: UDP
-      servicePort: 6831
-    jaeger-grpc:
-      containerPort: 14250
-      enabled: true
-      hostPort: 14250
-      protocol: TCP
-      servicePort: 14250
-    jaeger-thrift:
-      containerPort: 14268
-      enabled: true
-      hostPort: 14268
-      protocol: TCP
-      servicePort: 14268
-    metrics:
-      containerPort: 8888
-      enabled: false
-      protocol: TCP
-      servicePort: 8888
-    otlp:
-      appProtocol: grpc
-      containerPort: 4317
-      enabled: true
-      hostPort: 4317
-      protocol: TCP
-      servicePort: 4317
-    otlp-http:
-      containerPort: 4318
-      enabled: true
-      hostPort: 4318
-      protocol: TCP
-      servicePort: 4318
-    zipkin:
-      containerPort: 9411
-      enabled: true
-      hostPort: 9411
-      protocol: TCP
-      servicePort: 9411
-  presets:
-    clusterMetrics:
-      enabled: false
-    hostMetrics:
-      enabled: false
-    kubeletMetrics:
-      enabled: false
-    kubernetesAttributes:
-      enabled: false
-    logsCollection:
-      enabled: false
-      includeCollectorLogs: false
-      storeCheckpoints: false
-  priorityClassName: ""
-  prometheusRule:
-    defaultRules:
-      enabled: false
-    enabled: false
-    extraLabels: {}
-    groups: []
-  replicaCount: 1
-  resources:
-    limits:
-      cpu: 1024m
-      memory: 2Gi
-  revisionHistoryLimit: 10
-  rollout:
-    rollingUpdate: {}
-    strategy: RollingUpdate
-  securityContext: {}
-  service:
-    annotations: {}
-    type: ClusterIP
-  serviceAccount:
-    annotations: {}
-    create: true
-    name: ""
-  serviceMonitor:
-    enabled: false
-    extraLabels: {}
-    metricsEndpoints:
-    - port: metrics
-  statefulset:
-    podManagementPolicy: Parallel
-    volumeClaimTemplates: []
-  tolerations: []
-  topologySpreadConstraints: {}
-prometheus-elasticsearch-exporter:
-  enabled: false
-  es:
-    uri: http://elasticsearch-master:9200
-  fullnameOverride: prometheus-elasticsearch-exporter
-  service:
-    httpPort: 9114
-rabbitmq:
-  auth:
-    erlangCookie: skywalking-showcase
-    password: guest
-    username: guest
-  enabled: false
-  metrics:
-    enabled: true
-  persistence:
-    enabled: false
-  replicaCount: 1
-sampleServices:
-  hub: ghcr.io/apache/skywalking-showcase
-  namespace: sample-services
-  scaller:
-    enabled: false
-  tag: 98c98f9
-skywalking:
-  banyandb:
-    auth:
-      credentialsFileKey: credentials.yaml
-      enabled: false
-      existingSecret: ""
-      users:
-      - password: banyandb
-        username: admin
-    cluster:
-      data:
-        nodeTemplate:
-          affinity: {}
-          backupSidecar:
-            customFlags: []
-            dest: file:///tmp/backups/data-$(ORDINAL_NUMBER)
-            enabled: false
-            resources: {}
-            schedule: '@hourly'
-            timeStyle: daily
-          containerSecurityContext:
-            allowPrivilegeEscalation: false
-            capabilities:
-              drop:
-              - ALL
-            readOnlyRootFilesystem: true
-            runAsNonRoot: true
-          env: []
-          grpcSvc:
-            annotations: {}
-            labels: {}
-            port: 17912
-          lifecycleSidecar:
-            enabled: false
-            progressFile: ""
-            reportDir: ""
-            resources: {}
-            schedule: '@hourly'
-          livenessProbe:
-            failureThreshold: 5
-            initialDelaySeconds: 20
-            periodSeconds: 30
-            successThreshold: 1
-            timeoutSeconds: 5
-          nodeSelector: []
-          podAffinityPreset: ""
-          podAnnotations: {}
-          podAntiAffinityPreset: soft
-          podDisruptionBudget:
-            maxUnavailable: 1
-          priorityClassName: ""
-          readinessProbe:
-            failureThreshold: 5
-            initialDelaySeconds: 20
-            periodSeconds: 30
-            successThreshold: 1
-            timeoutSeconds: 5
-          replicas: 2
-          resources:
-            limits:
-            - key: cpu
-              value: 4
-            - key: memory
-              value: 4Gi
-            requests:
-            - key: cpu
-              value: 100m
-            - key: memory
-              value: 1Gi
-          restoreInitContainer:
-            customFlags: []
-            enabled: false
-            resources: {}
-          securityContext:
-            fsGroup: 1000
-            runAsGroup: 1000
-            runAsUser: 1000
-          sidecar: []
-          startupProbe:
-            failureThreshold: 60
-            initialDelaySeconds: 0
-            periodSeconds: 10
-            successThreshold: 1
-            timeoutSeconds: 5
-          tolerations: []
-          volumePermissions:
-            chownGroup: 1000
-            chownUser: 1000
-            enabled: true
-            image: busybox:1.36
-        replicas: 1
-        roles:
-          cold:
-            backupSidecar:
-              dest: gcs://banyandb-backup/backup/cold-$(ORDINAL_NUMBER)
-              enabled: false
-              resources:
-                limits:
-                - key: cpu
-                  value: 500m
-                - key: memory
-                  value: 512Mi
-                requests:
-                - key: cpu
-                  value: 200m
-                - key: memory
-                  value: 128Mi
-            env:
-            - name: GOMEMLIMIT
-              value: 6GiB
-            hasMetaRole: false
-            replicas: 1
-            resources:
-              limits:
-              - key: cpu
-                value: 8
-              - key: memory
-                value: 8Gi
-              requests:
-              - key: cpu
-                value: 100m
-              - key: memory
-                value: 1Gi
-            restoreInitContainer:
-              enabled: false
-          hot:
-            backupSidecar:
-              dest: gcs://banyandb-backup/backup/hot-$(ORDINAL_NUMBER)
-              enabled: false
-              resources:
-                limits:
-                - key: cpu
-                  value: 500m
-                - key: memory
-                  value: 512Mi
-                requests:
-                - key: cpu
-                  value: 200m
-                - key: memory
-                  value: 128Mi
-            env:
-            - name: GOMEMLIMIT
-              value: 3GiB
-            hasMetaRole: true
-            lifecycleSidecar:
-              enabled: true
-              resources:
-                limits:
-                - key: cpu
-                  value: 500m
-                - key: memory
-                  value: 512Mi
-                requests:
-                - key: cpu
-                  value: 200m
-                - key: memory
-                  value: 128Mi
-              schedule: '@daily'
-            restoreInitContainer:
-              enabled: false
-          warm:
-            backupSidecar:
-              dest: gcs://banyandb-backup/backup/warn-$(ORDINAL_NUMBER)
-              enabled: false
-              resources:
-                limits:
-                - key: cpu
-                  value: 500m
-                - key: memory
-                  value: 512Mi
-                requests:
-                - key: cpu
-                  value: 200m
-                - key: memory
-                  value: 128Mi
-            env:
-            - name: GOMEMLIMIT
-              value: 3GiB
-            hasMetaRole: false
-            lifecycleSidecar:
-              enabled: true
-              resources:
-                limits:
-                - key: cpu
-                  value: 500m
-                - key: memory
-                  value: 512Mi
-                requests:
-                - key: cpu
-                  value: 200m
-                - key: memory
-                  value: 128Mi
-              schedule: '@daily'
-            restoreInitContainer:
-              enabled: false
-      enabled: true
-      fodc:
-        agent:
-          config:
-            heartbeatInterval: 10s
-            ktmEnabled: true
-            pollClusterStateInterval: 30s
-            pollMetricsInterval: 15s
-            reconnectInterval: 10s
-          containerSecurityContext: {}
-          env: []
-          image:
-            pullPolicy: IfNotPresent
-            repository: ghcr.io/apache/skywalking-banyandb-fodc-agent
-            tag: ""
-          livenessProbe:
-            failureThreshold: 5
-            initialDelaySeconds: 90
-            periodSeconds: 30
-            successThreshold: 1
-            timeoutSeconds: 5
-          metricsPort: 9090
-          readinessProbe:
-            failureThreshold: 12
-            initialDelaySeconds: 60
-            periodSeconds: 10
-            successThreshold: 1
-            timeoutSeconds: 5
-          resources:
-            limits:
-            - key: cpu
-              value: 500m
-            - key: memory
-              value: 256Mi
-            requests:
-            - key: cpu
-              value: 200m
-            - key: memory
-              value: 128Mi
-          startupProbe:
-            failureThreshold: 60
-            initialDelaySeconds: 30
-            periodSeconds: 5
-            successThreshold: 1
-            timeoutSeconds: 3
-        enabled: true
-        proxy:
-          affinity: {}
-          config:
-            agentCleanupTimeout: 5m
-            agentHeartbeatTimeout: 30s
-            grpcMaxMsgSize: 4194304
-            heartbeatInterval: 10s
-            httpReadTimeout: 60s
-            httpWriteTimeout: 60s
-            maxAgents: 1000
-          containerSecurityContext: {}
-          env: []
-          grpcSvc:
-            annotations: {}
-            labels: {}
-            port: 17912
-          httpSvc:
-            annotations: {}
-            externalIPs: []
-            labels: {}
-            loadBalancerSourceRanges: []
-            port: 17913
-            type: ClusterIP
-          image:
-            pullPolicy: IfNotPresent
-            repository: ghcr.io/apache/skywalking-banyandb-fodc-proxy
-            tag: ""
-          ingress:
-            annotations: {}
-            enabled: false
-            labels: {}
-            rules: []
-            tls: []
-          livenessProbe:
-            failureThreshold: 5
-            initialDelaySeconds: 10
-            periodSeconds: 30
-            successThreshold: 1
-            timeoutSeconds: 5
-          nodeSelector: []
-          podAffinityPreset: ""
-          podAnnotations: {}
-          podAntiAffinityPreset: soft
-          podDisruptionBudget: {}
-          priorityClassName: ""
-          readinessProbe:
-            failureThreshold: 5
-            initialDelaySeconds: 10
-            periodSeconds: 30
-            successThreshold: 1
-            timeoutSeconds: 5
-          resources:
-            limits:
-            - key: cpu
-              value: 500m
-            - key: memory
-              value: 256Mi
-            requests:
-            - key: cpu
-              value: 200m
-            - key: memory
-              value: 128Mi
-          securityContext: {}
-          startupProbe:
-            failureThreshold: 60
-            initialDelaySeconds: 0
-            periodSeconds: 10
-            successThreshold: 1
-            timeoutSeconds: 5
-          tolerations: []
-      liaison:
-        affinity: {}
-        containerSecurityContext:
-          allowPrivilegeEscalation: false
-          capabilities:
-            drop:
-            - ALL
-          readOnlyRootFilesystem: true
-          runAsNonRoot: true
-        env:
-        - name: GOMEMLIMIT
-          value: 3GiB
-        - name: BYDB_DATA_NODE_SELECTOR
-          value: type=hot
-        grpcSvc:
-          annotations: {}
-          labels: {}
-          port: 17912
-        httpSvc:
-          annotations: {}
-          externalIPs: []
-          labels: {}
-          loadBalancerSourceRanges: []
-          port: 17913
-          type: ClusterIP
-        ingress:
-          annotations: {}
-          enabled: false
-          labels: {}
-          rules: []
-          tls: []
-        livenessProbe:
-          failureThreshold: 5
-          initialDelaySeconds: 20
-          periodSeconds: 30
-          successThreshold: 1
-          timeoutSeconds: 5
-        nodeSelector: []
-        podAffinityPreset: ""
-        podAnnotations: {}
-        podAntiAffinityPreset: soft
-        podDisruptionBudget: {}
-        podManagementPolicy: Parallel
-        priorityClassName: ""
-        readinessProbe:
-          failureThreshold: 5
-          initialDelaySeconds: 20
-          periodSeconds: 30
-          successThreshold: 1
-          timeoutSeconds: 5
-        replicas: 2
-        resources:
-          limits:
-          - key: cpu
-            value: 4
-          - key: memory
-            value: 4Gi
-          requests:
-          - key: cpu
-            value: 100m
-          - key: memory
-            value: 1Gi
-        securityContext:
-          fsGroup: 1000
-          runAsGroup: 1000
-          runAsUser: 1000
-        sidecar: []
-        startupProbe:
-          failureThreshold: 60
-          initialDelaySeconds: 0
-          periodSeconds: 10
-          successThreshold: 1
-          timeoutSeconds: 5
-        tolerations: []
-        updateStrategy:
-          rollingUpdate:
-            maxUnavailable: 1
-          type: RollingUpdate
-        volumePermissions:
-          chownGroup: 1000
-          chownUser: 1000
-          enabled: true
-          image: busybox:1.36
-      nodeDiscovery:
-        dns:
-          fetchInitDuration: 5m
-          fetchInitInterval: 5s
-          fetchInterval: 15s
-          grpcTimeout: 5s
-        file:
-          configMap:
-            content: ""
-            existingName: ""
-            key: nodes.yaml
-          fetchInterval: 5m
-          grpcTimeout: 5s
-          retryInitialInterval: 1s
-          retryMaxInterval: 2m
-          retryMultiplier: 2
-        mode: dns
-      schemaStorage:
-        mode: property
-        property:
-          clientMaxRecvMsgSize: ""
-          clientSyncInterval: 30s
-          server:
-            expireDeleteTimeout: 168h
-            flushTimeout: 5s
-            grpcHost: ""
-            grpcPort: 17916
-            maxFileSnapshotNum: ""
-            maxRecvMsgSize: ""
-            minFileSnapshotAge: 1h
-            repairBuildTreeCron: '@every 1h'
-            repairQuickBuildTreeTime: 10m
-            repairTreeSlotCount: ""
-            tls:
-              secretName: ""
-          serverRepairCron: '@every 10m'
-          tls:
-            secretName: ""
-      ui:
-        standalone:
-          affinity: {}
-          env: []
-          httpSvc:
-            annotations: {}
-            externalIPs: []
-            labels: {}
-            loadBalancerSourceRanges: []
-            port: 17913
-            type: LoadBalancer
-          ingress:
-            annotations: {}
-            enabled: false
-            labels: {}
-            rules: []
-            tls: []
-          livenessProbe:
-            failureThreshold: 5
-            initialDelaySeconds: 20
-            periodSeconds: 30
-            successThreshold: 1
-            timeoutSeconds: 5
-          nodeSelector: []
-          podAffinityPreset: ""
-          podAnnotations: {}
-          podAntiAffinityPreset: soft
-          podDisruptionBudget: {}
-          priorityClassName: ""
-          readinessProbe:
-            failureThreshold: 5
-            initialDelaySeconds: 20
-            periodSeconds: 30
-            successThreshold: 1
-            timeoutSeconds: 5
-          replicas: 1
-          resources:
-            limits: []
-            requests: []
-          securityContext: {}
-          startupProbe:
-            failureThreshold: 60
-            initialDelaySeconds: 0
-            periodSeconds: 10
-            successThreshold: 1
-            timeoutSeconds: 5
-          tolerations: []
-          updateStrategy:
-            rollingUpdate:
-              maxSurge: 1
-              maxUnavailable: 1
-            type: RollingUpdate
-        type: Embedded
-    config:
-      grpcAddress: banyandb-grpc:17912
-      httpAddress: banyandb-http:17913
-    enabled: true
-    etcd:
-      auth:
-        rbac:
-          allowNoneAuthentication: false
-          create: true
-          rootPassword: banyandb
-      enabled: true
-      livenessProbe:
-        enabled: true
-        failureThreshold: 5
-        initialDelaySeconds: 0
-        periodSeconds: 30
-        successThreshold: 1
-        timeoutSeconds: 5
-      persistence:
-        size: 5Gi
-        storageClass: null
-      readinessProbe:
-        enabled: false
-      replicaCount: 1
-      resources:
-        limits:
-          cpu: 4096m
-          memory: 1Gi
-        requests:
-          cpu: 100m
-          memory: 256Mi
-      startupProbe:
-        enabled: true
-        failureThreshold: 60
-        initialDelaySeconds: 20
-        periodSeconds: 10
-        successThreshold: 1
-        timeoutSeconds: 5
-    etcd-client:
-      auth:
-        password: ""
-        tls:
-          caFilename: ca.crt
-          certFilename: tls.crt
-          enabled: false
-          keyFilename: tls.key
-          secretName: ""
-        username: ""
-      endpoints: []
-      fullSyncInterval: 30m
-      namespace: banyandb
-      nodeDiscoveryTimeout: 2m
-    fullnameOverride: ""
-    global: {}
-    image:
-      pullPolicy: IfNotPresent
-      repository: ghcr.io/apache/skywalking-banyandb
-      tag: c2d925e4eae4d77edda94e1fd438243483960150
-    nameOverride: banyandb
-    serviceAccount:
-      annotations: {}
-      create: true
-      name: ""
-    standalone:
-      affinity: {}
-      containerSecurityContext: {}
-      enabled: false
-      env: []
-      grpcSvc:
-        annotations: {}
-        labels: {}
-        port: 17912
-      httpSvc:
-        annotations: {}
-        externalIPs: []
-        labels: {}
-        loadBalancerSourceRanges: []
-        port: 17913
-        type: LoadBalancer
-      ingress:
-        annotations: {}
-        enabled: false
-        labels: {}
-        rules: []
-        tls: []
-      livenessProbe:
-        failureThreshold: 5
-        initialDelaySeconds: 20
-        periodSeconds: 30
-        successThreshold: 1
-        timeoutSeconds: 5
-      nodeSelector: []
-      podAnnotations: {}
-      podDisruptionBudget: {}
-      priorityClassName: ""
-      readinessProbe:
-        failureThreshold: 5
-        initialDelaySeconds: 20
-        periodSeconds: 30
-        successThreshold: 1
-        timeoutSeconds: 5
-      resources: {}
-      securityContext: {}
-      sidecar: []
-      startupProbe:
-        failureThreshold: 60
-        initialDelaySeconds: 0
-        periodSeconds: 10
-        successThreshold: 1
-        timeoutSeconds: 5
-      tls: {}
-      tolerations: []
-      volumePermissions:
-        chownGroup: 1000
-        chownUser: 1000
-        enabled: false
-        image: busybox:1.36
-    storage:
-      data:
-        enabled: true
-        persistentVolumeClaims:
-        - accessModes:
-          - ReadWriteOnce
-          claimName: hot-stream-data
-          mountTargets:
-          - stream
-          nodeRole: hot
-          size: 10Gi
-          volumeMode: Filesystem
-        - accessModes:
-          - ReadWriteOnce
-          claimName: hot-measure-data
-          mountTargets:
-          - measure
-          nodeRole: hot
-          size: 10Gi
-          volumeMode: Filesystem
-        - accessModes:
-          - ReadWriteOnce
-          claimName: hot-property-data
-          mountTargets:
-          - property
-          nodeRole: hot
-          size: 5Gi
-          volumeMode: Filesystem
-        - accessModes:
-          - ReadWriteOnce
-          claimName: hot-trace-data
-          mountTargets:
-          - trace
-          nodeRole: hot
-          size: 50Gi
-          volumeMode: Filesystem
-        - accessModes:
-          - ReadWriteOnce
-          claimName: hot-schema-property-data
-          mountTargets:
-          - schema-property
-          nodeRole: hot
-          size: 5Gi
-          volumeMode: Filesystem
-        - accessModes:
-          - ReadWriteOnce
-          claimName: warm-data
-          mountTargets:
-          - stream
-          - measure
-          - property
-          - trace
-          nodeRole: warm
-          size: 100Gi
-          volumeMode: Filesystem
-        - accessModes:
-          - ReadWriteOnce
-          claimName: cold-data
-          mountTargets:
-          - stream
-          - measure
-          - property
-          - trace
-          nodeRole: cold
-          size: 500Gi
-          volumeMode: Filesystem
-      liaison:
-        enabled: true
-        persistentVolumeClaims:
-        - accessModes:
-          - ReadWriteOnce
-          claimName: liaison-data
-          mountTargets:
-          - measure
-          - stream
-          - trace
-          size: 10Gi
-          volumeMode: Filesystem
-      standalone:
-        enabled: false
-        persistentVolumeClaims:
-        - accessModes:
-          - ReadWriteOnce
-          claimName: standalone-data
-          mountTargets:
-          - measure
-          - stream
-          - metadata
-          - property
-          - trace
-          - schema-property
-          size: 200Gi
-          storageClass: null
-          volumeMode: Filesystem
-  elasticsearch:
-    annotations: {}
-    antiAffinity: soft
-    config:
-      host: elasticsearch
-      password: ""
-      port:
-        http: 9200
-      user: ""
-    enabled: false
-    fullnameOverride: ""
-    http:
-      tls:
-        selfSignedCertificate:
-          disabled: true
-    imagePullPolicy: IfNotPresent
-    ingress:
-      annotations: {}
-      enabled: false
-      hosts:
-      - host: chart-example.local
-        path: /
-      tls:
-        enabled: false
-    labels: {}
-    nodeSets:
-    - config:
-        node.store.allow_mmap: false
-      count: 3
-      name: default
-      podTemplate:
-        metadata: {}
-        spec:
-          containers:
-          - name: elasticsearch
-            resources:
-              limits:
-                memory: 2Gi
-              requests:
-                cpu: 100m
-                memory: 2Gi
-    secureSettings: []
-    updateStrategy: {}
-    version: 8.18.8
-    volumeClaimDeletePolicy: ""
-  fullnameOverride: demo
-  global: {}
-  grafana:
-    plugin:
-      version: 0.1.0
-  imagePullSecrets: []
-  initContainer:
-    image: busybox
-    tag: "1.30"
-  nameOverride: ""
-  oap:
-    antiAffinity: soft
-    config:
-      alarm-settings.yml: "rules:\n  service_resp_time_rule:\n    # 20ms is just for
-        demo\n    expression: sum(service_resp_time > 20) >= 1 \n    period: 5\n    tags:\n
-        \     level: WARNING\n    message: Response time of service {name} is more
-        than 20ms.\n"
-      cilium-rules:
-        exclude.yaml: |
-          namespaces:
-            - kube-system
-            - skywalking-showcase
-            - sample-services
-
-          labels:
-            - k8s:io.cilium.k8s.namespace.labels.istio-injection: enabled
-              k8s:security.istio.io/tlsMode: istio
-        metadata-service-mapping.yaml: |
-          serviceName: cilium::${LABELS."app.kubernetes.io/name",LABELS.component,LABELS.app,LABELS.k8s-app}.${NAMESPACE}
-          serviceInstanceName: ${NAME}
-      core.default.log4j-xml: |-
-        <Configuration status="WARN">
-           <Appenders>
-             <Console name="Console" target="SYSTEM_OUT">
-               <PatternLayout charset="UTF-8" pattern="%d - %c - %L [%t] %-5p %x - %m%n"/>
-             </Console>
-           </Appenders>
-           <Loggers>
-             <logger name="org.apache.skywalking.oap.server.storage" level="INFO"/>
-             <Root level="INFO">
-               <AppenderRef ref="Console"/>
-             </Root>
-            </Loggers>
-        </Configuration>
-      metadata-service-mapping.yaml: |
-        serviceName: mesh-svr::${LABELS."service.istio.io/canonical-name",LABELS."app.kubernetes.io/name",LABELS.app}.${NAMESPACE}
-        serviceInstanceName: ${NAME}
-    dynamicConfig:
-      config: {}
-      enabled: false
-      period: 60
-    env:
-      K8S_SERVICE_NAME_RULE: mesh-svr::${service.metadata.name}.${service.metadata.namespace}
-      SW_AI_PIPELINE_URI_RECOGNITION_SERVER_PORT: "17128"
-      SW_CONFIGURATION: k8s-configmap
-      SW_CORE_ENABLE_ENDPOINT_NAME_GROUPING_BY_OPENAPI: "false"
-      SW_CORE_MAX_HTTP_URIS_NUMBER_PER_SVR: "3000"
-      SW_ENABLE_ON_DEMAND_POD_LOG: "true"
-      SW_ENABLE_UPDATE_UI_TEMPLATE: "false"
-      SW_ENVOY_METRIC_ALS_HTTP_ANALYSIS: mx-mesh,persistence
-      SW_ENVOY_METRIC_ALS_TCP_ANALYSIS: mx-mesh
-      SW_HEALTH_CHECKER: default
-      SW_METER_ANALYZER_ACTIVE_FILES: datasource,threadpool,satellite,network-profiling,go-runtime,python-runtime,spring-micrometer,continuous-profiling,java-agent,go-agent
-      SW_OTEL_RECEIVER: default
-      SW_OTEL_RECEIVER_ENABLED_OTEL_METRICS_RULES: vm,oap,k8s/*,istio-controlplane,mysql/*,postgresql/*,apisix,elasticsearch/*,rabbitmq/*,mongodb/*,nginx/*,rocketmq/*,pulsar/*,activemq/*,flink/*,banyandb/*
-      SW_QUERY_ZIPKIN: default
-      SW_RECEIVER_ZIPKIN: default
-      SW_SLOW_DB_THRESHOLD: default:0,mongodb:100
-      SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_COLD_SHARD_NUM: "1"
-      SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_ENABLE_COLD_STAGE: "true"
-      SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_ENABLE_WARM_STAGE: "true"
-      SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_SHARD_NUM: "1"
-      SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_TTL_DAYS: "1"
-      SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_WARM_SHARD_NUM: "1"
-      SW_STORAGE_BANYANDB_COMPATIBLE_SERVER_API_VERSIONS: 0.9,0.10
-      SW_STORAGE_BANYANDB_LOG_ENABLE_COLD_STAGE: "true"
-      SW_STORAGE_BANYANDB_LOG_ENABLE_WARM_STAGE: "true"
-      SW_STORAGE_BANYANDB_LOG_TTL_DAYS: "1"
-      SW_STORAGE_BANYANDB_METADATA_TTL_DAYS: "60"
-      SW_STORAGE_BANYANDB_METRICS_DAY_COLD_TTL_DAYS: "30"
-      SW_STORAGE_BANYANDB_METRICS_DAY_ENABLE_COLD_STAGE: "true"
-      SW_STORAGE_BANYANDB_METRICS_DAY_ENABLE_WARM_STAGE: "true"
-      SW_STORAGE_BANYANDB_METRICS_DAY_TTL_DAYS: "1"
-      SW_STORAGE_BANYANDB_METRICS_DAY_WARM_TTL_DAYS: "7"
-      SW_STORAGE_BANYANDB_METRICS_HOUR_COLD_TTL_DAYS: "30"
-      SW_STORAGE_BANYANDB_METRICS_HOUR_ENABLE_COLD_STAGE: "true"
-      SW_STORAGE_BANYANDB_METRICS_HOUR_ENABLE_WARM_STAGE: "true"
-      SW_STORAGE_BANYANDB_METRICS_HOUR_TTL_DAYS: "1"
-      SW_STORAGE_BANYANDB_METRICS_HOUR_WARM_TTL_DAYS: "7"
-      SW_STORAGE_BANYANDB_METRICS_MINUTE_COLD_TTL_DAYS: "30"
-      SW_STORAGE_BANYANDB_METRICS_MINUTE_ENABLE_COLD_STAGE: "true"
-      SW_STORAGE_BANYANDB_METRICS_MINUTE_ENABLE_WARM_STAGE: "true"
-      SW_STORAGE_BANYANDB_METRICS_MINUTE_TTL_DAYS: "1"
-      SW_STORAGE_BANYANDB_METRICS_MINUTE_WARM_TTL_DAYS: "7"
-      SW_STORAGE_BANYANDB_RECORDS_ENABLE_COLD_STAGE: "true"
-      SW_STORAGE_BANYANDB_RECORDS_ENABLE_WARM_STAGE: "true"
-      SW_STORAGE_BANYANDB_RECORDS_TTL_DAYS: "1"
-      SW_STORAGE_BANYANDB_TRACE_ENABLE_COLD_STAGE: "true"
-      SW_STORAGE_BANYANDB_TRACE_ENABLE_WARM_STAGE: "true"
-      SW_STORAGE_BANYANDB_TRACE_TTL_DAYS: "1"
-      SW_STORAGE_BANYANDB_ZIPKIN_TRACE_ENABLE_COLD_STAGE: "true"
-      SW_STORAGE_BANYANDB_ZIPKIN_TRACE_ENABLE_WARM_STAGE: "true"
-      SW_STORAGE_BANYANDB_ZIPKIN_TRACE_TTL_DAYS: "1"
-      SW_STORAGE_ES_INDEX_SHARDS_NUMBER: "6"
-      SW_STORAGE_ES_RESPONSE_TIMEOUT: "50000"
-      SW_STORAGE_ES_SUPER_DATASET_INDEX_SHARDS_FACTOR: "2"
-      SW_TELEMETRY: prometheus
-      SW_TRACEQL: default
-      SW_TRACEQL_ENABLE_DATASOURCE_SKYWALKING: "true"
-      SW_TRACEQL_ENABLE_DATASOURCE_ZIPKIN: "true"
-    image:
-      pullPolicy: IfNotPresent
-      repository: ghcr.io/apache/skywalking/oap
-      tag: 53cc332752d5b5aa84a0eddf66ccd2a5c1b7d316
-    javaOpts: -Xmx2g -Xms2g
-    livenessProbe: {}
-    name: oap
-    nodeAffinity: {}
-    nodeSelector: {}
-    ports:
-      admin: 17128
-      grpc: 11800
-      logql: 3100
-      metrics: 1234
-      promql: 9090
-      rest: 12800
-      traceql: 3200
-      zipkin-query: 9412
-      zipkin-receiver: 9411
-    readinessProbe: {}
-    replicas: 2
-    resources: {}
-    secretMounts: []
-    securityContext: {}
-    service:
-      annotations: {}
-      type: ClusterIP
-    startupProbe:
-      failureThreshold: 10
-      initialDelaySeconds: 120
-      periodSeconds: 10
-      tcpSocket:
-        port: 12800
-    storageType: banyandb
-    tolerations: []
-  oapInit:
-    extraPodLabels: {}
-    nodeAffinity: {}
-    nodeSelector: {}
-    tolerations: []
-  postgresql:
-    auth:
-      database: skywalking
-      password: "123456"
-      postgresPassword: "123456"
-      username: postgres
-    config:
-      host: postgresql-service.your-awesome-company.com
-    containerPorts:
-      postgresql: 5432
-    enabled: false
-    primary:
-      persistence:
-        enabled: false
-    readReplicas:
-      persistence:
-        enabled: false
-  satellite:
-    antiAffinity: soft
-    config: {}
-    enabled: false
-    env:
-      SATELLITE_TELEMETRY_EXPORT_TYPE: metrics_service
-    image:
-      pullPolicy: IfNotPresent
-      repository: ghcr.io/apache/skywalking-satellite/skywalking-satellite
-      tag: v3cfaf59a755e7ffcd900d6695a8bc4174397cace
-    name: satellite
-    nodeAffinity: {}
-    nodeSelector: {}
-    podAnnotations:
-      sidecar.istio.io/inject: "false"
-    ports:
-      grpc: 11800
-      prometheus: 1234
-    replicas: 1
-    resources:
-      limits:
-        cpu: 2
-        memory: 4Gi
-      requests:
-        cpu: 2
-        memory: 4Gi
-    securityContext: {}
-    service:
-      type: ClusterIP
-    tolerations: []
-  serviceAccounts:
-    oap:
-      create: true
-      name: ""
-  ui:
-    config:
-      auth:
-        backend: local
-        local:
-          users:
-          - passwordHash: $argon2id$v=19$m=65536,t=3,p=4$eemqy1r72oSXR58y8VpRqw$Bn/dULrmJTHEi3263KfgWDEwQmUsqNLi3xwyv/DekHM
-            roles:
-            - admin
-            username: admin
-          - passwordHash: $argon2id$v=19$m=65536,t=3,p=4$Zqj8HhQDqm8d5c2MipHYZw$BsaCnu4bdd4uadIldx3wwYLsdo47Thxb7Lv1MXpWG2Q
-            roles:
-            - viewer
-            - maintainer
-            username: skywalking
-      oap:
-        timeoutMs: 15000
-      rbac:
-        enabled: true
-      server:
-        host: 0.0.0.0
-        port: 8081
-      session:
-        cookieName: horizon_sid
-        cookieSecure: false
-        ttlMinutes: 60
-    enabled: true
-    envFromSecret: ""
-    extraEnv: []
-    image:
-      pullPolicy: IfNotPresent
-      repository: ghcr.io/apache/skywalking-horizon-ui
-      tag: b94cdf3c5e268813eae45b50907490f38759c14b
-    ingress:
-      annotations: {}
-      enabled: false
-      hosts: []
-      path: /
-      tls: []
-    livenessProbe:
-      initialDelaySeconds: 30
-      periodSeconds: 20
-      tcpSocket:
-        port: 8081
-    name: ui
-    nodeAffinity: {}
-    nodeSelector: {}
-    persistence:
-      accessModes:
-      - ReadWriteOnce
-      annotations: {}
-      enabled: false
-      size: 1Gi
-    readinessProbe:
-      failureThreshold: 6
-      httpGet:
-        path: /api/auth/health
-        port: 8081
-      initialDelaySeconds: 10
-      periodSeconds: 10
-    replicas: 1
-    resources: {}
-    securityContext:
-      fsGroup: 101
-    service:
-      annotations: {}
-      externalPort: 80
-      internalPort: 8081
-      type: ClusterIP
-    tolerations: []
-swck:
-  cert-manager:
-    enabled: true
-  fullnameOverride: swck-demo
-  image:
-    repository: ghcr.io/apache/skywalking-swck/operator
-    tag: d299bc05ee230f5f366584054db5b099ca60166f
-
-HOOKS:
----
-# Source: skywalking-showcase/charts/skywalking/templates/oap-init.job.yaml
-# 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.
-
-# https://docs.sentry.io/server/installation/docker/#running-migrations
-
-apiVersion: batch/v1
-kind: Job
-metadata:
-  name: "demo-oap-init"
-  labels:
-    app: demo
-    chart: skywalking-0.0.0-9a97f2d6f0291a580b00f13ddcc1a03079a23b23
-    component: "demo-job"
-    heritage: Helm
-    release: demo
-  annotations:
-    "helm.sh/hook": post-install,post-upgrade,post-rollback
-    "helm.sh/hook-weight": "1"
-spec:
-  template:
-    metadata:
-      name: "demo-oap-init"
-      labels:
-        app: demo
-        component: "demo-job"
-        release: demo
-    spec:
-      serviceAccountName: demo-oap
-      restartPolicy: Never
-      initContainers:
-      
-      - name: wait-for-banyandb
-        image: curlimages/curl
-        imagePullPolicy: IfNotPresent
-        command: ['sh', '-c', 'for i in $(seq 1 60); do curl -k demo-banyandb-http:17913/api/healthz && exit 0 || sleep 5; done; exit 1']
-      containers:
-      - name: oap
-        image: ghcr.io/apache/skywalking/oap:53cc332752d5b5aa84a0eddf66ccd2a5c1b7d316
-        imagePullPolicy: IfNotPresent
-        env:
-        - name: JAVA_OPTS
-          value: "-Xmx2g -Xms2g -Dmode=init"
-        - name: SW_STORAGE
-          value: banyandb
-        - name: SW_STORAGE_BANYANDB_TARGETS
-          value: "demo-banyandb-grpc:17912"
-        - name: K8S_SERVICE_NAME_RULE
-          value: "mesh-svr::${service.metadata.name}.${service.metadata.namespace}"
-        - name: SW_AI_PIPELINE_URI_RECOGNITION_SERVER_PORT
-          value: "17128"
-        - name: SW_CONFIGURATION
-          value: "k8s-configmap"
-        - name: SW_CORE_ENABLE_ENDPOINT_NAME_GROUPING_BY_OPENAPI
-          value: "false"
-        - name: SW_CORE_MAX_HTTP_URIS_NUMBER_PER_SVR
-          value: "3000"
-        - name: SW_ENABLE_ON_DEMAND_POD_LOG
-          value: "true"
-        - name: SW_ENABLE_UPDATE_UI_TEMPLATE
-          value: "false"
-        - name: SW_ENVOY_METRIC_ALS_HTTP_ANALYSIS
-          value: "mx-mesh,persistence"
-        - name: SW_ENVOY_METRIC_ALS_TCP_ANALYSIS
-          value: "mx-mesh"
-        - name: SW_HEALTH_CHECKER
-          value: "default"
-        - name: SW_METER_ANALYZER_ACTIVE_FILES
-          value: "datasource,threadpool,satellite,network-profiling,go-runtime,python-runtime,spring-micrometer,continuous-profiling,java-agent,go-agent"
-        - name: SW_OTEL_RECEIVER
-          value: "default"
-        - name: SW_OTEL_RECEIVER_ENABLED_OTEL_METRICS_RULES
-          value: "vm,oap,k8s/*,istio-controlplane,mysql/*,postgresql/*,apisix,elasticsearch/*,rabbitmq/*,mongodb/*,nginx/*,rocketmq/*,pulsar/*,activemq/*,flink/*,banyandb/*"
-        - name: SW_QUERY_ZIPKIN
-          value: "default"
-        - name: SW_RECEIVER_ZIPKIN
-          value: "default"
-        - name: SW_SLOW_DB_THRESHOLD
-          value: "default:0,mongodb:100"
-        - name: SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_COLD_SHARD_NUM
-          value: "1"
-        - name: SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_ENABLE_COLD_STAGE
-          value: "true"
-        - name: SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_ENABLE_WARM_STAGE
-          value: "true"
-        - name: SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_SHARD_NUM
-          value: "1"
-        - name: SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_TTL_DAYS
-          value: "1"
-        - name: SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_WARM_SHARD_NUM
-          value: "1"
-        - name: SW_STORAGE_BANYANDB_COMPATIBLE_SERVER_API_VERSIONS
-          value: "0.9,0.10"
-        - name: SW_STORAGE_BANYANDB_LOG_ENABLE_COLD_STAGE
-          value: "true"
-        - name: SW_STORAGE_BANYANDB_LOG_ENABLE_WARM_STAGE
-          value: "true"
-        - name: SW_STORAGE_BANYANDB_LOG_TTL_DAYS
-          value: "1"
-        - name: SW_STORAGE_BANYANDB_METADATA_TTL_DAYS
-          value: "60"
-        - name: SW_STORAGE_BANYANDB_METRICS_DAY_COLD_TTL_DAYS
-          value: "30"
-        - name: SW_STORAGE_BANYANDB_METRICS_DAY_ENABLE_COLD_STAGE
-          value: "true"
-        - name: SW_STORAGE_BANYANDB_METRICS_DAY_ENABLE_WARM_STAGE
-          value: "true"
-        - name: SW_STORAGE_BANYANDB_METRICS_DAY_TTL_DAYS
-          value: "1"
-        - name: SW_STORAGE_BANYANDB_METRICS_DAY_WARM_TTL_DAYS
-          value: "7"
-        - name: SW_STORAGE_BANYANDB_METRICS_HOUR_COLD_TTL_DAYS
-          value: "30"
-        - name: SW_STORAGE_BANYANDB_METRICS_HOUR_ENABLE_COLD_STAGE
-          value: "true"
-        - name: SW_STORAGE_BANYANDB_METRICS_HOUR_ENABLE_WARM_STAGE
-          value: "true"
-        - name: SW_STORAGE_BANYANDB_METRICS_HOUR_TTL_DAYS
-          value: "1"
-        - name: SW_STORAGE_BANYANDB_METRICS_HOUR_WARM_TTL_DAYS
-          value: "7"
-        - name: SW_STORAGE_BANYANDB_METRICS_MINUTE_COLD_TTL_DAYS
-          value: "30"
-        - name: SW_STORAGE_BANYANDB_METRICS_MINUTE_ENABLE_COLD_STAGE
-          value: "true"
-        - name: SW_STORAGE_BANYANDB_METRICS_MINUTE_ENABLE_WARM_STAGE
-          value: "true"
-        - name: SW_STORAGE_BANYANDB_METRICS_MINUTE_TTL_DAYS
-          value: "1"
-        - name: SW_STORAGE_BANYANDB_METRICS_MINUTE_WARM_TTL_DAYS
-          value: "7"
-        - name: SW_STORAGE_BANYANDB_RECORDS_ENABLE_COLD_STAGE
-          value: "true"
-        - name: SW_STORAGE_BANYANDB_RECORDS_ENABLE_WARM_STAGE
-          value: "true"
-        - name: SW_STORAGE_BANYANDB_RECORDS_TTL_DAYS
-          value: "1"
-        - name: SW_STORAGE_BANYANDB_TRACE_ENABLE_COLD_STAGE
-          value: "true"
-        - name: SW_STORAGE_BANYANDB_TRACE_ENABLE_WARM_STAGE
-          value: "true"
-        - name: SW_STORAGE_BANYANDB_TRACE_TTL_DAYS
-          value: "1"
-        - name: SW_STORAGE_BANYANDB_ZIPKIN_TRACE_ENABLE_COLD_STAGE
-          value: "true"
-        - name: SW_STORAGE_BANYANDB_ZIPKIN_TRACE_ENABLE_WARM_STAGE
-          value: "true"
-        - name: SW_STORAGE_BANYANDB_ZIPKIN_TRACE_TTL_DAYS
-          value: "1"
-        - name: SW_STORAGE_ES_INDEX_SHARDS_NUMBER
-          value: "6"
-        - name: SW_STORAGE_ES_RESPONSE_TIMEOUT
-          value: "50000"
-        - name: SW_STORAGE_ES_SUPER_DATASET_INDEX_SHARDS_FACTOR
-          value: "2"
-        - name: SW_TELEMETRY
-          value: "prometheus"
-        - name: SW_TRACEQL
-          value: "default"
-        - name: SW_TRACEQL_ENABLE_DATASOURCE_SKYWALKING
-          value: "true"
-        - name: SW_TRACEQL_ENABLE_DATASOURCE_ZIPKIN
-          value: "true"
-
-        volumeMounts:
-        
-        - name: skywalking-oap-override
-          mountPath: /skywalking/config/alarm-settings.yml
-          subPath: alarm-settings.yml
-        - name: skywalking-oap-override
-          mountPath: /skywalking/config/cilium-rules/exclude.yaml
-          subPath: cilium-rules-exclude.yaml
-        - name: skywalking-oap-override
-          mountPath: /skywalking/config/cilium-rules/metadata-service-mapping.yaml
-          subPath: cilium-rules-metadata-service-mapping.yaml
-        - name: skywalking-oap-override
-          mountPath: /skywalking/config/core.default.log4j-xml
-          subPath: core.default.log4j-xml
-        - name: skywalking-oap-override
-          mountPath: /skywalking/config/metadata-service-mapping.yaml
-          subPath: metadata-service-mapping.yaml
-
-      volumes:
-      
-      - name: skywalking-oap-override
-        configMap:
-          name: demo-oap-cm-override
-MANIFEST:
----
-# Source: skywalking-showcase/templates/feature-agent/resources.yaml
-apiVersion: v1
-kind: Namespace
-metadata:
-  name: sample-services
-  labels:
-    istio-injection: enabled
----
-# Source: skywalking-showcase/charts/opentelemetry-collector/templates/serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-metadata:
-  name: demo-opentelemetry-collector
-  labels:
-    helm.sh/chart: opentelemetry-collector-0.51.1
-    app.kubernetes.io/name: opentelemetry-collector
-    app.kubernetes.io/instance: demo
-    app.kubernetes.io/version: "0.74.0"
-    app.kubernetes.io/managed-by: Helm
----
-# Source: skywalking-showcase/charts/skywalking/charts/banyandb/templates/serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-metadata:
-  name: demo-banyandb
-  labels: 
-    helm.sh/chart: banyandb-0.6.0
-    app.kubernetes.io/name: banyandb
-    app.kubernetes.io/instance: demo
-    app.kubernetes.io/managed-by: Helm
----
-# Source: skywalking-showcase/charts/skywalking/templates/oap-serviceaccount.yaml
-# 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.
-apiVersion: v1
-kind: ServiceAccount
-metadata:
-  labels:
-    app: demo
-    chart: skywalking-0.0.0-9a97f2d6f0291a580b00f13ddcc1a03079a23b23
-    component: "oap"
-    heritage: Helm
-    release: demo
-  name: demo-oap
----
-# Source: skywalking-showcase/charts/skywalking/templates/oap-cm-override.yaml
-# 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.
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: demo-oap-cm-override
-  labels:
-    app: demo
-    release: demo
-    component: oap
-data:
- alarm-settings.yml: |
-    rules:
-      service_resp_time_rule:
-        # 20ms is just for demo
-        expression: sum(service_resp_time > 20) >= 1 
-        period: 5
-        tags:
-          level: WARNING
-        message: Response time of service {name} is more than 20ms.
-    
- cilium-rules-exclude.yaml: |
-    namespaces:
-      - kube-system
-      - skywalking-showcase
-      - sample-services
-    
-    labels:
-      - k8s:io.cilium.k8s.namespace.labels.istio-injection: enabled
-        k8s:security.istio.io/tlsMode: istio
-    
- cilium-rules-metadata-service-mapping.yaml: |
-    serviceName: cilium::${LABELS."app.kubernetes.io/name",LABELS.component,LABELS.app,LABELS.k8s-app}.${NAMESPACE}
-    serviceInstanceName: ${NAME}
-    
- core.default.log4j-xml: |
-    <Configuration status="WARN">
-       <Appenders>
-         <Console name="Console" target="SYSTEM_OUT">
-           <PatternLayout charset="UTF-8" pattern="%d - %c - %L [%t] %-5p %x - %m%n"/>
-         </Console>
-       </Appenders>
-       <Loggers>
-         <logger name="org.apache.skywalking.oap.server.storage" level="INFO"/>
-         <Root level="INFO">
-           <AppenderRef ref="Console"/>
-         </Root>
-        </Loggers>
-    </Configuration>
- metadata-service-mapping.yaml: |
-    serviceName: mesh-svr::${LABELS."service.istio.io/canonical-name",LABELS."app.kubernetes.io/name",LABELS.app}.${NAMESPACE}
-    serviceInstanceName: ${NAME}
----
-# Source: skywalking-showcase/charts/skywalking/templates/ui-configmap.yaml
-# 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.
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: demo-ui
-  labels:
-    app: demo
-    chart: skywalking-0.0.0-9a97f2d6f0291a580b00f13ddcc1a03079a23b23
-    component: "ui"
-    heritage: Helm
-    release: demo
-data:
-  horizon.yaml: |
-    auth:
-      backend: local
-      local:
-        users:
-        - passwordHash: $argon2id$v=19$m=65536,t=3,p=4$eemqy1r72oSXR58y8VpRqw$Bn/dULrmJTHEi3263KfgWDEwQmUsqNLi3xwyv/DekHM
-          roles:
-          - admin
-          username: admin
-        - passwordHash: $argon2id$v=19$m=65536,t=3,p=4$Zqj8HhQDqm8d5c2MipHYZw$BsaCnu4bdd4uadIldx3wwYLsdo47Thxb7Lv1MXpWG2Q
-          roles:
-          - viewer
-          - maintainer
-          username: skywalking
-    oap:
-      adminUrl: http://demo-oap:17128
-      queryUrl: http://demo-oap:12800
-      timeoutMs: 15000
-      zipkinUrl: http://demo-oap:9412/zipkin
-    rbac:
-      enabled: true
-    server:
-      host: 0.0.0.0
-      port: 8081
-    session:
-      cookieName: horizon_sid
-      cookieSecure: false
-      ttlMinutes: 60
----
-# Source: skywalking-showcase/templates/feature-agent/resources.yaml
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: apisix-config
-  namespace: sample-services
-  labels:
-    app: apisix-config
-data:
-  apisix: |
-      routes:
-      - uri: /browser/*
-        service_id: 1
-      - uri: /v3/*
-        service_id: 1
-      - uri: /homepage
-        service_id: 2
-        plugins:
-          skywalking:
-            service_name: ${{SW_AGENT_SERVICE}}
-            service_instance_name: ${{SW_AGENT_SERVICE_INSTANCE}}
-            endpoint_addr: http://demo-oap.skywalking-showcase.svc.cluster.local:12800
-      - uri: /test
-        service_id: 2
-        plugins:
-          skywalking:
-            service_name: ${{SW_AGENT_SERVICE}}
-            service_instance_name: ${{SW_AGENT_SERVICE_INSTANCE}}
-            endpoint_addr: http://demo-oap.skywalking-showcase.svc.cluster.local:12800
-      services:
-      - id: 1
-        upstream_id: 1
-      - id: 2
-        upstream_id: 2
-
-      upstreams:
-      - id: 1
-        nodes:
-          "demo-oap.skywalking-showcase.svc.cluster.local:12800": 1
-        type: roundrobin
-      - id: 2
-        nodes:
-          "app:80": 1
-        type: roundrobin
-
-      global_rules:
-      - id: 1
-        plugins:
-          prometheus:
-            export_addr:
-              ip: "0.0.0.0"
-              port: 9091
-      #END
-  config: |
-    apisix:
-      node_listen: 80
-      enable_ipv6: false
-      enable_admin: false
-      config_center: yaml
-    plugin_attr:
-      prometheus:
-        export_addr:
-          ip: "0.0.0.0"
-          port: 9091
-      skywalking:
-        service_name: ${{SW_AGENT_SERVICE}}
-        service_instance_name: ${{SW_AGENT_SERVICE_INSTANCE}}
-        endpoint_addr: http://demo-oap.skywalking-showcase.svc.cluster.local:12800
-    plugins:
-      - prometheus
-      - skywalking
-    nginx_config:
-      http_server_configuration_snippet: |
-        location ~ \.(gif|jpg|png|js|css|html)$ {
-          root /app/build;
-          index index.html;
-        }
----
-# Source: skywalking-showcase/templates/feature-agent/resources.yaml
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: activemq-config
-  namespace: sample-services
-  labels:
-    app: activemq-config
-data:
-  activemq: |
-    <beans
-    xmlns="http://www.springframework.org/schema/beans"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
-    http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">
-    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
-        <property name="locations">
-            <value>file:${activemq.conf}/credentials.properties</value>
-        </property>
-    </bean>
-    <broker xmlns="http://activemq.apache.org/schema/core" brokerName="${ACTIVEMQ_BROKER_NAME}" dataDirectory="${activemq.data}">
-        <destinationPolicy>
-            <policyMap>
-              <policyEntries>
-                <policyEntry topic=">" >
-                  <pendingMessageLimitStrategy>
-                    <constantPendingMessageLimitStrategy limit="1000"/>
-                  </pendingMessageLimitStrategy>
-                </policyEntry>
-              </policyEntries>
-            </policyMap>
-        </destinationPolicy>
-        <managementContext>
-            <managementContext createConnector="false"/>
-        </managementContext>
-        <persistenceAdapter>
-            <kahaDB directory="${activemq.data}/kahadb"/>
-        </persistenceAdapter>
-          <systemUsage>
-            <systemUsage>
-                <memoryUsage>
-                    <memoryUsage percentOfJvmHeap="70" />
-                </memoryUsage>
-                <storeUsage>
-                    <storeUsage limit="100 gb"/>
-                </storeUsage>
-                <tempUsage>
-                    <tempUsage limit="50 gb"/>
-                </tempUsage>
-            </systemUsage>
-        </systemUsage>
-        <transportConnectors>
-            <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
-            <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
-            <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
-            <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
-            <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
-        </transportConnectors>
-        <shutdownHooks>
-            <bean xmlns="http://www.springframework.org/schema/beans" class="org.apache.activemq.hooks.SpringContextHook" />
-        </shutdownHooks>
-      </broker>
-      <import resource="jetty.xml"/>
-    </beans>
-  config: |
-    startDelaySeconds: 10
-    hostPort: localhost:1616
-    ssl: false
-    lowercaseOutputName: false
-    lowercaseOutputLabelNames: false
-    includeObjectNames: ["org.apache.activemq:*","java.lang:type=OperatingSystem","java.lang:type=GarbageCollector,*","java.lang:type=Threading","java.lang:type=Runtime","java.lang:type=Memory","java.lang:name=*"]
-    excludeObjectNames: ["org.apache.activemq:type=ColumnFamily,*"]
-    autoExcludeObjectNameAttributes: true
-    excludeObjectNameAttributes:
-      "java.lang:type=OperatingSystem":
-        - "ObjectName"
-      "java.lang:type=Runtime":
-        - "ClassPath"
-        - "SystemProperties"
-    rules:
-    - pattern: ".*"
----
-# Source: skywalking-showcase/templates/otel-collector-config.yaml
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: otel-collector-config
-data:
-  config.yaml: |
-    receivers:
-      prometheus/15:
-        config:
-          scrape_configs:            
-            
-            # @feature: banyandb-monitor; SWIP-15 BanyanDB self-observability.
-            # Scrape the FODC proxy (component=fodc-proxy) on its HTTP port: the proxy re-exposes every
-            # BanyanDB node's Prometheus metrics, aggregated and already stamped with the identity labels the
-            # SWIP-15 MAL rules key on (container_name / node_role / node_type / pod_name). SkyWalking only
-            # needs to inject the single `cluster` label. Do NOT scrape the per-node :2121 endpoints — they
-            # do not carry those identity labels. The Prometheus `job` becomes service.name, which OAP maps to
-            # the `job_name` tag the rules filter on, so it MUST stay 'banyandb-monitoring'.
-            - job_name: 'banyandb-monitoring'
-              metrics_path: '/metrics'
-              # Scrape faster than the default 60s: the SWIP-15 rules compute many `.rate('PT15S')`
-              # write/query/error rates, which read 0 if the scrape interval is coarser than the rate window.
-              scrape_interval: 10s
-              kubernetes_sd_configs:
-                - role: pod
-              relabel_configs:
-                - source_labels: [ __meta_kubernetes_pod_label_app_kubernetes_io_component, __meta_kubernetes_pod_container_port_name ]
-                  action: keep
-                  regex: fodc-proxy;http
-                - source_labels: [ ]
-                  target_label: cluster
-                  replacement: showcase-banyandb
-
-    exporters:
-      otlp/15:
-        endpoint: "demo-oap.skywalking-showcase.svc.cluster.local:11800"
-        tls:
-          insecure: true
-      logging:
-        verbosity: detailed
-
-    extensions:
-      # The health_check extension is mandatory for this chart.
-      # Without the health_check extension the collector will fail the readiness and liveliness probes.
-      # The health_check extension can be modified, but should never be removed.
-      health_check: {}
-
-    service:
-      pipelines:
-        metrics/15:
-          receivers: 
-            - prometheus/15
-          exporters: [ otlp/15,logging ]
-      extensions:
-        - health_check
----
-# Source: skywalking-showcase/charts/opentelemetry-collector/templates/clusterrole.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
-  name: demo-opentelemetry-collector
-  labels:
-    helm.sh/chart: opentelemetry-collector-0.51.1
-    app.kubernetes.io/name: opentelemetry-collector
-    app.kubernetes.io/instance: demo
-    app.kubernetes.io/version: "0.74.0"
-    app.kubernetes.io/managed-by: Helm
-rules:
-  - apiGroups:
-    - ""
-    resources:
-    - endpoints
-    - pods
-    - services
-    - nodes
-    - nodes/metrics
-    - nodes/proxy
-    verbs:
-    - get
-    - watch
-    - list
----
-# Source: skywalking-showcase/charts/skywalking/templates/oap-clusterrole.yaml
-# 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.
-kind: ClusterRole
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: demo
-  labels:
-    app: demo
-    chart: "skywalking-0.0.0-9a97f2d6f0291a580b00f13ddcc1a03079a23b23"
-    release: "demo"
-    heritage: "Helm"
-rules:
-- apiGroups: [""]
-  resources: ["pods", "pods/log", "endpoints", "services", "nodes", "namespaces", "configmaps"]
-  verbs: ["get", "watch", "list"]
-- apiGroups: ["extensions"]
-  resources: ["deployments", "replicasets"]
-  verbs: ["get", "watch", "list"]
-- apiGroups: ["networking.istio.io"]
-  resources: ["serviceentries"]
-  verbs: ["get", "watch", "list"]
----
-# Source: skywalking-showcase/charts/opentelemetry-collector/templates/clusterrolebinding.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
-  name: demo-opentelemetry-collector
-  labels:
-    helm.sh/chart: opentelemetry-collector-0.51.1
-    app.kubernetes.io/name: opentelemetry-collector
-    app.kubernetes.io/instance: demo
-    app.kubernetes.io/version: "0.74.0"
-    app.kubernetes.io/managed-by: Helm
-roleRef:
-  apiGroup: rbac.authorization.k8s.io
-  kind: ClusterRole
-  name: demo-opentelemetry-collector
-subjects:
-- kind: ServiceAccount
-  name: demo-opentelemetry-collector
-  namespace: skywalking-showcase
----
-# Source: skywalking-showcase/charts/skywalking/templates/oap-clusterrolebinding.yaml
-# 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.
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
-  name: demo
-  labels:
-    app: demo
-    chart: "skywalking-0.0.0-9a97f2d6f0291a580b00f13ddcc1a03079a23b23"
-    release: "demo"
-    heritage: "Helm"
-roleRef:
-  apiGroup: rbac.authorization.k8s.io
-  kind: ClusterRole
-  name: demo
-subjects:
-- kind: ServiceAccount
-  name: demo-oap
-  namespace: skywalking-showcase
----
-# Source: skywalking-showcase/charts/skywalking/templates/oap-role.yaml
-# 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.
-kind: Role
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: demo
-  labels:
-    app: demo
-    chart: "skywalking-0.0.0-9a97f2d6f0291a580b00f13ddcc1a03079a23b23"
-    release: "demo"
-    heritage: "Helm"
-rules:
-  - apiGroups: [""]
-    resources: ["pods","configmaps"]
-    verbs: ["get", "watch", "list"]
----
-# Source: skywalking-showcase/charts/skywalking/templates/oap-rolebinding.yaml
-# 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.
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
-  name: demo
-  labels:
-    app: demo
-    chart: "skywalking-0.0.0-9a97f2d6f0291a580b00f13ddcc1a03079a23b23"
-    release: "demo"
-    heritage: "Helm"
-roleRef:
-  apiGroup: rbac.authorization.k8s.io
-  kind: Role
-  name: demo
-subjects:
-  - kind: ServiceAccount
-    name: demo-oap
-    namespace: skywalking-showcase
----
-# Source: skywalking-showcase/charts/opentelemetry-collector/templates/service.yaml
-apiVersion: v1
-kind: Service
-metadata:
-  name: demo-opentelemetry-collector
-  labels:
-    helm.sh/chart: opentelemetry-collector-0.51.1
-    app.kubernetes.io/name: opentelemetry-collector
-    app.kubernetes.io/instance: demo
-    app.kubernetes.io/version: "0.74.0"
-    app.kubernetes.io/managed-by: Helm
-    component: standalone-collector
-spec:
-  type: ClusterIP
-  ports: 
-    
-    - name: jaeger-compact
-      port: 6831
-      targetPort: 6831
-      protocol: UDP
-    - name: jaeger-grpc
-      port: 14250
-      targetPort: 14250
-      protocol: TCP
-    - name: jaeger-thrift
-      port: 14268
-      targetPort: 14268
-      protocol: TCP
-    - name: otlp
-      port: 4317
-      targetPort: 4317
-      protocol: TCP
-      appProtocol: grpc
-    - name: otlp-http
-      port: 4318
-      targetPort: 4318
-      protocol: TCP
-    - name: zipkin
-      port: 9411
-      targetPort: 9411
-      protocol: TCP
-  selector:
-    app.kubernetes.io/name: opentelemetry-collector
-    app.kubernetes.io/instance: demo
-    component: standalone-collector
----
-# Source: skywalking-showcase/charts/skywalking/charts/banyandb/templates/cluster_data_headless_service.yaml
-apiVersion: v1
-kind: Service
-metadata:
-  name: demo-banyandb-data-cold-headless
-  labels: 
-    helm.sh/chart: banyandb-0.6.0
-    app.kubernetes.io/name: banyandb
-    app.kubernetes.io/instance: demo
-    app.kubernetes.io/managed-by: Helm
-    app.kubernetes.io/component: data
-    app.kubernetes.io/role: cold
-spec:
-  clusterIP: None
-  publishNotReadyAddresses: true
-  ports:
-    - port: 17912
-      name: grpc
-      targetPort: grpc
-  selector: 
-    app.kubernetes.io/name: banyandb
-    app.kubernetes.io/instance: demo
-    app.kubernetes.io/component: data
-    app.kubernetes.io/role: cold
----
-# Source: skywalking-showcase/charts/skywalking/charts/banyandb/templates/cluster_data_headless_service.yaml
-apiVersion: v1
-kind: Service
-metadata:
-  name: demo-banyandb-data-hot-headless
-  labels: 
-    helm.sh/chart: banyandb-0.6.0
-    app.kubernetes.io/name: banyandb
-    app.kubernetes.io/instance: demo
-    app.kubernetes.io/managed-by: Helm
-    app.kubernetes.io/component: data
-    app.kubernetes.io/role: hot
-spec:
-  clusterIP: None
-  publishNotReadyAddresses: true
-  ports:
-    - port: 17912
-      name: grpc
-      targetPort: grpc
-  selector: 
-    app.kubernetes.io/name: banyandb
-    app.kubernetes.io/instance: demo
-    app.kubernetes.io/component: data
-    app.kubernetes.io/role: hot
----
-# Source: skywalking-showcase/charts/skywalking/charts/banyandb/templates/cluster_data_headless_service.yaml
-apiVersion: v1
-kind: Service
-metadata:
-  name: demo-banyandb-data-warm-headless
-  labels: 
-    helm.sh/chart: banyandb-0.6.0
-    app.kubernetes.io/name: banyandb
-    app.kubernetes.io/instance: demo
-    app.kubernetes.io/managed-by: Helm
-    app.kubernetes.io/component: data
-    app.kubernetes.io/role: warm
-spec:
-  clusterIP: None
-  publishNotReadyAddresses: true
-  ports:
-    - port: 17912
-      name: grpc
-      targetPort: grpc
-  selector: 
-    app.kubernetes.io/name: banyandb
-    app.kubernetes.io/instance: demo
-    app.kubernetes.io/component: data
-    app.kubernetes.io/role: warm
----
-# Source: skywalking-showcase/charts/skywalking/charts/banyandb/templates/cluster_fodc_proxy_service.yaml
-apiVersion: v1
-kind: Service
-metadata:
-  name: demo-banyandb-fodc-proxy-grpc
-  labels:
-
-    helm.sh/chart: banyandb-0.6.0
-    app.kubernetes.io/name: banyandb
-    app.kubernetes.io/instance: demo
-    app.kubernetes.io/managed-by: Helm
-    app.kubernetes.io/component: fodc-proxy
-  annotations:
-spec:
-  type: ClusterIP
-  ports:
-    - port: 17912
-      name: grpc
-      targetPort: grpc
-  selector:
-
-    app.kubernetes.io/name: banyandb
-    app.kubernetes.io/instance: demo
-    app.kubernetes.io/component: fodc-proxy
----
-# Source: skywalking-showcase/charts/skywalking/charts/banyandb/templates/cluster_fodc_proxy_service.yaml
-apiVersion: v1
-kind: Service
-metadata:
-  name: demo-banyandb-fodc-proxy-http
-  labels:
-
-    helm.sh/chart: banyandb-0.6.0
-    app.kubernetes.io/name: banyandb
-    app.kubernetes.io/instance: demo
-    app.kubernetes.io/managed-by: Helm
-    app.kubernetes.io/component: fodc-proxy
-  annotations:
-spec:
-  type: ClusterIP
-  ports:
-    - port: 17913
-      name: http
-      targetPort: http
-  selector:
-
-    app.kubernetes.io/name: banyandb
-    app.kubernetes.io/instance: demo
-    app.kubernetes.io/component: fodc-proxy
----
-# Source: skywalking-showcase/charts/skywalking/charts/banyandb/templates/cluster_liaison_headless_service.yaml
-apiVersion: v1
-kind: Service
-metadata:
-  name: demo-banyandb-liaison-headless
-  labels: 
-    helm.sh/chart: banyandb-0.6.0
-    app.kubernetes.io/name: banyandb
-    app.kubernetes.io/instance: demo
-    app.kubernetes.io/managed-by: Helm
-    app.kubernetes.io/component: liaison
-spec:
-  clusterIP: None
-  publishNotReadyAddresses: true
-  ports:
-    - port: 18912
-      name: internal-grpc
-      targetPort: internal-grpc
-  selector: 
-    app.kubernetes.io/name: banyandb
-    app.kubernetes.io/instance: demo
-    app.kubernetes.io/component: liaison
----
-# Source: skywalking-showcase/charts/skywalking/charts/banyandb/templates/grpc_service.yaml
-apiVersion: v1
-kind: Service
-metadata:
-  name: demo-banyandb-grpc
-  labels:  
-    helm.sh/chart: banyandb-0.6.0
-    app.kubernetes.io/name: banyandb
-    app.kubernetes.io/instance: demo
-    app.kubernetes.io/managed-by: Helm
-    app.kubernetes.io/component: liaison
-  annotations:
-spec:
-  type: ClusterIP
-  ports:
-    - port: 17912
-      name: grpc
-  selector: 
-    app.kubernetes.io/name: banyandb
-    app.kubernetes.io/instance: demo
-    app.kubernetes.io/component: liaison
----
-# Source: skywalking-showcase/charts/skywalking/charts/banyandb/templates/http_service.yaml
-apiVersion: v1
-kind: Service
-metadata:
-  name: demo-banyandb-http
-  labels: 
-    helm.sh/chart: banyandb-0.6.0
-    app.kubernetes.io/name: banyandb
-    app.kubernetes.io/instance: demo
-    app.kubernetes.io/managed-by: Helm
-    app.kubernetes.io/component: liaison
-  annotations:
-spec:
-  type: ClusterIP
-  ports:
-    - port: 17913
-      name: http
-  selector: 
-    app.kubernetes.io/name: banyandb
-    app.kubernetes.io/instance: demo
-    app.kubernetes.io/component: liaison
----
-# Source: skywalking-showcase/charts/skywalking/templates/oap-svc.yaml
-# 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.
-
-apiVersion: v1
-kind: Service
-metadata:
-  name: demo-oap
-  labels:
-    app: demo
-    chart: skywalking-0.0.0-9a97f2d6f0291a580b00f13ddcc1a03079a23b23
-    component: "oap"
-    heritage: Helm
-    release: demo
-spec:
-  type: ClusterIP
-  ports:
-  - port: 17128
-    name: admin
-  - port: 11800
-    name: grpc
-  - port: 3100
-    name: logql
-  - port: 1234
-    name: metrics
-  - port: 9090
-    name: promql
-  - port: 12800
-    name: rest
-  - port: 3200
-    name: traceql
-  - port: 9412
-    name: zipkin-query
-  - port: 9411
-    name: zipkin-receiver
-  selector:
-    app: demo
-    component: "oap"
-    release: demo
----
-# Source: skywalking-showcase/charts/skywalking/templates/ui-svc.yaml
-# 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.
-apiVersion: v1
-kind: Service
-metadata:
-  labels:
-    app: demo
-    chart: skywalking-0.0.0-9a97f2d6f0291a580b00f13ddcc1a03079a23b23
-    component: "ui"
-    heritage: Helm
-    release: demo
-  name: demo-ui
-spec:
-  type: ClusterIP
-  ports:
-    - port: 80
-      targetPort: 8081
-      protocol: TCP
-
-  selector:
-    app: demo
-    component: "ui"
-    release: demo
----
-# Source: skywalking-showcase/templates/feature-agent/resources.yaml
-apiVersion: v1
-kind: Service
-metadata:
-  name: gateway
-  namespace: sample-services
-spec:
-  selector:
-    app: gateway
-  ports:
-    - protocol: TCP
-      port: 80
-      targetPort: 80
----
-# Source: skywalking-showcase/templates/feature-agent/resources.yaml
-apiVersion: v1
-kind: Service
-metadata:
-  name: songs
-  namespace: sample-services
-spec:
-  selector:
-    app: songs
-  ports:
-    - protocol: TCP
-      port: 80
-      targetPort: 80
----
-# Source: skywalking-showcase/templates/feature-agent/resources.yaml
-apiVersion: v1
-kind: Service
-metadata:
-  name: rcmd
-  namespace: sample-services
-spec:
-  selector:
-    app: recommendation
-  ports:
-    - protocol: TCP
-      port: 80
-      targetPort: 80
----
-# Source: skywalking-showcase/templates/feature-agent/resources.yaml
-apiVersion: v1
-kind: Service
-metadata:
-  name: app
-  namespace: sample-services
-spec:
-  selector:
-    app: app
-  ports:
-    - protocol: TCP
-      port: 80
-      targetPort: 80
----
-# Source: skywalking-showcase/templates/feature-agent/resources.yaml
-apiVersion: v1
-kind: Service
-metadata:
-  name: frontend
-  namespace: sample-services
-spec:
-  selector:
-    app: frontend
-  ports:
-    - protocol: TCP
-      port: 80
-      targetPort: 80
----
-# Source: skywalking-showcase/templates/feature-agent/resources.yaml
-apiVersion: v1
-kind: Service
-metadata:
-  name: activemq
-  namespace: sample-services
-spec:
-  selector:
-    app: activemq
-  ports:
-    - protocol: TCP
-      port: 61616
-      targetPort: 61616
----
-# Source: skywalking-showcase/templates/feature-agent/resources.yaml
-apiVersion: v1
-kind: Service
-metadata:
-  name: rating
-  namespace: sample-services
-spec:
-  selector:
-    app: rating
-  ports:
-    - protocol: TCP
-      port: 80
-      targetPort: 80
----
-# Source: skywalking-showcase/charts/opentelemetry-collector/templates/deployment.yaml
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: demo-opentelemetry-collector
-  labels:
-    helm.sh/chart: opentelemetry-collector-0.51.1
-    app.kubernetes.io/name: opentelemetry-collector
-    app.kubernetes.io/instance: demo
-    app.kubernetes.io/version: "0.74.0"
-    app.kubernetes.io/managed-by: Helm
-spec:
-  replicas: 1
-  revisionHistoryLimit: 10
-  selector:
-    matchLabels:
-      app.kubernetes.io/name: opentelemetry-collector
-      app.kubernetes.io/instance: demo
-      component: standalone-collector
-  strategy:
-    type: RollingUpdate
-  template:
-    metadata:
-      annotations:
-        checksum/config: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
-        
-      labels:
-        app.kubernetes.io/name: opentelemetry-collector
-        app.kubernetes.io/instance: demo
-        component: standalone-collector
-        
-    spec:
-      
-      serviceAccountName: demo-opentelemetry-collector
-      securityContext:
-        {}
-      containers:
-        - name: opentelemetry-collector
-          command:
-            - /otelcol
-            - --config=/conf/config.yaml
-          securityContext:
-            {}
-          image: "otel/opentelemetry-collector:0.102.1"
-          imagePullPolicy: IfNotPresent
-          ports:
-            - name: jaeger-compact
-              containerPort: 6831
-              protocol: UDP
-            - name: jaeger-grpc
-              containerPort: 14250
-              protocol: TCP
-            - name: jaeger-thrift
-              containerPort: 14268
-              protocol: TCP
-            - name: otlp
-              containerPort: 4317
-              protocol: TCP
-            - name: otlp-http
-              containerPort: 4318
-              protocol: TCP
-            - name: zipkin
-              containerPort: 9411
-              protocol: TCP
-          env:
-            - name: MY_POD_IP
-              valueFrom:
-                fieldRef:
-                  apiVersion: v1
-                  fieldPath: status.podIP
-          livenessProbe:
-            httpGet:
-              path: /
-              port: 13133
-          readinessProbe:
-            httpGet:
-              path: /
-              port: 13133
-          resources:
-            limits:
-              cpu: 1024m
-              memory: 2Gi
-          volumeMounts:
-            - mountPath: /conf
-              name: otelcol-configmap
-      volumes:
-        - configMap:
-            defaultMode: 420
-            name: otel-collector-config
-          name: otelcol-configmap
-      hostNetwork: false
----
-# Source: skywalking-showcase/charts/skywalking/charts/banyandb/templates/cluster_fodc_proxy_deployment.yaml
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: demo-banyandb-fodc-proxy
-  labels:
-
-    helm.sh/chart: banyandb-0.6.0
-    app.kubernetes.io/name: banyandb
-    app.kubernetes.io/instance: demo
-    app.kubernetes.io/managed-by: Helm
-    app.kubernetes.io/component: fodc-proxy
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-
-      app.kubernetes.io/name: banyandb
-      app.kubernetes.io/instance: demo
-      app.kubernetes.io/component: fodc-proxy
-  strategy:
-    type: RollingUpdate
-    rollingUpdate:
-      maxUnavailable: 1
-      maxSurge: 1
-  template:
-    metadata:
-      labels:
-
-        helm.sh/chart: banyandb-0.6.0
-        app.kubernetes.io/name: banyandb
-        app.kubernetes.io/instance: demo
-        app.kubernetes.io/managed-by: Helm
-        app.kubernetes.io/component: fodc-proxy
-    spec:
-      serviceAccountName: demo-banyandb
-      priorityClassName: 
-      containers:
-        - name: fodc-proxy
-          image: ghcr.io/apache/skywalking-banyandb-fodc-proxy:c2d925e4eae4d77edda94e1fd438243483960150
-          imagePullPolicy: IfNotPresent
-          env:
-          args:
-            - --grpc-listen-addr=:17912
-            - --http-listen-addr=:17913
-            - --agent-heartbeat-timeout=30s
-            - --agent-cleanup-timeout=5m
-            - --max-agents=1000
-            - --http-read-timeout=60s
-            - --http-write-timeout=60s
-            - --heartbeat-interval=10s
-          ports:
-            - name: grpc
-              containerPort: 17912
-            - name: http
-              containerPort: 17913
-          readinessProbe:
-            httpGet:
-              path: /health
-              port: 17913
-            initialDelaySeconds: 10
-            periodSeconds: 30
-            timeoutSeconds: 5
-            successThreshold: 1
-            failureThreshold: 5
-          livenessProbe:
-            httpGet:
-              path: /health
-              port: 17913
-            initialDelaySeconds: 10
-            periodSeconds: 30
-            timeoutSeconds: 5
-            successThreshold: 1
-            failureThreshold: 5
-          startupProbe:
-            httpGet:
-              path: /health
-              port: 17913
-            initialDelaySeconds: 0
-            periodSeconds: 10
-            timeoutSeconds: 5
-            successThreshold: 1
-            failureThreshold: 60
-          resources:
-            requests:
-              cpu: 200m
-              memory: 128Mi
-            limits:
-              cpu: 500m
-              memory: 256Mi
-      affinity:
-        podAntiAffinity:
-          preferredDuringSchedulingIgnoredDuringExecution:
-            - weight: 100
-              podAffinityTerm:
-                labelSelector:
-                  matchLabels:
-
-                    app.kubernetes.io/name: banyandb
-                    app.kubernetes.io/instance: demo
-                topologyKey: kubernetes.io/hostname
----
-# Source: skywalking-showcase/charts/skywalking/templates/oap-deployment.yaml
-# 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.
-
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  labels:
-    app: demo
-    chart: skywalking-0.0.0-9a97f2d6f0291a580b00f13ddcc1a03079a23b23
-    component: "oap"
-    heritage: Helm
-    release: demo
-  name: demo-oap
-spec:
-  replicas: 2
-  selector:
-    matchLabels:
-      app: demo
-      component: "oap"
-      release: demo
-  template:
-    metadata:
-      labels:
-        app: demo
-        component: "oap"
-        release: demo
-    spec:
-      serviceAccountName: demo-oap
-      affinity:
-        podAntiAffinity:
-          preferredDuringSchedulingIgnoredDuringExecution:
-          - weight: 1
-            podAffinityTerm:
-              topologyKey: kubernetes.io/hostname
-              labelSelector:
-                matchLabels:
-                  app: "demo"
-                  release: "demo"
-                  component: "oap"
-      initContainers:
-      
-      - name: wait-for-banyandb
-        image: curlimages/curl
-        imagePullPolicy: IfNotPresent
-        command: ['sh', '-c', 'for i in $(seq 1 60); do curl -k demo-banyandb-http:17913/api/healthz && exit 0 || sleep 5; done; exit 1']
-      containers:
-      - name: oap
-        image: ghcr.io/apache/skywalking/oap:53cc332752d5b5aa84a0eddf66ccd2a5c1b7d316
-        imagePullPolicy: IfNotPresent
-        livenessProbe:
-          tcpSocket:
-            port: 12800
-          initialDelaySeconds: 5
-          periodSeconds: 10
-        startupProbe:
-          failureThreshold: 10
-          initialDelaySeconds: 120
-          periodSeconds: 10
-          tcpSocket:
-            port: 12800
-
-        readinessProbe:
-          tcpSocket:
-            port: 12800
-          initialDelaySeconds: 5
-          periodSeconds: 10
-        ports:
-        - containerPort: 17128
-          name: admin
-        - containerPort: 11800
-          name: grpc
-        - containerPort: 3100
-          name: logql
-        - containerPort: 1234
-          name: metrics
-        - containerPort: 9090
-          name: promql
-        - containerPort: 12800
-          name: rest
-        - containerPort: 3200
-          name: traceql
-        - containerPort: 9412
-          name: zipkin-query
-        - containerPort: 9411
-          name: zipkin-receiver
-        env:
-        - name: SW_RECEIVER_ZIPKIN
-          value: default
-        - name: SW_RECEIVER_ZIPKIN_REST_PORT
-          value: "9411"
-        - name: SW_QUERY_ZIPKIN
-          value: default
-        - name: SW_QUERY_ZIPKIN_REST_PORT
-          value: "9412"
-        - name: JAVA_OPTS
-          value: "-Dmode=no-init -Xmx2g -Xms2g"
-        - name: SW_CLUSTER
-          value: kubernetes
-        - name: SW_CLUSTER_K8S_NAMESPACE
-          value: "skywalking-showcase"
-        - name: SW_CLUSTER_K8S_LABEL
-          value: "app=demo,release=demo,component=oap"
-        - name: SKYWALKING_COLLECTOR_UID
-          valueFrom:
-            fieldRef:
-              fieldPath: metadata.uid
-        - name: SW_STORAGE
-          value: banyandb
-        - name: SW_STORAGE_BANYANDB_TARGETS
-          value: "demo-banyandb-grpc:17912"
-        - name: K8S_SERVICE_NAME_RULE
-          value: "mesh-svr::${service.metadata.name}.${service.metadata.namespace}"
-        - name: SW_AI_PIPELINE_URI_RECOGNITION_SERVER_PORT
-          value: "17128"
-        - name: SW_CONFIGURATION
-          value: "k8s-configmap"
-        - name: SW_CORE_ENABLE_ENDPOINT_NAME_GROUPING_BY_OPENAPI
-          value: "false"
-        - name: SW_CORE_MAX_HTTP_URIS_NUMBER_PER_SVR
-          value: "3000"
-        - name: SW_ENABLE_ON_DEMAND_POD_LOG
-          value: "true"
-        - name: SW_ENABLE_UPDATE_UI_TEMPLATE
-          value: "false"
-        - name: SW_ENVOY_METRIC_ALS_HTTP_ANALYSIS
-          value: "mx-mesh,persistence"
-        - name: SW_ENVOY_METRIC_ALS_TCP_ANALYSIS
-          value: "mx-mesh"
-        - name: SW_HEALTH_CHECKER
-          value: "default"
-        - name: SW_METER_ANALYZER_ACTIVE_FILES
-          value: "datasource,threadpool,satellite,network-profiling,go-runtime,python-runtime,spring-micrometer,continuous-profiling,java-agent,go-agent"
-        - name: SW_OTEL_RECEIVER
-          value: "default"
-        - name: SW_OTEL_RECEIVER_ENABLED_OTEL_METRICS_RULES
-          value: "vm,oap,k8s/*,istio-controlplane,mysql/*,postgresql/*,apisix,elasticsearch/*,rabbitmq/*,mongodb/*,nginx/*,rocketmq/*,pulsar/*,activemq/*,flink/*,banyandb/*"
-        - name: SW_QUERY_ZIPKIN
-          value: "default"
-        - name: SW_RECEIVER_ZIPKIN
-          value: "default"
-        - name: SW_SLOW_DB_THRESHOLD
-          value: "default:0,mongodb:100"
-        - name: SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_COLD_SHARD_NUM
-          value: "1"
-        - name: SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_ENABLE_COLD_STAGE
-          value: "true"
-        - name: SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_ENABLE_WARM_STAGE
-          value: "true"
-        - name: SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_SHARD_NUM
-          value: "1"
-        - name: SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_TTL_DAYS
-          value: "1"
-        - name: SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_WARM_SHARD_NUM
-          value: "1"
-        - name: SW_STORAGE_BANYANDB_COMPATIBLE_SERVER_API_VERSIONS
-          value: "0.9,0.10"
-        - name: SW_STORAGE_BANYANDB_LOG_ENABLE_COLD_STAGE
-          value: "true"
-        - name: SW_STORAGE_BANYANDB_LOG_ENABLE_WARM_STAGE
-          value: "true"
-        - name: SW_STORAGE_BANYANDB_LOG_TTL_DAYS
-          value: "1"
-        - name: SW_STORAGE_BANYANDB_METADATA_TTL_DAYS
-          value: "60"
-        - name: SW_STORAGE_BANYANDB_METRICS_DAY_COLD_TTL_DAYS
-          value: "30"
-        - name: SW_STORAGE_BANYANDB_METRICS_DAY_ENABLE_COLD_STAGE
-          value: "true"
-        - name: SW_STORAGE_BANYANDB_METRICS_DAY_ENABLE_WARM_STAGE
-          value: "true"
-        - name: SW_STORAGE_BANYANDB_METRICS_DAY_TTL_DAYS
-          value: "1"
-        - name: SW_STORAGE_BANYANDB_METRICS_DAY_WARM_TTL_DAYS
-          value: "7"
-        - name: SW_STORAGE_BANYANDB_METRICS_HOUR_COLD_TTL_DAYS
-          value: "30"
-        - name: SW_STORAGE_BANYANDB_METRICS_HOUR_ENABLE_COLD_STAGE
-          value: "true"
-        - name: SW_STORAGE_BANYANDB_METRICS_HOUR_ENABLE_WARM_STAGE
-          value: "true"
-        - name: SW_STORAGE_BANYANDB_METRICS_HOUR_TTL_DAYS
-          value: "1"
-        - name: SW_STORAGE_BANYANDB_METRICS_HOUR_WARM_TTL_DAYS
-          value: "7"
-        - name: SW_STORAGE_BANYANDB_METRICS_MINUTE_COLD_TTL_DAYS
-          value: "30"
-        - name: SW_STORAGE_BANYANDB_METRICS_MINUTE_ENABLE_COLD_STAGE
-          value: "true"
-        - name: SW_STORAGE_BANYANDB_METRICS_MINUTE_ENABLE_WARM_STAGE
-          value: "true"
-        - name: SW_STORAGE_BANYANDB_METRICS_MINUTE_TTL_DAYS
-          value: "1"
-        - name: SW_STORAGE_BANYANDB_METRICS_MINUTE_WARM_TTL_DAYS
-          value: "7"
-        - name: SW_STORAGE_BANYANDB_RECORDS_ENABLE_COLD_STAGE
-          value: "true"
-        - name: SW_STORAGE_BANYANDB_RECORDS_ENABLE_WARM_STAGE
-          value: "true"
-        - name: SW_STORAGE_BANYANDB_RECORDS_TTL_DAYS
-          value: "1"
-        - name: SW_STORAGE_BANYANDB_TRACE_ENABLE_COLD_STAGE
-          value: "true"
-        - name: SW_STORAGE_BANYANDB_TRACE_ENABLE_WARM_STAGE
-          value: "true"
-        - name: SW_STORAGE_BANYANDB_TRACE_TTL_DAYS
-          value: "1"
-        - name: SW_STORAGE_BANYANDB_ZIPKIN_TRACE_ENABLE_COLD_STAGE
-          value: "true"
-        - name: SW_STORAGE_BANYANDB_ZIPKIN_TRACE_ENABLE_WARM_STAGE
-          value: "true"
-        - name: SW_STORAGE_BANYANDB_ZIPKIN_TRACE_TTL_DAYS
-          value: "1"
-        - name: SW_STORAGE_ES_INDEX_SHARDS_NUMBER
-          value: "6"
-        - name: SW_STORAGE_ES_RESPONSE_TIMEOUT
-          value: "50000"
-        - name: SW_STORAGE_ES_SUPER_DATASET_INDEX_SHARDS_FACTOR
-          value: "2"
-        - name: SW_TELEMETRY
-          value: "prometheus"
-        - name: SW_TRACEQL
-          value: "default"
-        - name: SW_TRACEQL_ENABLE_DATASOURCE_SKYWALKING
-          value: "true"
-        - name: SW_TRACEQL_ENABLE_DATASOURCE_ZIPKIN
-          value: "true"
-
-        volumeMounts:
-        
-        - name: skywalking-oap-override
-          mountPath: /skywalking/config/alarm-settings.yml
-          subPath: alarm-settings.yml
-        - name: skywalking-oap-override
-          mountPath: /skywalking/config/cilium-rules/exclude.yaml
-          subPath: cilium-rules-exclude.yaml
-        - name: skywalking-oap-override
-          mountPath: /skywalking/config/cilium-rules/metadata-service-mapping.yaml
-          subPath: cilium-rules-metadata-service-mapping.yaml
-        - name: skywalking-oap-override
-          mountPath: /skywalking/config/core.default.log4j-xml
-          subPath: core.default.log4j-xml
-        - name: skywalking-oap-override
-          mountPath: /skywalking/config/metadata-service-mapping.yaml
-          subPath: metadata-service-mapping.yaml
-
-      volumes:
-      
-      - name: skywalking-oap-override
-        configMap:
-          name: demo-oap-cm-override
----
-# Source: skywalking-showcase/charts/skywalking/templates/ui-deployment.yaml
-# 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.
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: demo-ui
-  labels:
-    app: demo
-    chart: skywalking-0.0.0-9a97f2d6f0291a580b00f13ddcc1a03079a23b23
-    component: "ui"
-    heritage: Helm
-    release: demo
-spec:
-  replicas: 1
-  # Horizon UI's BFF holds the session table in memory. Recreate (not
-  # RollingUpdate) avoids the brief window of two pods serving traffic with
-  # disjoint session state.
-  strategy:
-    type: Recreate
-  selector:
-    matchLabels:
-      app: demo
-      component: "ui"
-      release: demo
-  template:
-    metadata:
-      labels:
-        app: demo
-        component: "ui"
-        release: demo
-      annotations:
-        # Roll the pod when horizon.yaml changes — ConfigMap subPath mounts
-        # don't auto-update at runtime.
-        checksum/config: 1eb3c4604c23d7089990e07f63c35a1bd18d29d41dc6efec7e6b481bc98b3145
-    spec:
-      securityContext:
-        fsGroup: 101
-
-      affinity:
-      containers:
-      - name: ui
-        image: ghcr.io/apache/skywalking-horizon-ui:b94cdf3c5e268813eae45b50907490f38759c14b
-        imagePullPolicy: IfNotPresent
-        ports:
-        - containerPort: 8081
-          name: page
-        livenessProbe:
-          initialDelaySeconds: 30
-          periodSeconds: 20
-          tcpSocket:
-            port: 8081
-        readinessProbe:
-          failureThreshold: 6
-          httpGet:
-            path: /api/auth/health
-            port: 8081
-          initialDelaySeconds: 10
-          periodSeconds: 10
-        volumeMounts:
-        - name: horizon-config
-          mountPath: /app/horizon.yaml
-          subPath: horizon.yaml
-          readOnly: true
-        - name: horizon-data
-          mountPath: /data
-      volumes:
-      - name: horizon-config
-        configMap:
-          name: demo-ui
-          items:
-          - key: horizon.yaml
-            path: horizon.yaml
-      - name: horizon-data
-        emptyDir: {}
----
-# Source: skywalking-showcase/templates/feature-agent/resources.yaml
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: gateway-deployment
-  namespace: sample-services
-  labels:
-    app: gateway
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-      app: gateway
-  template:
-    metadata:
-      labels:
-        # @feature: java-agent-injector; enable the java agent injector
-        swck-java-agent-injected: "true"
-        app: gateway
-      annotations:
-        sidecar.istio.io/inject: "map[enabled:false]"
-        # @feature: java-agent-injector; set the java agent configuration
-        strategy.skywalking.apache.org/inject.Container: "gateway"
-        strategy.skywalking.apache.org/agent.Overlay: "true"
-        agent.skywalking.apache.org/agent.service_name: "agent::gateway"
-        optional.skywalking.apache.org: "spring-cloud-gateway-3.x"
-        sidecar.skywalking.apache.org/initcontainer.Image: "ghcr.io/apache/skywalking-java/skywalking-java:26ef911aea908759795bb6f5f2f6be56370d30cc-java8"
-    spec:
-      containers:
-        - name: gateway
-          image: "ghcr.io/apache/skywalking-showcase/gateway-service:98c98f9"
-          imagePullPolicy: IfNotPresent
-          ports:
-            - containerPort: 80
-          # @feature: agent; set env to configure java agent, If we use injector, we don't need to set env, only to configure java gent through annotation
-          env:
-            - name: SW_AGENT_NAME
-              value: agent::gateway
-            - name: SW_AGENT_COLLECTOR_BACKEND_SERVICES
-              value: demo-oap.skywalking-showcase.svc.cluster.local:11800
----
-# Source: skywalking-showcase/templates/feature-agent/resources.yaml
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: songs-deployment
-  namespace: sample-services
-  labels:
-    app: songs
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-      app: songs
-  template:
-    metadata:
-      labels:
-        # @feature: java-agent-injector; enable the java agent injector
-        swck-java-agent-injected: "true"
-        app: songs
-      annotations:
-        sidecar.istio.io/inject: "map[enabled:false]"
-        # @feature: java-agent-injector; set the java agent configuration
-        strategy.skywalking.apache.org/inject.Container: "songs"
-        strategy.skywalking.apache.org/agent.Overlay: "true"
-        agent.skywalking.apache.org/agent.service_name: "agent::songs"
-        optional.skywalking.apache.org: "guava-cache-plugin"
-        sidecar.skywalking.apache.org/initcontainer.Image: "ghcr.io/apache/skywalking-java/skywalking-java:26ef911aea908759795bb6f5f2f6be56370d30cc-java8"
-    spec:
-      containers:
-        - name: songs
-          image: "ghcr.io/apache/skywalking-showcase/songs-service:98c98f9"
-          imagePullPolicy: IfNotPresent
-          ports:
-            - containerPort: 80
-          # @feature: agent; set env to configure java agent, If we use injector, we don't need to set env, only need to configure java agent through annotation
-          env:
-            - name: SW_AGENT_NAME
-              value: agent::songs
-            - name: SW_AGENT_COLLECTOR_BACKEND_SERVICES
-              value: demo-oap.skywalking-showcase.svc.cluster.local:11800
-            - name: ACTIVE_MQ_URL
-              value: tcp://activemq:61616
-            - name: ACTIVE_MQ_QUEUE
-              value: queue-songs-ping
----
-# Source: skywalking-showcase/templates/feature-agent/resources.yaml
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: recommendation-deployment
-  namespace: sample-services
-  labels:
-    app: recommendation
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-      app: recommendation
-  template:
-    metadata:
-      labels:
-        app: recommendation
-      annotations:
-        sidecar.istio.io/inject: "map[enabled:false]"
-    spec:
-      containers:
-        - name: recommendation
-          image: "ghcr.io/apache/skywalking-showcase/recommendation-service:98c98f9"
-          imagePullPolicy: IfNotPresent
-          ports:
-            - containerPort: 80
-          env:
-            - name: SW_AGENT_NAME
-              value: agent::recommendation
-            - name: SW_AGENT_COLLECTOR_BACKEND_SERVICES
-              value: demo-oap.skywalking-showcase.svc.cluster.local:11800
----
-# Source: skywalking-showcase/templates/feature-agent/resources.yaml
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: app-deployment
-  namespace: sample-services
-  labels:
-    app: app
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-      app: app
-  template:
-    metadata:
-      labels:
-        app: app
-      annotations:
-        sidecar.istio.io/inject: "map[enabled:false]"
-    spec:
-      containers:
-        - name: app
-          image: "ghcr.io/apache/skywalking-showcase/app:98c98f9"
-          imagePullPolicy: IfNotPresent
-          ports:
-            - containerPort: 80
-          env:
-            - name: SW_AGENT_NAME_SERVER
-              value: agent::app
-            - name: REACT_APP_SW_AGENT_NAME_UI
-              value: agent::ui
-            - name: SW_AGENT_COLLECTOR_BACKEND_SERVICES
-              value: demo-oap.skywalking-showcase.svc.cluster.local:11800
----
-# Source: skywalking-showcase/templates/feature-agent/resources.yaml
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: loadgen-deployment
-  namespace: sample-services
-  labels:
-    app: loadgen
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-      app: loadgen
-  template:
-    metadata:
-      labels:
-        app: loadgen
-      annotations:
-        sidecar.istio.io/inject: "map[enabled:false]"
-    spec:
-      containers:
-        - name: app
-          image: "ghcr.io/apache/skywalking-showcase/load-gen:98c98f9"
-          imagePullPolicy: IfNotPresent
----
-# Source: skywalking-showcase/templates/feature-agent/resources.yaml
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: frontend-deployment
-  namespace: sample-services
-  labels:
-    app: frontend
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-      app: frontend
-  template:
-    metadata:
-      labels:
-        app: frontend
-      annotations:
-        sidecar.istio.io/inject: "map[enabled:false]"
-    spec:
-      containers:
-        - name: frontend
-          image: "ghcr.io/apache/skywalking-showcase/frontend:98c98f9"
-          imagePullPolicy: IfNotPresent
-          resources:
-            limits:
-              cpu: 500m
-              memory: "256Mi"
-            requests:
-              cpu: 500m
-              memory: "256Mi"
-          ports:
-            - containerPort: 80
-              name: http
-            - containerPort: 9091 # APISIX Prometheus plugin port
-              name: metrics
-          env:
-            - name: SW_AGENT_COLLECTOR_BACKEND_SERVICES
-              value: demo-oap.skywalking-showcase.svc.cluster.local:11800
-            - name: SW_SERVICE_INSTANCE
-              valueFrom:
-                fieldRef:
-                  fieldPath: metadata.name
-          volumeMounts:
-            - name: apisix-config
-              mountPath: /usr/local/apisix/conf/config.yaml
-              subPath: config
-            - name: apisix-config
-              mountPath: /usr/local/apisix/conf/apisix.yaml
-              subPath: apisix
-      volumes:
-        - name: apisix-config
-          configMap:
-            name: apisix-config
----
-# Source: skywalking-showcase/templates/feature-agent/resources.yaml
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: activemq-deployment
-  namespace: sample-services
-  labels:
-    app: activemq
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-      app: activemq
-  template:
-    metadata:
-      labels:
-        app: activemq
-      annotations:
-        sidecar.istio.io/inject: "false"
-    spec:
-      containers:
-        - name: activemq
-          image: rmohr/activemq:5.15.9
-          imagePullPolicy: IfNotPresent
-          env:
-            - name: ACTIVEMQ_SUNJMX_START
-              value: "-Dcom.sun.management.jmxremote.port=1616 -Dcom.sun.management.jmxremote.rmi.port=1616 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
-            - name: ACTIVEMQ_BROKER_NAME
-              value: "activemq-broker"
-            - name: ACTIVEMQ_OPTS
-              value: "-Xmx128m -Xms128m"
-          resources:
-            limits:
-              cpu: 100m
-              memory: "256Mi"
-            requests:
-              cpu: 100m
-              memory: "128Mi"
-          volumeMounts:
-            - name: activemq-config
-              mountPath: /opt/activemq/conf/activemq.xml
-              subPath: activemq
-      volumes:
-        - name: activemq-config
-          configMap:
-            name: activemq-config
----
-# Source: skywalking-showcase/templates/feature-agent/resources.yaml
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: rating-deployment
-  namespace: sample-services
-  labels:
-    app: rating
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-      app: rating
-  template:
-    metadata:
-      labels:
-        app: rating
-      annotations:
-        sidecar.istio.io/inject: "map[enabled:false]"
-    spec:
-      containers:
-        - name: rating
-          image: "ghcr.io/apache/skywalking-showcase/rating-service:98c98f9"
-          imagePullPolicy: IfNotPresent
-          ports:
-            - containerPort: 80
-          env:
-            - name: SW_AGENT_NAME
-              value: agent::rating
-            - name: SW_AGENT_REPORTER_GRPC_BACKEND_SERVICE
-              value: demo-oap.skywalking-showcase.svc.cluster.local:11800
----
-# Source: skywalking-showcase/charts/skywalking/charts/banyandb/templates/cluster_data_statefulset.yaml
-apiVersion: apps/v1
-kind: StatefulSet
-metadata:
-  labels: 
-    helm.sh/chart: banyandb-0.6.0
-    app.kubernetes.io/name: banyandb
-    app.kubernetes.io/instance: demo
-    app.kubernetes.io/managed-by: Helm
-    app.kubernetes.io/component: data
-    app.kubernetes.io/role: cold
-  name: demo-banyandb-data-cold
-spec:
-  serviceName: demo-banyandb-data-cold-headless
-  replicas: 1
-  selector:
-    matchLabels: 
-      app.kubernetes.io/name: banyandb
-      app.kubernetes.io/instance: demo
-      app.kubernetes.io/component: data
-      app.kubernetes.io/role: cold
-  updateStrategy:
-    type: RollingUpdate
-  podManagementPolicy: Parallel
-  template:
-    metadata:
-      labels: 
-        helm.sh/chart: banyandb-0.6.0
-        app.kubernetes.io/name: banyandb
-        app.kubernetes.io/instance: demo
-        app.kubernetes.io/managed-by: Helm
-        app.kubernetes.io/component: data
-        app.kubernetes.io/role: cold
-    spec:
-      serviceAccountName: demo-banyandb
-      securityContext:
-        fsGroup: 1000
-        runAsGroup: 1000
-        runAsUser: 1000
-      priorityClassName: 
-      initContainers:
-        - name: volume-permissions
-          image: busybox:1.36
-          imagePullPolicy: IfNotPresent
-          securityContext:
-            runAsUser: 0
-          command:
-            - sh
-            - -c
-            - |
-              set -euo pipefail
-              mkdir -p /mnt/cold-data/stream
-              chown -R 1000:1000 /mnt/cold-data/stream
-              chmod -R 0770 /mnt/cold-data/stream
-              mkdir -p /mnt/cold-data/measure
-              chown -R 1000:1000 /mnt/cold-data/measure
-              chmod -R 0770 /mnt/cold-data/measure
-              mkdir -p /mnt/cold-data/property
-              chown -R 1000:1000 /mnt/cold-data/property
-              chmod -R 0770 /mnt/cold-data/property
-              mkdir -p /mnt/cold-data/trace
-              chown -R 1000:1000 /mnt/cold-data/trace
-              chmod -R 0770 /mnt/cold-data/trace
-          volumeMounts:
-            - mountPath: /mnt/cold-data
-              name: cold-data
-      containers:
-        - name: data
-          image: ghcr.io/apache/skywalking-banyandb:c2d925e4eae4d77edda94e1fd438243483960150-slim
-          imagePullPolicy: IfNotPresent
-          securityContext:
-            allowPrivilegeEscalation: false
-            capabilities:
-              drop:
-              - ALL
-            readOnlyRootFilesystem: true
-            runAsNonRoot: true
-          env:
-            # Pod metadata for hostname construction
-            - name: POD_NAME
-              valueFrom:
-                fieldRef:
-                  fieldPath: metadata.name
-            - name: POD_NAMESPACE
-              valueFrom:
-                fieldRef:
-                  fieldPath: metadata.namespace
-            # Hostname configuration for headless service
-            - name: BYDB_NODE_HOST_PROVIDER
-              value: "flag"
-            - name: BYDB_NODE_HOST
-              value: "$(POD_NAME).demo-banyandb-data-cold-headless.$(POD_NAMESPACE)"
-            - name: BYDB_NODE_LABELS
-              value: "type=cold"
-            
-            - name: BYDB_SCHEMA_REGISTRY_MODE
-              value: "property"
-            - name: BYDB_HAS_META_ROLE
-              value: "false"
-            
-            - name: BYDB_SCHEMA_PROPERTY_CLIENT_SYNC_INTERVAL
-              value: "30s"
-            
-            
-            
-            - name: BYDB_NODE_DISCOVERY_MODE
-              value: "dns"
-            - name: BYDB_NODE_DISCOVERY_DNS_SRV_ADDRESSES
-              value: "_internal-grpc._tcp.demo-banyandb-liaison-headless.skywalking-showcase.svc.cluster.local,_grpc._tcp.demo-banyandb-data-cold-headless.skywalking-showcase.svc.cluster.local,_grpc._tcp.demo-banyandb-data-hot-headless.skywalking-showcase.svc.cluster.local,_grpc._tcp.demo-banyandb-data-warm-headless.skywalking-showcase.svc.cluster.local"
-            - name: BYDB_NODE_DISCOVERY_DNS_FETCH_INIT_INTERVAL
-              value: "5s"
-            - name: BYDB_NODE_DISCOVERY_DNS_FETCH_INIT_DURATION
-              value: "5m"
-            - name: BYDB_NODE_DISCOVERY_DNS_FETCH_INTERVAL
-              value: "15s"
-            - name: BYDB_NODE_DISCOVERY_GRPC_TIMEOUT
-              value: "5s"
-            - name: GOMEMLIMIT
-              value: "6GiB"
-           
-          args:
-            - data 
-          ports:
-            - containerPort: 17912
-              name: grpc
-            - containerPort: 17913
-              name: http-healthz
-            - containerPort: 6060
-              name: pprof
-            - containerPort: 2121
-              name: observability
-          readinessProbe:
-            httpGet:
-              path: /api/healthz
-              port: 17913
-              scheme: HTTP
-            initialDelaySeconds: 20
-            periodSeconds: 30
-            timeoutSeconds: 5
-            successThreshold: 1
-            failureThreshold: 5
-          livenessProbe:
-            httpGet:
-              path: /api/healthz
-              port: 17913
-              scheme: HTTP
-            initialDelaySeconds: 20
-            periodSeconds: 30
-            timeoutSeconds: 5
-            successThreshold: 1
-            failureThreshold: 5
-          startupProbe:
-            httpGet:
-              path: /api/healthz
-              port: 17913
-              scheme: HTTP
-            initialDelaySeconds: 0
-            periodSeconds: 10
-            timeoutSeconds: 5
-            successThreshold: 1
-            failureThreshold: 60
-          resources:
-            requests:
-              cpu: 100m
-              memory: 1Gi
-            limits:
-              cpu: 8
-              memory: 8Gi
-          volumeMounts:
-            - mountPath: /tmp/stream
-              name: cold-data
-              subPath: stream
-            - mountPath: /tmp/measure
-              name: cold-data
-              subPath: measure
-            - mountPath: /tmp/property
-              name: cold-data
-              subPath: property
-            - mountPath: /tmp/trace
-              name: cold-data
-              subPath: trace
-        - name: fodc-agent
-          image: ghcr.io/apache/skywalking-banyandb-fodc-agent:c2d925e4eae4d77edda94e1fd438243483960150
-          imagePullPolicy: IfNotPresent
-          args:
-            - --proxy-addr=demo-banyandb-fodc-proxy-grpc:17912
-            - --pod-name=$(POD_NAME)
-            - --container-names=data,lifecycle
-            - --poll-metrics-ports=2121,17915
-            - --cluster-state-ports=17912,17914
-            - --lifecycle-port=17912
-            - --poll-metrics-interval=15s
-            - --cluster-state-poll-interval=30s
-            - --prometheus-listen-addr=:9090
-            - --max-metrics-memory-usage-percentage=20
-            - --heartbeat-interval=10s
-            - --reconnect-interval=10s
-          env:
-            - name: POD_NAME
-              valueFrom:
-                fieldRef:
-                  fieldPath: metadata.name
-            - name: POD_NAMESPACE
-              valueFrom:
-                fieldRef:
-                  fieldPath: metadata.namespace
-          ports:
-            - name: fodc-agent-http
-              containerPort: 9090
-          resources:
-            requests:
-                cpu: 200m
-                memory: 128Mi
-            limits:
-                cpu: 500m
-                memory: 256Mi
-      affinity:
-        podAntiAffinity:
-          preferredDuringSchedulingIgnoredDuringExecution:
-            - weight: 100
-              podAffinityTerm:
-                labelSelector:
-                  matchLabels: 
-                    app.kubernetes.io/name: banyandb
-                    app.kubernetes.io/instance: demo
-                    app.kubernetes.io/component: data
-                    app.kubernetes.io/role: cold
-                topologyKey: kubernetes.io/hostname
-  volumeClaimTemplates:
-    - metadata:
-        name: cold-data
-      spec:
-        accessModes:
-          - ReadWriteOnce
-        resources:
-          requests:
-            storage: 500Gi
-        volumeMode: Filesystem
----
-# Source: skywalking-showcase/charts/skywalking/charts/banyandb/templates/cluster_data_statefulset.yaml
-apiVersion: apps/v1
-kind: StatefulSet
-metadata:
-  labels: 
-    helm.sh/chart: banyandb-0.6.0
-    app.kubernetes.io/name: banyandb
-    app.kubernetes.io/instance: demo
-    app.kubernetes.io/managed-by: Helm
-    app.kubernetes.io/component: data
-    app.kubernetes.io/role: hot
-  name: demo-banyandb-data-hot
-spec:
-  serviceName: demo-banyandb-data-hot-headless
-  replicas: 2
-  selector:
-    matchLabels: 
-      app.kubernetes.io/name: banyandb
-      app.kubernetes.io/instance: demo
-      app.kubernetes.io/component: data
-      app.kubernetes.io/role: hot
-  updateStrategy:
-    type: RollingUpdate
-  podManagementPolicy: Parallel
-  template:
-    metadata:
-      labels: 
-        helm.sh/chart: banyandb-0.6.0
-        app.kubernetes.io/name: banyandb
-        app.kubernetes.io/instance: demo
-        app.kubernetes.io/managed-by: Helm
-        app.kubernetes.io/component: data
-        app.kubernetes.io/role: hot
-    spec:
-      serviceAccountName: demo-banyandb
-      securityContext:
-        fsGroup: 1000
-        runAsGroup: 1000
-        runAsUser: 1000
-      priorityClassName: 
-      initContainers:
-        - name: volume-permissions
-          image: busybox:1.36
-          imagePullPolicy: IfNotPresent
-          securityContext:
-            runAsUser: 0
-          command:
-            - sh
-            - -c
-            - |
-              set -euo pipefail
-              mkdir -p /mnt/hot-stream-data/stream
-              chown -R 1000:1000 /mnt/hot-stream-data/stream
-              chmod -R 0770 /mnt/hot-stream-data/stream
-              mkdir -p /mnt/hot-measure-data/measure
-              chown -R 1000:1000 /mnt/hot-measure-data/measure
-              chmod -R 0770 /mnt/hot-measure-data/measure
-              mkdir -p /mnt/hot-property-data/property
-              chown -R 1000:1000 /mnt/hot-property-data/property
-              chmod -R 0770 /mnt/hot-property-data/property
-              mkdir -p /mnt/hot-trace-data/trace
-              chown -R 1000:1000 /mnt/hot-trace-data/trace
-              chmod -R 0770 /mnt/hot-trace-data/trace
-              mkdir -p /mnt/hot-schema-property-data/schema-property
-              chown -R 1000:1000 /mnt/hot-schema-property-data/schema-property
-              chmod -R 0770 /mnt/hot-schema-property-data/schema-property
-          volumeMounts:
-            - mountPath: /mnt/hot-stream-data
-              name: hot-stream-data
-            - mountPath: /mnt/hot-measure-data
-              name: hot-measure-data
-            - mountPath: /mnt/hot-property-data
-              name: hot-property-data
-            - mountPath: /mnt/hot-trace-data
-              name: hot-trace-data
-            - mountPath: /mnt/hot-schema-property-data
-              name: hot-schema-property-data
-      containers:
-        - name: data
-          image: ghcr.io/apache/skywalking-banyandb:c2d925e4eae4d77edda94e1fd438243483960150-slim
-          imagePullPolicy: IfNotPresent
-          securityContext:
-            allowPrivilegeEscalation: false
-            capabilities:
-              drop:
-              - ALL
-            readOnlyRootFilesystem: true
-            runAsNonRoot: true
-          env:
-            # Pod metadata for hostname construction
-            - name: POD_NAME
-              valueFrom:
-                fieldRef:
-                  fieldPath: metadata.name
-            - name: POD_NAMESPACE
-              valueFrom:
-                fieldRef:
-                  fieldPath: metadata.namespace
-            # Hostname configuration for headless service
-            - name: BYDB_NODE_HOST_PROVIDER
-              value: "flag"
-            - name: BYDB_NODE_HOST
-              value: "$(POD_NAME).demo-banyandb-data-hot-headless.$(POD_NAMESPACE)"
-            - name: BYDB_NODE_LABELS
-              value: "type=hot"
-            
-            - name: BYDB_SCHEMA_REGISTRY_MODE
-              value: "property"
-            
-            - name: BYDB_SCHEMA_PROPERTY_REPAIR_TRIGGER_CRON
-              value: "@every 10m"
-            - name: BYDB_SCHEMA_SERVER_GRPC_PORT
-              value: "17916"
-            - name: BYDB_SCHEMA_SERVER_FLUSH_TIMEOUT
-              value: "5s"
-            - name: BYDB_SCHEMA_SERVER_EXPIRE_DELETE_TIMEOUT
-              value: "168h"
-            - name: BYDB_SCHEMA_SERVER_REPAIR_BUILD_TREE_CRON
-              value: "@every 1h"
-            - name: BYDB_SCHEMA_SERVER_REPAIR_QUICK_BUILD_TREE_TIME
-              value: "10m"
-            - name: BYDB_SCHEMA_SERVER_MIN_FILE_SNAPSHOT_AGE
-              value: "1h"
-            
-            - name: BYDB_SCHEMA_PROPERTY_CLIENT_SYNC_INTERVAL
-              value: "30s"
-            
-            
-            
-            - name: BYDB_NODE_DISCOVERY_MODE
-              value: "dns"
-            - name: BYDB_NODE_DISCOVERY_DNS_SRV_ADDRESSES
-              value: "_internal-grpc._tcp.demo-banyandb-liaison-headless.skywalking-showcase.svc.cluster.local,_grpc._tcp.demo-banyandb-data-cold-headless.skywalking-showcase.svc.cluster.local,_grpc._tcp.demo-banyandb-data-hot-headless.skywalking-showcase.svc.cluster.local,_grpc._tcp.demo-banyandb-data-warm-headless.skywalking-showcase.svc.cluster.local"
-            - name: BYDB_NODE_DISCOVERY_DNS_FETCH_INIT_INTERVAL
-              value: "5s"
-            - name: BYDB_NODE_DISCOVERY_DNS_FETCH_INIT_DURATION
-              value: "5m"
-            - name: BYDB_NODE_DISCOVERY_DNS_FETCH_INTERVAL
-              value: "15s"
-            - name: BYDB_NODE_DISCOVERY_GRPC_TIMEOUT
-              value: "5s"
-            - name: GOMEMLIMIT
-              value: "3GiB"
-           
-          args:
-            - data 
-          ports:
-            - containerPort: 17912
-              name: grpc
-            - containerPort: 17913
-              name: http-healthz
-            - containerPort: 6060
-              name: pprof
-            - containerPort: 2121
-              name: observability
-          readinessProbe:
-            httpGet:
-              path: /api/healthz
-              port: 17913
-              scheme: HTTP
-            initialDelaySeconds: 20
-            periodSeconds: 30
-            timeoutSeconds: 5
-            successThreshold: 1
-            failureThreshold: 5
-          livenessProbe:
-            httpGet:
-              path: /api/healthz
-              port: 17913
-              scheme: HTTP
-            initialDelaySeconds: 20
-            periodSeconds: 30
-            timeoutSeconds: 5
-            successThreshold: 1
-            failureThreshold: 5
-          startupProbe:
-            httpGet:
-              path: /api/healthz
-              port: 17913
-              scheme: HTTP
-            initialDelaySeconds: 0
-            periodSeconds: 10
-            timeoutSeconds: 5
-            successThreshold: 1
-            failureThreshold: 60
-          resources:
-            requests:
-              cpu: 100m
-              memory: 1Gi
-            limits:
-              cpu: 4
-              memory: 4Gi
-          volumeMounts:
-            - mountPath: /tmp/stream
-              name: hot-stream-data
-              subPath: stream
-            - mountPath: /tmp/measure
-              name: hot-measure-data
-              subPath: measure
-            - mountPath: /tmp/property
-              name: hot-property-data
-              subPath: property
-            - mountPath: /tmp/trace
-              name: hot-trace-data
-              subPath: trace
-            - mountPath: /tmp/schema-property
-              name: hot-schema-property-data
-              subPath: schema-property
-        - name: fodc-agent
-          image: ghcr.io/apache/skywalking-banyandb-fodc-agent:c2d925e4eae4d77edda94e1fd438243483960150
-          imagePullPolicy: IfNotPresent
-          args:
-            - --proxy-addr=demo-banyandb-fodc-proxy-grpc:17912
-            - --pod-name=$(POD_NAME)
-            - --container-names=data,lifecycle
-            - --poll-metrics-ports=2121,17915
-            - --cluster-state-ports=17912,17914
-            - --lifecycle-port=17912
-            - --lifecycle-report-dir=/tmp/lifecycle-reports
-            - --poll-metrics-interval=15s
-            - --cluster-state-poll-interval=30s
-            - --prometheus-listen-addr=:9090
-            - --max-metrics-memory-usage-percentage=20
-            - --heartbeat-interval=10s
-            - --reconnect-interval=10s
-          env:
-            - name: POD_NAME
-              valueFrom:
-                fieldRef:
-                  fieldPath: metadata.name
-            - name: POD_NAMESPACE
-              valueFrom:
-                fieldRef:
-                  fieldPath: metadata.namespace
-          ports:
-            - name: fodc-agent-http
-              containerPort: 9090
-          resources:
-            requests:
-                cpu: 200m
-                memory: 128Mi
-            limits:
-                cpu: 500m
-                memory: 256Mi
-          volumeMounts:
-            - name: lifecycle-report-shared
-              mountPath: /tmp/lifecycle-reports
-        - name: lifecycle
-          image: ghcr.io/apache/skywalking-banyandb:c2d925e4eae4d77edda94e1fd438243483960150-slim
-          imagePullPolicy: IfNotPresent
-          env:
-            - name: BYDB_NODE_LABELS
-              value: "type=hot"
-            
-            - name: BYDB_SCHEMA_REGISTRY_MODE
-              value: "property"
-            
-            
-            
-            - name: BYDB_NODE_DISCOVERY_MODE
-              value: "dns"
-            - name: BYDB_NODE_DISCOVERY_DNS_SRV_ADDRESSES
-              value: "_internal-grpc._tcp.demo-banyandb-liaison-headless.skywalking-showcase.svc.cluster.local,_grpc._tcp.demo-banyandb-data-cold-headless.skywalking-showcase.svc.cluster.local,_grpc._tcp.demo-banyandb-data-hot-headless.skywalking-showcase.svc.cluster.local,_grpc._tcp.demo-banyandb-data-warm-headless.skywalking-showcase.svc.cluster.local"
-            - name: BYDB_NODE_DISCOVERY_DNS_FETCH_INIT_INTERVAL
-              value: "5s"
-            - name: BYDB_NODE_DISCOVERY_DNS_FETCH_INIT_DURATION
-              value: "5m"
-            - name: BYDB_NODE_DISCOVERY_DNS_FETCH_INTERVAL
-              value: "15s"
-            - name: BYDB_NODE_DISCOVERY_GRPC_TIMEOUT
-              value: "5s"
-          command:
-            - "/lifecycle"
-            - "--schedule=@daily"
-          volumeMounts:
-            - mountPath: /tmp/stream
-              name: hot-stream-data
-              subPath: stream
-            - mountPath: /tmp/measure
-              name: hot-measure-data
-              subPath: measure
-            - mountPath: /tmp/property
-              name: hot-property-data
-              subPath: property
-            - mountPath: /tmp/trace
-              name: hot-trace-data
-              subPath: trace
-            - mountPath: /tmp/schema-property
-              name: hot-schema-property-data
-              subPath: schema-property
-            - name: lifecycle-report-shared
-              mountPath: /tmp/lifecycle-reports
-          resources:
-            requests:
-                cpu: 200m
-                memory: 128Mi
-            limits:
-                cpu: 500m
-                memory: 512Mi
-      volumes:
-        - name: lifecycle-report-shared
-          emptyDir: {}
-      affinity:
-        podAntiAffinity:
-          preferredDuringSchedulingIgnoredDuringExecution:
-            - weight: 100
-              podAffinityTerm:
-                labelSelector:
-                  matchLabels: 
-                    app.kubernetes.io/name: banyandb
-                    app.kubernetes.io/instance: demo
-                    app.kubernetes.io/component: data
-                    app.kubernetes.io/role: hot
-                topologyKey: kubernetes.io/hostname
-  volumeClaimTemplates:
-    - metadata:
-        name: hot-stream-data
-      spec:
-        accessModes:
-          - ReadWriteOnce
-        resources:
-          requests:
-            storage: 10Gi
-        volumeMode: Filesystem
-    - metadata:
-        name: hot-measure-data
-      spec:
-        accessModes:
-          - ReadWriteOnce
-        resources:
-          requests:
-            storage: 10Gi
-        volumeMode: Filesystem
-    - metadata:
-        name: hot-property-data
-      spec:
-        accessModes:
-          - ReadWriteOnce
-        resources:
-          requests:
-            storage: 5Gi
-        volumeMode: Filesystem
-    - metadata:
-        name: hot-trace-data
-      spec:
-        accessModes:
-          - ReadWriteOnce
-        resources:
-          requests:
-            storage: 50Gi
-        volumeMode: Filesystem
-    - metadata:
-        name: hot-schema-property-data
-      spec:
-        accessModes:
-          - ReadWriteOnce
-        resources:
-          requests:
-            storage: 5Gi
-        volumeMode: Filesystem
----
-# Source: skywalking-showcase/charts/skywalking/charts/banyandb/templates/cluster_data_statefulset.yaml
-apiVersion: apps/v1
-kind: StatefulSet
-metadata:
-  labels: 
-    helm.sh/chart: banyandb-0.6.0
-    app.kubernetes.io/name: banyandb
-    app.kubernetes.io/instance: demo
-    app.kubernetes.io/managed-by: Helm
-    app.kubernetes.io/component: data
-    app.kubernetes.io/role: warm
-  name: demo-banyandb-data-warm
-spec:
-  serviceName: demo-banyandb-data-warm-headless
-  replicas: 2
-  selector:
-    matchLabels: 
-      app.kubernetes.io/name: banyandb
-      app.kubernetes.io/instance: demo
-      app.kubernetes.io/component: data
-      app.kubernetes.io/role: warm
-  updateStrategy:
-    type: RollingUpdate
-  podManagementPolicy: Parallel
-  template:
-    metadata:
-      labels: 
-        helm.sh/chart: banyandb-0.6.0
-        app.kubernetes.io/name: banyandb
-        app.kubernetes.io/instance: demo
-        app.kubernetes.io/managed-by: Helm
-        app.kubernetes.io/component: data
-        app.kubernetes.io/role: warm
-    spec:
-      serviceAccountName: demo-banyandb
-      securityContext:
-        fsGroup: 1000
-        runAsGroup: 1000
-        runAsUser: 1000
-      priorityClassName: 
-      initContainers:
-        - name: volume-permissions
-          image: busybox:1.36
-          imagePullPolicy: IfNotPresent
-          securityContext:
-            runAsUser: 0
-          command:
-            - sh
-            - -c
-            - |
-              set -euo pipefail
-              mkdir -p /mnt/warm-data/stream
-              chown -R 1000:1000 /mnt/warm-data/stream
-              chmod -R 0770 /mnt/warm-data/stream
-              mkdir -p /mnt/warm-data/measure
-              chown -R 1000:1000 /mnt/warm-data/measure
-              chmod -R 0770 /mnt/warm-data/measure
-              mkdir -p /mnt/warm-data/property
-              chown -R 1000:1000 /mnt/warm-data/property
-              chmod -R 0770 /mnt/warm-data/property
-              mkdir -p /mnt/warm-data/trace
-              chown -R 1000:1000 /mnt/warm-data/trace
-              chmod -R 0770 /mnt/warm-data/trace
-          volumeMounts:
-            - mountPath: /mnt/warm-data
-              name: warm-data
-      containers:
-        - name: data
-          image: ghcr.io/apache/skywalking-banyandb:c2d925e4eae4d77edda94e1fd438243483960150-slim
-          imagePullPolicy: IfNotPresent
-          securityContext:
-            allowPrivilegeEscalation: false
-            capabilities:
-              drop:
-              - ALL
-            readOnlyRootFilesystem: true
-            runAsNonRoot: true
-          env:
-            # Pod metadata for hostname construction
-            - name: POD_NAME
-              valueFrom:
-                fieldRef:
-                  fieldPath: metadata.name
-            - name: POD_NAMESPACE
-              valueFrom:
-                fieldRef:
-                  fieldPath: metadata.namespace
-            # Hostname configuration for headless service
-            - name: BYDB_NODE_HOST_PROVIDER
-              value: "flag"
-            - name: BYDB_NODE_HOST
-              value: "$(POD_NAME).demo-banyandb-data-warm-headless.$(POD_NAMESPACE)"
-            - name: BYDB_NODE_LABELS
-              value: "type=warm"
-            
-            - name: BYDB_SCHEMA_REGISTRY_MODE
-              value: "property"
-            - name: BYDB_HAS_META_ROLE
-              value: "false"
-            
-            - name: BYDB_SCHEMA_PROPERTY_CLIENT_SYNC_INTERVAL
-              value: "30s"
-            
-            
-            
-            - name: BYDB_NODE_DISCOVERY_MODE
-              value: "dns"
-            - name: BYDB_NODE_DISCOVERY_DNS_SRV_ADDRESSES
-              value: "_internal-grpc._tcp.demo-banyandb-liaison-headless.skywalking-showcase.svc.cluster.local,_grpc._tcp.demo-banyandb-data-cold-headless.skywalking-showcase.svc.cluster.local,_grpc._tcp.demo-banyandb-data-hot-headless.skywalking-showcase.svc.cluster.local,_grpc._tcp.demo-banyandb-data-warm-headless.skywalking-showcase.svc.cluster.local"
-            - name: BYDB_NODE_DISCOVERY_DNS_FETCH_INIT_INTERVAL
-              value: "5s"
-            - name: BYDB_NODE_DISCOVERY_DNS_FETCH_INIT_DURATION
-              value: "5m"
-            - name: BYDB_NODE_DISCOVERY_DNS_FETCH_INTERVAL
-              value: "15s"
-            - name: BYDB_NODE_DISCOVERY_GRPC_TIMEOUT
-              value: "5s"
-            - name: GOMEMLIMIT
-              value: "3GiB"
-           
-          args:
-            - data 
-          ports:
-            - containerPort: 17912
-              name: grpc
-            - containerPort: 17913
-              name: http-healthz
-            - containerPort: 6060
-              name: pprof
-            - containerPort: 2121
-              name: observability
-          readinessProbe:
-            httpGet:
-              path: /api/healthz
-              port: 17913
-              scheme: HTTP
-            initialDelaySeconds: 20
-            periodSeconds: 30
-            timeoutSeconds: 5
-            successThreshold: 1
-            failureThreshold: 5
-          livenessProbe:
-            httpGet:
-              path: /api/healthz
-              port: 17913
-              scheme: HTTP
-            initialDelaySeconds: 20
-            periodSeconds: 30
-            timeoutSeconds: 5
-            successThreshold: 1
-            failureThreshold: 5
-          startupProbe:
-            httpGet:
-              path: /api/healthz
-              port: 17913
-              scheme: HTTP
-            initialDelaySeconds: 0
-            periodSeconds: 10
-            timeoutSeconds: 5
-            successThreshold: 1
-            failureThreshold: 60
-          resources:
-            requests:
-              cpu: 100m
-              memory: 1Gi
-            limits:
-              cpu: 4
-              memory: 4Gi
-          volumeMounts:
-            - mountPath: /tmp/stream
-              name: warm-data
-              subPath: stream
-            - mountPath: /tmp/measure
-              name: warm-data
-              subPath: measure
-            - mountPath: /tmp/property
-              name: warm-data
-              subPath: property
-            - mountPath: /tmp/trace
-              name: warm-data
-              subPath: trace
-        - name: fodc-agent
-          image: ghcr.io/apache/skywalking-banyandb-fodc-agent:c2d925e4eae4d77edda94e1fd438243483960150
-          imagePullPolicy: IfNotPresent
-          args:
-            - --proxy-addr=demo-banyandb-fodc-proxy-grpc:17912
-            - --pod-name=$(POD_NAME)
-            - --container-names=data,lifecycle
-            - --poll-metrics-ports=2121,17915
-            - --cluster-state-ports=17912,17914
-            - --lifecycle-port=17912
-            - --lifecycle-report-dir=/tmp/lifecycle-reports
-            - --poll-metrics-interval=15s
-            - --cluster-state-poll-interval=30s
-            - --prometheus-listen-addr=:9090
-            - --max-metrics-memory-usage-percentage=20
-            - --heartbeat-interval=10s
-            - --reconnect-interval=10s
-          env:
-            - name: POD_NAME
-              valueFrom:
-                fieldRef:
-                  fieldPath: metadata.name
-            - name: POD_NAMESPACE
-              valueFrom:
-                fieldRef:
-                  fieldPath: metadata.namespace
-          ports:
-            - name: fodc-agent-http
-              containerPort: 9090
-          resources:
-            requests:
-                cpu: 200m
-                memory: 128Mi
-            limits:
-                cpu: 500m
-                memory: 256Mi
-          volumeMounts:
-            - name: lifecycle-report-shared
-              mountPath: /tmp/lifecycle-reports
-        - name: lifecycle
-          image: ghcr.io/apache/skywalking-banyandb:c2d925e4eae4d77edda94e1fd438243483960150-slim
-          imagePullPolicy: IfNotPresent
-          env:
-            - name: BYDB_NODE_LABELS
-              value: "type=warm"
-            
-            - name: BYDB_SCHEMA_REGISTRY_MODE
-              value: "property"
-            
-            
-            
-            - name: BYDB_NODE_DISCOVERY_MODE
-              value: "dns"
-            - name: BYDB_NODE_DISCOVERY_DNS_SRV_ADDRESSES
-              value: "_internal-grpc._tcp.demo-banyandb-liaison-headless.skywalking-showcase.svc.cluster.local,_grpc._tcp.demo-banyandb-data-cold-headless.skywalking-showcase.svc.cluster.local,_grpc._tcp.demo-banyandb-data-hot-headless.skywalking-showcase.svc.cluster.local,_grpc._tcp.demo-banyandb-data-warm-headless.skywalking-showcase.svc.cluster.local"
-            - name: BYDB_NODE_DISCOVERY_DNS_FETCH_INIT_INTERVAL
-              value: "5s"
-            - name: BYDB_NODE_DISCOVERY_DNS_FETCH_INIT_DURATION
-              value: "5m"
-            - name: BYDB_NODE_DISCOVERY_DNS_FETCH_INTERVAL
-              value: "15s"
-            - name: BYDB_NODE_DISCOVERY_GRPC_TIMEOUT
-              value: "5s"
-          command:
-            - "/lifecycle"
-            - "--schedule=@daily"
-          volumeMounts:
-            - mountPath: /tmp/stream
-              name: warm-data
-              subPath: stream
-            - mountPath: /tmp/measure
-              name: warm-data
-              subPath: measure
-            - mountPath: /tmp/property
-              name: warm-data
-              subPath: property
-            - mountPath: /tmp/trace
-              name: warm-data
-              subPath: trace
-            - name: lifecycle-report-shared
-              mountPath: /tmp/lifecycle-reports
-          resources:
-            requests:
-                cpu: 200m
-                memory: 128Mi
-            limits:
-                cpu: 500m
-                memory: 512Mi
-      volumes:
-        - name: lifecycle-report-shared
-          emptyDir: {}
-      affinity:
-        podAntiAffinity:
-          preferredDuringSchedulingIgnoredDuringExecution:
-            - weight: 100
-              podAffinityTerm:
-                labelSelector:
-                  matchLabels: 
-                    app.kubernetes.io/name: banyandb
-                    app.kubernetes.io/instance: demo
-                    app.kubernetes.io/component: data
-                    app.kubernetes.io/role: warm
-                topologyKey: kubernetes.io/hostname
-  volumeClaimTemplates:
-    - metadata:
-        name: warm-data
-      spec:
-        accessModes:
-          - ReadWriteOnce
-        resources:
-          requests:
-            storage: 100Gi
-        volumeMode: Filesystem
----
-# Source: skywalking-showcase/charts/skywalking/charts/banyandb/templates/cluster_liaison_statefulset.yaml
-apiVersion: apps/v1
-kind: StatefulSet
-metadata:
-  labels: 
-    helm.sh/chart: banyandb-0.6.0
-    app.kubernetes.io/name: banyandb
-    app.kubernetes.io/instance: demo
-    app.kubernetes.io/managed-by: Helm
-    app.kubernetes.io/component: liaison
-  name: demo-banyandb-liaison
-spec:
-  serviceName: demo-banyandb-liaison-headless
-  replicas: 2
-  selector:
-    matchLabels: 
-      app.kubernetes.io/name: banyandb
-      app.kubernetes.io/instance: demo
-      app.kubernetes.io/component: liaison
-  updateStrategy: 
-    rollingUpdate:
-      maxUnavailable: 1
-    type: RollingUpdate
-  podManagementPolicy: Parallel
-  template:
-    metadata:
-      labels: 
-        helm.sh/chart: banyandb-0.6.0
-        app.kubernetes.io/name: banyandb
-        app.kubernetes.io/instance: demo
-        app.kubernetes.io/managed-by: Helm
-        app.kubernetes.io/component: liaison
-    spec:
-      serviceAccountName: demo-banyandb
-      securityContext:
-        fsGroup: 1000
-        runAsGroup: 1000
-        runAsUser: 1000
-      priorityClassName: 
-      initContainers:
-        - name: volume-permissions
-          image: busybox:1.36
-          imagePullPolicy: IfNotPresent
-          securityContext:
-            runAsUser: 0
-          command:
-            - sh
-            - -c
-            - |
-              set -euo pipefail
-              CHOWN_USER=1000
-              CHOWN_GROUP=1000
-              mkdir -p /mnt/liaison-data/measure
-              chown -R ${CHOWN_USER}:${CHOWN_GROUP} /mnt/liaison-data/measure
-              chmod -R 0770 /mnt/liaison-data/measure
-              mkdir -p /mnt/liaison-data/stream
-              chown -R ${CHOWN_USER}:${CHOWN_GROUP} /mnt/liaison-data/stream
-              chmod -R 0770 /mnt/liaison-data/stream
-              mkdir -p /mnt/liaison-data/trace
-              chown -R ${CHOWN_USER}:${CHOWN_GROUP} /mnt/liaison-data/trace
-              chmod -R 0770 /mnt/liaison-data/trace
-          volumeMounts:
-            - mountPath: /mnt/liaison-data
-              name: liaison-data
-      containers:
-        - name: liaison
-          image: ghcr.io/apache/skywalking-banyandb:c2d925e4eae4d77edda94e1fd438243483960150
-          imagePullPolicy: IfNotPresent
-          securityContext:
-            allowPrivilegeEscalation: false
-            capabilities:
-              drop:
-              - ALL
-            readOnlyRootFilesystem: true
-            runAsNonRoot: true
-          env:
-            # Pod metadata for hostname construction
-            - name: POD_NAME
-              valueFrom:
-                fieldRef:
-                  fieldPath: metadata.name
-            - name: POD_NAMESPACE
-              valueFrom:
-                fieldRef:
-                  fieldPath: metadata.namespace
-            # Hostname configuration for headless service
-            - name: BYDB_NODE_HOST_PROVIDER
-              value: "flag"
-            - name: BYDB_NODE_HOST
-              value: "$(POD_NAME).demo-banyandb-liaison-headless.$(POD_NAMESPACE)"
-            
-            - name: BYDB_SCHEMA_REGISTRY_MODE
-              value: "property"
-            
-            - name: BYDB_SCHEMA_PROPERTY_CLIENT_SYNC_INTERVAL
-              value: "30s"
-            
-            
-            
-            - name: BYDB_NODE_DISCOVERY_MODE
-              value: "dns"
-            - name: BYDB_NODE_DISCOVERY_DNS_SRV_ADDRESSES
-              value: "_internal-grpc._tcp.demo-banyandb-liaison-headless.skywalking-showcase.svc.cluster.local,_grpc._tcp.demo-banyandb-data-cold-headless.skywalking-showcase.svc.cluster.local,_grpc._tcp.demo-banyandb-data-hot-headless.skywalking-showcase.svc.cluster.local,_grpc._tcp.demo-banyandb-data-warm-headless.skywalking-showcase.svc.cluster.local"
-            - name: BYDB_NODE_DISCOVERY_DNS_FETCH_INIT_INTERVAL
-              value: "5s"
-            - name: BYDB_NODE_DISCOVERY_DNS_FETCH_INIT_DURATION
-              value: "5m"
-            - name: BYDB_NODE_DISCOVERY_DNS_FETCH_INTERVAL
-              value: "15s"
-            - name: BYDB_NODE_DISCOVERY_GRPC_TIMEOUT
-              value: "5s"
-            - name: BYDB_DATA_NODE_LIST
-              value: "demo-banyandb-data-hot-0.demo-banyandb-data-hot-headless.skywalking-showcase:17912,demo-banyandb-data-hot-1.demo-banyandb-data-hot-headless.skywalking-showcase:17912"
-            - name: GOMEMLIMIT
-              value: 3GiB
-            - name: BYDB_DATA_NODE_SELECTOR
-              value: type=hot
-          args:
-            - liaison
-          ports:
-            - containerPort: 17912
-              name: grpc
-            - containerPort: 17913
-              name: http
-            - containerPort: 18912
-              name: internal-grpc
-            - containerPort: 6060
-              name: pprof
-            - containerPort: 2121
-              name: observability
-          readinessProbe:
-            httpGet:
-              path: /api/healthz
-              port: 17913
-              scheme: HTTP
-            initialDelaySeconds: 20
-            periodSeconds: 30
-            timeoutSeconds: 5
-            successThreshold: 1
-            failureThreshold: 5
-          livenessProbe:
-            httpGet:
-              path: /api/healthz
-              port: 17913
-              scheme: HTTP
-            initialDelaySeconds: 20
-            periodSeconds: 30
-            timeoutSeconds: 5
-            successThreshold: 1
-            failureThreshold: 5
-          startupProbe:
-            httpGet:
-              path: /api/healthz
-              port: 17913
-              scheme: HTTP
-            initialDelaySeconds: 0
-            periodSeconds: 10
-            timeoutSeconds: 5
-            successThreshold: 1
-            failureThreshold: 60
-          resources:
-            requests:
-              cpu: 100m
-              memory: 1Gi
-            limits:
-              cpu: 4
-              memory: 4Gi
-          volumeMounts:
-            - mountPath: /tmp/measure
-              name: liaison-data
-              subPath: measure
-            - mountPath: /tmp/stream
-              name: liaison-data
-              subPath: stream
-            - mountPath: /tmp/trace
-              name: liaison-data
-              subPath: trace
-        - name: fodc-agent
-          image: ghcr.io/apache/skywalking-banyandb-fodc-agent:c2d925e4eae4d77edda94e1fd438243483960150
-          imagePullPolicy: IfNotPresent
-          args:
-            - --proxy-addr=demo-banyandb-fodc-proxy-grpc:17912
-            - --pod-name=$(POD_NAME)
-            - --container-names=liaison
-            - --poll-metrics-ports=2121
-            - --cluster-state-ports=18912
-            - --lifecycle-port=18912
-            - --cluster-state-poll-interval=30s
-            - --poll-metrics-interval=15s
-            - --prometheus-listen-addr=:9090
-            - --max-metrics-memory-usage-percentage=20
-            - --heartbeat-interval=10s
-            - --reconnect-interval=10s
-          env:
-            - name: POD_NAME
-              valueFrom:
-                fieldRef:
-                  fieldPath: metadata.name
-            - name: POD_NAMESPACE
-              valueFrom:
-                fieldRef:
-                  fieldPath: metadata.namespace
-          ports:
-            - name: fodc-agent-http
-              containerPort: 9090
-          resources:
-            requests:
-              cpu: 200m
-              memory: 128Mi
-            limits:
-              cpu: 500m
-              memory: 256Mi
-      affinity:
-        podAntiAffinity:
-          preferredDuringSchedulingIgnoredDuringExecution:
-            - weight: 100
-              podAffinityTerm:
-                labelSelector:
-                  matchLabels: 
-                    app.kubernetes.io/name: banyandb
-                    app.kubernetes.io/instance: demo
-                    app.kubernetes.io/component: liaison
-                topologyKey: kubernetes.io/hostname
-  volumeClaimTemplates:
-    - metadata:
-        name: liaison-data
-      spec:
-        accessModes:
-          - ReadWriteOnce
-        resources:
-          requests:
-            storage: 10Gi
-        volumeMode: Filesystem
----
-# Source: skywalking-showcase/charts/skywalking/charts/banyandb/templates/pdb.yaml
----
----
-# Source: skywalking-showcase/charts/skywalking/templates/oap-cm-dynamic.yaml
-# 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.
----
-# Source: skywalking-showcase/charts/skywalking/templates/satellite-cm-override.yaml
-# 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.
----
-# Source: skywalking-showcase/charts/skywalking/templates/satellite-deployment.yaml
-# 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.
----
-# Source: skywalking-showcase/charts/skywalking/templates/satellite-role.yaml
-# 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.
----
-# Source: skywalking-showcase/charts/skywalking/templates/satellite-rolebinding.yaml
-# 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.
----
-# Source: skywalking-showcase/charts/skywalking/templates/satellite-serviceaccount.yaml
-# 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.
----
-# Source: skywalking-showcase/charts/skywalking/templates/satellite-svc.yaml
-# 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.
----
-# Source: skywalking-showcase/charts/skywalking/templates/ui-ingress.yaml
-# 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.
----
-# Source: skywalking-showcase/charts/skywalking/templates/ui-pvc.yaml
-# 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.
----
-# Source: skywalking-showcase/templates/feature-activemq-monitor/opentelemetry-config.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-agent/resources.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-apisix-monitor/opentelemetry-config.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-banyandb-monitor/opentelemetry-config.yaml
-# 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.
----
-# Source: skywalking-showcase/templates/feature-baseline/deployment.yml
-#  Copyright 2025 SkyAPM org
-#
-#  Licensed 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.
----
-# Source: skywalking-showcase/templates/feature-ciilum/policy.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-ciilum/resources.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-elasticseasrch-monitor/opentelemetry-config.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-event/permissions.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-event/resources.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-event/scaler.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-flink/opentelemetry-config.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-flink/resource.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-grafana/configmaps.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-grafana/resources.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-istiod-monitor/opentelemetry-config.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-kubernetes-monitor/opentelemetry-config.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-mongodb/opentelemetry-config.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-mysql-monitor/fluent-bit.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-mysql-monitor/mysql.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-mysql-monitor/opentelemetry-config.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-nginx-monitor/opentelemetry-config.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-nginx-monitor/resources.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-postgresql-monitor/fluent-bit.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-postgresql-monitor/opentelemetry-config.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-postgresql-monitor/psql.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-pulsar-monitor/opentelemetry-config.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-pulsar-monitor/resource.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-r3/resources.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-rabbitmq-monitor/opentelemetry-config.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-rabbitmq-monitor/rabbitmq.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-rocketmq/opentelemetry-config.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-rocketmq/resource.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-rover/permissions.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-rover/profiling.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-rover/resources.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-so11y/opentelemetry-config.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-trace-profiling/profiling.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-vm-monitor/opentelemetry-config.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/feature-vm-monitor/vm.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/otel-collector-config.yaml
-# 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.
-#
----
-# Source: skywalking-showcase/templates/swck-eventexporter-extras.yaml
-# 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.
-#
-# Workaround for a gap in apache/skywalking-helm: the chart at the version
-# pinned in Chart.yaml does not ship the EventExporter CRD or RBAC, but the
-# pinned swck-operator image (Makefile.in: SWCK_OPERATOR_IMAGE_TAG) registers
-# an EventExporterReconciler unconditionally. Without these, the operator
-# fails cache sync and crashlooops, which takes its mutating webhook down
-# and blocks pod creation in sample-services.
-#
-# Remove this file once apache/skywalking-helm ships EventExporter natively.
-
-NOTES:
-*************************************************************************
-*                                                                       *
-*                          SkyWalking Showcase                          *
-*                                                                       *
-*************************************************************************
-
-Thank you for installing skywalking-showcase.
-
-Your release is named demo.
-
-Get the UI URL by running these commands:
-  echo "Visit http://127.0.0.1:8081 to use your application"
-  kubectl port-forward svc/demo-ui 8081:80 --namespace skywalking-showcase
diff --git a/deploy/platform/kubernetes/values.yaml b/deploy/platform/kubernetes/values.yaml
index f608459..e74bfe5 100644
--- a/deploy/platform/kubernetes/values.yaml
+++ b/deploy/platform/kubernetes/values.yaml
@@ -48,7 +48,6 @@ skywalking:
       K8S_SERVICE_NAME_RULE: "mesh-svr::${service.metadata.name}.${service.metadata.namespace}"
       SW_CONFIGURATION: k8s-configmap
       SW_ENVOY_METRIC_ALS_TCP_ANALYSIS: "mx-mesh"
-      SW_ENABLE_UPDATE_UI_TEMPLATE: "false"
       SW_SLOW_DB_THRESHOLD: default:0,mongodb:100
       SW_ENABLE_ON_DEMAND_POD_LOG: "true"
       SW_METER_ANALYZER_ACTIVE_FILES: datasource,threadpool,satellite,network-profiling,go-runtime,python-runtime,spring-micrometer,continuous-profiling,java-agent,go-agent
@@ -161,21 +160,120 @@ skywalking:
       repository: ~
       tag: ~
       pullPolicy: IfNotPresent
-    # Minimal default so `make deploy.kubernetes` works for local dev — the
-    # upstream Horizon UI BFF refuses to start without at least one user.
-    # The hosted demo environment overrides this via demo-env-installer's
-    # demo-values.yaml; rotate before exposing outside trusted networks.
+    # Every credential is supplied out of band, so no secret is committed to
+    # this repo. The `${...}` refs below read them from the env at startup:
+    #   kubectl create secret generic horizon-secrets -n skywalking-showcase \
+    #     --from-literal=HORIZON_GITHUB_CLIENT_ID=<client-id> \
+    #     --from-literal=HORIZON_GITHUB_CLIENT_SECRET=<secret> \
+    #     --from-literal=HORIZON_GOOGLE_CLIENT_ID=<client-id> \
+    #     --from-literal=HORIZON_GOOGLE_CLIENT_SECRET=<secret>
+    # The two HORIZON_*_PASSWORD_HASH keys are only read if the local-auth
+    # block below is uncommented; mint one with `pnpm --filter bff cli:hash`.
+    # Every ref is `${VAR}` with no `:default`, so an unset var expands to
+    # empty and the schema rejects the whole config at boot (passwordHash and
+    # clientId are both min(1)) rather than leaving auth half-configured until
+    # someone tries to log in. Interpolation runs before the YAML parse and
+    # substitutes through a replacer function, so the `$` characters in an
+    # argon2 hash survive intact.
+    envFromSecret: horizon-secrets
+    # The Secret above must exist before `make deploy.kubernetes` — an unset
+    # ${VAR} expands to empty and the schema rejects the config at boot. The
+    # hosted demo environment overrides this via demo-env-installer's
+    # demo-values.yaml.
     config:
+      server:
+        # Used to build the SSO callback, so it must match a redirect URI
+        # registered on EACH provider exactly — the string is compared, so
+        # 127.0.0.1 and localhost are NOT interchangeable. This is the address
+        # NOTES.txt prints for `port-forward svc/<release>-ui 8081:80`; browse
+        # that same form so the state cookie and the callback share a host.
+        publicUrl: http://127.0.0.1:8081
       auth:
-        backend: local
-        local:
-          users:
-            - username: admin            # password: admin
-              passwordHash: "$argon2id$v=19$m=65536,t=3,p=4$eemqy1r72oSXR58y8VpRqw$Bn/dULrmJTHEi3263KfgWDEwQmUsqNLi3xwyv/DekHM"
-              roles: [admin]
-            - username: skywalking       # password: skywalking
-              passwordHash: "$argon2id$v=19$m=65536,t=3,p=4$Zqj8HhQDqm8d5c2MipHYZw$BsaCnu4bdd4uadIldx3wwYLsdo47Thxb7Lv1MXpWG2Q"
-              roles: [ viewer, maintainer ]
+        # Password login is OFF. `backend` defaults to `local` and
+        # `local.users` to [], so the block below can simply stay commented:
+        # with zero local users and SSO configured the BFF logs an info line
+        # ("the provider buttons are the way in") rather than an error, and
+        # the login page does NOT show "Auth not configured" — a configured
+        # provider is what satisfies that check.
+        #
+        # Uncomment for a break-glass account for the day a provider is
+        # unreachable; the hashes are already in the horizon-secrets Secret.
+        # A local username must NOT be an email address — local roles win over
+        # SSO, so it would silently answer for the SSO identity at the same
+        # address (the BFF drops such users and logs an error).
+        # backend: local
+        # local:
+        #   users:
+        #     - username: admin
+        #       passwordHash: "${HORIZON_ADMIN_PASSWORD_HASH}"
+        #       roles: [admin]
+        #     - username: skywalking
+        #       passwordHash: "${HORIZON_SKYWALKING_PASSWORD_HASH}"
+        #       roles: [ viewer, maintainer ]
+        # Single sign-on — Horizon as the CLIENT, sending the operator out to
+        # an identity provider. With local auth commented out above, these
+        # providers are the ONLY way in — a provider outage locks everyone
+        # out until a local user is restored. Both share ONE callback,
+        # /api/auth/oidc/callback; `state` carries which one is returning.
+        # GitHub never adopted OIDC, hence `kind: oauth2` and the endpoints
+        # configured by hand instead of read from a discovery document.
+        # `emailsEndpoint` is required: /user reports `email: null` unless the
+        # account publishes an address on its public profile, and it is also
+        # what proves the address is verified (entries carry `verified`).
+        sso:
+          providers:
+            - id: github
+              displayName: GitHub
+              kind: oauth2
+              authorizationEndpoint: https://github.com/login/oauth/authorize
+              tokenEndpoint: https://github.com/login/oauth/access_token
+              userinfoEndpoint: https://api.github.com/user
+              emailsEndpoint: https://api.github.com/user/emails
+              scopes: ["user:email"]
+              emailPath: email
+              namePath: login
+              clientId: "${HORIZON_GITHUB_CLIENT_ID}"
+              clientSecret: "${HORIZON_GITHUB_CLIENT_SECRET}"
+              # Empty admits anyone with a GitHub account. That is the right
+              # call for a public demo — every visitor is a viewer anyway, and
+              # a real identity in the server log beats a shared login. List
+              # domains here to confine it to an organisation.
+              allowedDomains: []
+            # Google speaks OIDC, so everything vendor-specific is read from
+            # <issuer>/.well-known/openid-configuration at runtime — no
+            # endpoints to configure by hand, and `openid email profile` are
+            # added to the scopes automatically. Identity is a SIGNED id token
+            # rather than a userinfo lookup, which makes this a stronger proof
+            # than the GitHub oauth2 path above.
+            - id: google
+              displayName: Google
+              kind: oidc
+              issuer: https://accounts.google.com
+              clientId: "${HORIZON_GOOGLE_CLIENT_ID}"
+              clientSecret: "${HORIZON_GOOGLE_CLIENT_SECRET}"
+              # Matches the address GOOGLE reports — the Google account's own
+              # address, not a domain that merely forwards mail to it.
+              allowedDomains: []
+          # A provider says WHO you are, never what you may do here. ONE table
+          # for every provider — roles re-resolve from the address on each
+          # request, when there is no record of which provider authenticated
+          # it. Most specific wins: exact address > domain > default — and the
+          # first tier that matches WINS OUTRIGHT, tiers are not merged, so a
+          # domain hit of [admin] does NOT also carry defaultRoles.
+          roles:
+            defaultRoles: [viewer, maintainer]
+            # Exact domain, case-insensitive; a leading @ is optional.
+            # Subdomains do NOT match — eng.example.com would need its own
+            # entry. A shared issuer like accounts.google.com serves every
+            # Workspace tenant without a claim naming which, so a suffix rule
+            # would let whoever controls a delegated label under the domain
+            # stand up a tenant and inherit the parent's roles.
+            #            roleByDomain:
+            #              example.com: [admin]
+            # Exact address, case-insensitive. Checked FIRST, so an entry
+            # here overrides whatever roleByDomain would otherwise grant.
+            roleByEmail:
+              "your@example.com": [admin]
   banyandb:
     enabled: false
     image: