added repo

This commit is contained in:
Your Name
2026-08-26 03:39:42 +05:30
parent 45c25a95af
commit b8575bb8b9
6889 changed files with 1217125 additions and 0 deletions
+569
View File
@@ -0,0 +1,569 @@
# Default values for pyroscope.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
global:
# -- Overrides the Docker registry globally for all images
imageRegistry: null
pyroscope:
replicaCount: 1
# -- Enable or disable Self profile push, useful to test
disableSelfProfile: true
# -- Kubernetes cluster domain suffix for DNS discovery
cluster_domain: .cluster.local.
image:
registry: ''
repository: grafana/pyroscope
pullPolicy: IfNotPresent
# Allows to override the image tag, which defaults to the appVersion in the chart metadata
tag: ""
extraArgs:
log.level: debug
extraLabels: {}
extraEnvVars:
{}
# The following environment variables are set by the Helm chart.
# JAEGER_AGENT_HOST: jaeger-agent.jaeger.svc.cluster.local.
extraCustomEnvVars: {}
# The following environment variables raw form.
# - name: MY_NODE_NAME
# valueFrom:
# fieldRef:
# fieldPath: spec.nodeName
# -- Environment variables from secrets or configmaps to add to the pods
extraEnvFrom: []
imagePullSecrets: []
dnsPolicy: ClusterFirst
initContainers: []
extraContainers: []
nameOverride: ""
fullnameOverride: ""
serviceAccount:
# Specifies whether a service account should be created
create: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: ""
podAnnotations:
# Scrapes itself see https://grafana.com/docs/pyroscope/latest/deploy-kubernetes/helm/#optional-scrape-your-own-workloads-profiles
profiles.grafana.com/memory.scrape: "true"
profiles.grafana.com/memory.port_name: http2
profiles.grafana.com/cpu.scrape: "true"
profiles.grafana.com/cpu.port_name: http2
profiles.grafana.com/goroutine.scrape: "true"
profiles.grafana.com/goroutine.port_name: http2
# profiles.grafana.com/block.scrape: "true"
# profiles.grafana.com/mutex.scrape: "true"
podSecurityContext:
fsGroup: 10001
runAsUser: 10001
runAsNonRoot: true
podDisruptionBudget:
enabled: true
maxUnavailable: 1
securityContext:
{}
# capabilities:
# drop:
# - ALL
# readOnlyRootFilesystem: true
# runAsNonRoot: true
# runAsUser: 1000
service:
type: ClusterIP
port: 4040
port_name: http2
scheme: HTTP
annotations: {}
headlessAnnotations: {}
memberlist:
port: 7946
port_name: memberlist
grpc:
port: 9095
port_name: grpc
metastore:
port: 9099
port_name: raft
resources:
{}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources'.
#
# Note that if memory consumption is higher than you would like, you can decrease the interval
# that profiles are written into blocks by setting `pyroscopedb.max-block-duration` in the `extraArgs`
# stanza. By default, it is set to 3h - override it, for example, as below:
# ```
# extraArgs:
# pyroscopedb.max-block-duration: 30m
# ```
#
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
nodeSelector: {}
# -- Topology Spread Constraints
topologySpreadConstraints: []
## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/
## If you set enabled as "True", you need :
## - create a pv which above 10Gi and has same namespace with pyroscope
## - keep storageClassName same with below setting
persistence:
enabled: false
accessModes:
- ReadWriteOnce
size: 10Gi
annotations: {}
# selector:
# matchLabels:
# app.kubernetes.io/name: pyroscope
# subPath: ""
# existingClaim:
metastore:
# subPath to use of the data volume for the metastore persistence.
subPath: .metastore
shared:
enabled: true
# subPath to use of the data volume for the shared storage used as bucket replacement.
subPath: .shared
extraVolumes:
[]
# - name: backup-volume
# emptydir: {}
extraVolumeMounts:
[]
# - name: testing
# mountPath: /var/lib/testing
# readOnly: false
# - name: test-volume
# mountPath: /var/tmp/test-volume
# existingClaim: test-volume
# readOnly: false
tolerations: []
affinity: {}
# Override the PodPriorityClass
# priorityClassName: high
# run specific components separately
components: {}
# -- Allows to override Pyroscope's configuration using structured format.
structuredConfig: {}
# -- Contains Pyroscope's configuration as a string.
# @default -- The config depends on other values been set, details can be found in [`values.yaml`](./values.yaml)
config: |
{{- if .Values.minio.enabled }}
storage:
backend: s3
s3:
endpoint: "{{ include "pyroscope.fullname" . }}-minio:9000"
bucket_name: {{(index .Values.minio.buckets 0).name | quote }}
access_key_id: {{ .Values.minio.rootUser | quote }}
secret_access_key: {{ .Values.minio.rootPassword | quote }}
insecure: true
{{- end }}
# -- Allows to add tenant specific overrides to the default limit configuration.
tenantOverrides:
{}
# "foo":
# ingestion_rate_mb: 1
# ingestion_burst_size_mb: 2
# -- Grafana Agent Configuration.
architecture:
storage:
# -- (bool) Enable v1 storage layer.
v1: true
# -- (bool) Enable v2 storage layer.
v2: false
migration:
# -- (float) Specifies the fraction [0:1] that should be send to the v1 write path / ingester in combined mode. 0 means no traffics is sent to ingester. 1 means 100% of requests are sent to ingester.
ingesterWeight: 1.0
# -- (float) Specifies the fraction [0:1] that should be send to the v2 write path / segment-writer in combined mode. 0 means no traffics is sent to segment-writer. 1 means 100% of requests are sent to segment-writer.
segmentWriterWeight: 1.0
# -- (bool) Specify a time stamp from when the v2 read path should serve traffic.
queryBackend: true
# -- (string) Specify a time stamp from when the v2 read path should serve traffic.
queryBackendFrom: auto
# -- This flag is useful for testing, it will overwrite all pods resource statements with its contents
overwriteResources:
{}
# limits: {}
# requests: {}
# -- Deploy unified write/read services. These endpoints will can be used no matter if the helm chart is configured as single-binary or microservices
deployUnifiedServices: false
microservices:
# -- (bool) Enable micro-services deployment mode. This is recommend for larger scale deployment and allow right size each aspect of Pyroscope.
enabled: false
# -- (string) Memberlist cluster label that will be used for all members of this cluster
clusterLabelSuffix: -micro-services
# -- @ignored
# Not useful to be indivually exposed
v1:
querier:
kind: Deployment
replicaCount: 3
resources:
limits:
memory: 1Gi
requests:
memory: 256Mi
cpu: 1
extraArgs:
store-gateway.sharding-ring.replication-factor: "3"
query-frontend:
kind: Deployment
replicaCount: 2
resources:
limits:
memory: 1Gi
requests:
memory: 256Mi
cpu: 100m
query-scheduler:
kind: Deployment
replicaCount: 2
resources:
limits:
memory: 1Gi
requests:
memory: 256Mi
cpu: 100m
distributor:
kind: Deployment
replicaCount: 2
resources:
limits:
memory: 1Gi
requests:
memory: 256Mi
cpu: 500m
ingester:
kind: StatefulSet
replicaCount: 3
terminationGracePeriodSeconds: 600
resources:
limits:
memory: 16Gi
requests:
memory: 8Gi
cpu: 1
compactor:
kind: StatefulSet
replicaCount: 3
terminationGracePeriodSeconds: 1200
persistence:
enabled: false
resources:
limits:
memory: 16Gi
requests:
memory: 8Gi
cpu: 1
store-gateway:
kind: StatefulSet
replicaCount: 3
persistence:
# The store-gateway needs not need persistent storage, but we still run it as a StatefulSet
# This is to avoid having blocks of data being
enabled: false
resources:
limits:
memory: 16Gi
requests:
memory: 8Gi
cpu: 1
readinessProbe:
# The store gateway can be configured to wait on startup for ring stability to be reached before it becomes
# ready. See the `store-gateway.sharding-ring.wait-stability-min-duration` server argument for more information.
#
# Depending on this flag and the number of tenants + blocks that need to be synced on startup, pods can take
# some time to become ready. This value can be used to ensure Kubernetes waits long enough and reduce errors.
initialDelaySeconds: 60
extraArgs:
store-gateway.sharding-ring.replication-factor: "3"
tenant-settings:
kind: Deployment
replicaCount: 1
resources:
limits:
memory: 4Gi
requests:
memory: 16Mi
cpu: 0.1
ad-hoc-profiles:
kind: Deployment
replicaCount: 1
resources:
limits:
memory: 4Gi
requests:
memory: 16Mi
cpu: 0.1
# -- @ignored
# Not useful to be indivually exposed
v2:
query-backend:
kind: Deployment
replicaCount: 3
resources:
limits:
memory: 1Gi
requests:
memory: 256Mi
cpu: 1
query-frontend:
kind: Deployment
replicaCount: 2
resources:
limits:
memory: 1Gi
requests:
memory: 256Mi
cpu: 100m
distributor:
kind: Deployment
replicaCount: 2
resources:
limits:
memory: 1Gi
requests:
memory: 256Mi
cpu: 500m
segment-writer:
kind: StatefulSet
replicaCount: 3
terminationGracePeriodSeconds: 600
resources:
limits:
memory: 4Gi
requests:
memory: 2Gi
cpu: 1
compaction-worker:
kind: StatefulSet
replicaCount: 3
terminationGracePeriodSeconds: 1200
persistence:
enabled: false
resources:
limits:
memory: 2Gi
requests:
memory: 1Gi
cpu: 1
metastore:
kind: StatefulSet
replicaCount: 3
terminationGracePeriodSeconds: 1200
persistence:
enabled: false
resources:
limits:
memory: 2Gi
requests:
memory: 1Gi
cpu: 1
extraArgs:
# Expect 3 metastores
metastore.raft.bootstrap-expect-peers: 3
# TODO(kolesnikovae): Update defaults.
adaptive-placement.max-dataset-shards: 1024
adaptive-placement.unit-size-bytes: 131072
# enable cleanup of blocks beyond retention
metastore.index.cleanup-interval: 1m
metastore.snapshot-compact-on-restore: true
tenant-settings:
kind: Deployment
replicaCount: 1
resources:
limits:
memory: 256Mi
requests:
memory: 16Mi
cpu: 0.1
ad-hoc-profiles:
kind: Deployment
replicaCount: 1
resources:
limits:
memory: 256Mi
requests:
memory: 16Mi
cpu: 0.1
admin:
kind: Deployment
replicaCount: 1
resources:
limits:
memory: 256Mi
requests:
memory: 16Mi
cpu: 0.1
# -------------------------------------
# Configuration for `alloy` child chart
# -------------------------------------
alloy:
enabled: true
controller:
type: "statefulset"
replicas: 1
podAnnotations:
profiles.grafana.com/memory.scrape: "true"
profiles.grafana.com/memory.port_name: "http-metrics"
profiles.grafana.com/cpu.scrape: "true"
profiles.grafana.com/cpu.port_name: "http-metrics"
profiles.grafana.com/goroutine.scrape: "true"
profiles.grafana.com/goroutine.port_name: "http-metrics"
profiles.grafana.com/service_repository: 'https://github.com/grafana/alloy'
profiles.grafana.com/service_git_ref: 'v1.8.1'
alloy:
stabilityLevel: "public-preview" # This needs to be set for some of our resources until verison v1.2 is released
configMap:
create: false
name: alloy-config-pyroscope
clustering:
enabled: true
# -------------------------------------
# Configuration for `grafana-agent` child chart
# -------------------------------------
agent:
enabled: false
controller:
type: "statefulset"
replicas: 1
podAnnotations:
profiles.grafana.com/memory.scrape: "true"
profiles.grafana.com/memory.port_name: "http-metrics"
profiles.grafana.com/cpu.scrape: "true"
profiles.grafana.com/cpu.port_name: "http-metrics"
profiles.grafana.com/goroutine.scrape: "true"
profiles.grafana.com/goroutine.port_name: "http-metrics"
agent:
configMap:
create: false
name: grafana-agent-config-pyroscope
clustering:
enabled: true
# -------------------------------------
# Configuration for `minio` child chart
# -------------------------------------
minio:
enabled: false
replicas: 1
# Minio requires 2 to 16 drives for erasure code (drivesPerNode * replicas)
# https://docs.min.io/docs/minio-erasure-code-quickstart-guide
# Since we only have 1 replica, that means 2 drives must be used.
drivesPerNode: 2
rootUser: grafana-pyroscope
rootPassword: supersecret
buckets:
- name: grafana-pyroscope-data
policy: none
purge: false
persistence:
size: 5Gi
resources:
requests:
cpu: 100m
memory: 128Mi
podAnnotations: {}
ingress:
enabled: false
className: ""
pathType: ImplementationSpecific
# Additional labels to add to the ingress resource
labels: {}
# Additional annotations to add to the ingress resource
annotations: {}
# hosts:
# - localhost
# tls:
# - secretName: certificate
# ServiceMonitor configuration
serviceMonitor:
# -- If enabled, ServiceMonitor resources for Prometheus Operator are created
enabled: false
# -- Namespace selector for ServiceMonitor resources
namespaceSelector: {}
# -- Optional expressions to match on
matchExpressions: []
# - key: prometheus.io/service-monitor
# operator: NotIn
# values:
# - "false"
# -- ServiceMonitor annotations
annotations: {}
# -- Additional ServiceMonitor labels
labels: {}
# -- ServiceMonitor scrape interval
interval: null
# -- ServiceMonitor scrape timeout in Go duration format (e.g. 15s)
scrapeTimeout: null
# -- ServiceMonitor relabel configs to apply to samples before scraping
# https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
relabelings: []
# -- ServiceMonitor metric relabel configs to apply to samples before ingestion
# https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#endpoint
metricRelabelings: []
# --ServiceMonitor will add labels from the service to the Prometheus metric
# https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#servicemonitorspec
targetLabels: []
# -- ServiceMonitor will use http by default, but you can pick https as well
scheme: http
# -- ServiceMonitor will use these tlsConfig settings to make the health check requests
tlsConfig: null