Files
NageshbansalandGitHub 3bd9b5d768 feat(casting): adds k8skustomize casting (#67)
#### Features

- adds kubernets kustomize casting
- add examples for knobs, knobs with patches, patches and default
installation

Related: https://github.com/SigNoz/platform-pod/issues/1778
2026-03-18 19:28:57 +05:30

97 lines
3.0 KiB
YAML

apiVersion: v1alpha1
metadata:
name: signoz
spec:
deployment:
flavor: kustomize
mode: kubernetes
patches:
# 1. Set storage class and size on ClickHouse data volumes
# Required for cloud providers (gp3 on AWS, pd-ssd on GCP, managed-premium on Azure)
- target: "deployment/telemetrystore/clickhouse/clickhouseinstallation.yaml"
operations:
- op: add
path: /spec/templates/volumeClaimTemplates/0/spec/storageClassName
value: gp3
- op: replace
path: /spec/templates/volumeClaimTemplates/0/spec/resources/requests/storage
value: 100Gi
- op: add
path: /spec/templates/volumeClaimTemplates/1/spec/storageClassName
value: gp3
# 2. Set resource limits on ClickHouse for production sizing
- target: "deployment/telemetrystore/clickhouse/clickhouseinstallation.yaml"
operations:
- op: replace
path: /spec/templates/podTemplates/0/spec/containers/0/resources
value:
requests:
cpu: "2"
memory: "4Gi"
limits:
cpu: "4"
memory: "8Gi"
# 3. Set resource limits and requests on SigNoz
- target: "deployment/signoz/statefulset.yaml"
operations:
- op: replace
path: /spec/template/spec/containers/0/resources
value:
requests:
memory: "1Gi"
cpu: "500m"
limits:
memory: "2Gi"
cpu: "1"
# 4. Add tolerations and nodeSelector for dedicated observability nodes
- target: "deployment/signoz/statefulset.yaml"
operations:
- op: add
path: /spec/template/spec/tolerations
value:
- key: "dedicated"
operator: "Equal"
value: "signoz"
effect: "NoSchedule"
- op: add
path: /spec/template/spec/nodeSelector
value:
node-role.kubernetes.io/observability: ""
# 5. Change SigNoz service to LoadBalancer with AWS NLB
- target: "deployment/signoz/service.yaml"
operations:
- op: replace
path: /spec/type
value: LoadBalancer
- op: add
path: /metadata/annotations
value:
service.beta.kubernetes.io/aws-load-balancer-type: nlb
# 6. Set resource limits on ingester
- target: "deployment/ingester/deployment.yaml"
operations:
- op: replace
path: /spec/template/spec/containers/0/resources
value:
requests:
cpu: "1"
memory: "2Gi"
limits:
cpu: "2"
memory: "4Gi"
# 7. Set storage class on PostgreSQL metastore
- target: "deployment/metastore/postgres/statefulset.yaml"
operations:
- op: add
path: /spec/volumeClaimTemplates/0/spec/storageClassName
value: gp3
- op: replace
path: /spec/volumeClaimTemplates/0/spec/resources/requests/storage
value: 20Gi