Files
service-catalog/manifests/helm/victoria-logs-cluster/0.1.5/values.yaml
T
wbsong111 6290322f1b Add VictoriaMetrics observability stack + sync catalog for monitoring test
- VM stack 10 charts: victoria-metrics-cluster/auth, victoria-logs-cluster,
  victoria-metrics-agent/alert, opentelemetry-collector, kube-state-metrics,
  prometheus-node-exporter, alertmanager, perses (JWT/OIDC, Infisical-ready)
- ArgoCD ApplicationSet (syncWave) + per-chart dip-values overlays
- doc/victoria-metrics-architecture.md, define-chart-resources updates
- includes pending working-tree changes (mlflow, kubeflow, apisix, CLAUDE.md)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 11:10:51 +09:00

1293 lines
41 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Default values for victoriaLogs cluster chart.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
global:
# -- Image pull secrets, that can be shared across multiple helm charts
imagePullSecrets: []
image:
# -- Image registry, that can be shared across multiple helm charts
registry: ""
# -- Openshift security context compatibility configuration
compatibility:
openshift:
adaptSecurityContext: "auto"
# -- k8s cluster domain suffix, uses for building storage pods' FQDN. Details are [here](https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/)
cluster:
dnsDomain: cluster.local.
# -- Print information after deployment
printNotes: true
common:
# -- common for all components image configuration
image:
tag: ""
serviceAccount:
# -- Specifies whether a service account should be created
create: false
# -- The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name:
# -- Service account labels
extraLabels: {}
# -- Service account annotations
annotations: {}
# -- mount API token to pod directly
automountToken: true
# -- Override chart name
nameOverride: ""
# -- Add extra specs dynamically to this chart
extraObjects: []
vlselect:
# -- Enable deployment of vlselect component.
enabled: true
# -- Override default `app` label name
name: ""
strategy: {}
# rollingUpdate:
# maxSurge: 25%
# maxUnavailable: 25%
# type: RollingUpdate
image:
# -- Image registry
registry: ""
# -- Image repository
repository: victoriametrics/victoria-logs
# -- Image tag
# override Chart.AppVersion
tag: ""
# -- Image tag suffix, which is appended to `Chart.AppVersion` if no `server.image.tag` is defined
variant: ""
# -- Image pull policy
pullPolicy: IfNotPresent
# -- Specify pod lifecycle
lifecycle: {}
ports:
# -- vlselect http port name
name: "http"
# -- Name of Priority Class
priorityClassName: ""
# -- Overrides the full name of vlselect component
fullnameOverride: ""
# -- Suppress rendering `--storageNode` FQDNs based on `vlstorage.replicaCount` value. If true suppress rendering `--storageNode`, they can be re-defined in extraArgs
suppressStorageFQDNsRender: false
# -- Extra command line arguments for vlselect component
extraArgs:
envflag.enable: true
loggerFormat: json
httpListenAddr: :9471
http.shutdownDelay: 15s
# -- Pod's termination grace period in seconds
terminationGracePeriodSeconds: 60
# -- Deployment annotations
annotations: {}
# -- Deployment additional labels
extraLabels: {}
# -- Pods additional labels
podLabels: {}
# -- Additional environment variables (ex.: secret tokens, flags). Check [here](https://docs.victoriametrics.com/victoriametrics/#environment-variables) for details.
env: []
# -- Specify alternative source for env variables
envFrom: []
#- configMapRef:
# name: special-config
# -- Readiness & Liveness probes
probe:
# -- vlselect readiness probe
readiness:
httpGet: {}
initialDelaySeconds: 5
periodSeconds: 5
timeoutSeconds: 5
failureThreshold: 3
# -- vlselect liveness probe
liveness:
tcpSocket: {}
initialDelaySeconds: 5
periodSeconds: 15
timeoutSeconds: 5
failureThreshold: 3
# -- vlselect startup probe
startup: {}
# -- Vertical Pod Autoscaler.
# Requires VPA CRD (`autoscaling.k8s.io/v1`) to be installed in the cluster.
# Note that VPA should not be used together with HPA on the same resource metrics (CPU/memory).
verticalPodAutoscaler:
# -- Use VPA for vmagent
enabled: false
# -- List of custom recommenders to use
# recommenders:
# - name: 'alternative'
# -- Update policy for VPA
# updatePolicy:
# updateMode: "Auto"
# minReplicas: 1
# -- Resource policy for VPA
# resourcePolicy:
# containerPolicies:
# - containerName: '*'
# minAllowed:
# cpu: 100m
# memory: 128Mi
# maxAllowed:
# cpu: 1
# memory: 500Mi
# controlledResources: ["cpu", "memory"]
horizontalPodAutoscaler:
# -- Use HPA for vlselect component
enabled: false
# -- Maximum replicas for HPA to use to to scale the vlselect component
maxReplicas: 10
# -- Minimum replicas for HPA to use to scale the vlselect component
minReplicas: 2
# -- Metric for HPA to use to scale the vlselect component
metrics: []
# -- Behavior settings for scaling by the HPA
behavior: {}
# -- Extra Volumes for the pod
extraVolumes:
[]
# - name: example
# configMap:
# name: example
# -- Extra Volume Mounts for the container
extraVolumeMounts:
[]
# - name: example
# mountPath: /example
# -- Extra containers to run in a pod with vlselect
extraContainers:
[]
# - name: config-reloader
# image: reloader-image
# -- Init containers for vlselect
initContainers:
[]
# - name: example
# image: example-image
# -- See `kubectl explain poddisruptionbudget.spec` for more. Details are [here](https://kubernetes.io/docs/tasks/run-application/configure-pdb/)
podDisruptionBudget:
# -- See `kubectl explain poddisruptionbudget.spec` for more. Details are [here](https://kubernetes.io/docs/tasks/run-application/configure-pdb/)
enabled: false
# -- min number or percentage of pods that can be unavailable
minAvailable: 0
# -- max number or percentage of pods that can be unavailable
maxUnavailable: 0
# -- Defines criteria when unhealthy pods should be considered for eviction
unhealthyPodEvictionPolicy:
labels: {}
# -- Array of tolerations object. Details are [here](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/)
tolerations: []
# - key: "key"
# operator: "Equal|Exists"
# value: "value"
# effect: "NoSchedule|PreferNoSchedule"
# -- Pod's node selector. Details are [here](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector)
nodeSelector: {}
# -- Pod affinity
affinity: {}
# -- Pod topologySpreadConstraints
topologySpreadConstraints: []
# -- Pod's annotations
podAnnotations: {}
# -- Count of vlselect pods
replicaCount: 2
# -- Container workdir
containerWorkingDir: ""
# -- Resource object. Details are [here](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/)
resources: {}
# limits:
# cpu: 100m
# memory: 200Mi
# requests:
# cpu: 100m
# memory: 200Mi
# -- Pod's security context. Details are [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/)
podSecurityContext:
enabled: true
fsGroup: 1000
# -- Check [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) for details.
securityContext:
enabled: true
runAsNonRoot: true
runAsUser: 1000
runAsGroup: 1000
service:
# -- Service traffic distribution. Details are [here](https://kubernetes.io/docs/concepts/services-networking/service/#traffic-distribution)
trafficDistribution: ""
# -- Create vlselect service
enabled: true
# -- Service annotations
annotations: {}
# -- Service labels
labels: {}
# -- Service type
type: ClusterIP
# -- Service ClusterIP
clusterIP: ""
# -- Service nodePort # nodePort: "30471"
nodePort: ""
# -- Service external IPs. Details are [here](https://kubernetes.io/docs/concepts/services-networking/service/#external-ips)
externalIPs: []
# -- Extra service ports
extraPorts: []
# -- Service load balancer IP
loadBalancerIP: ""
# -- Load balancer source range
loadBalancerSourceRanges: []
# -- Service port
servicePort: 9471
# -- Target port
targetPort: http
# -- Health check node port for a service. Check [here](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip) for details
healthCheckNodePort: ""
# -- Service external traffic policy. Check [here](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip) for details
externalTrafficPolicy: ""
# -- Service IP family policy. Check [here](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) for details.
ipFamilyPolicy: ""
# -- List of service IP families. Check [here](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) for details.
ipFamilies: []
ingress:
# -- Enable deployment of ingress for vlselect component
enabled: false
# -- Ingress annotations
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: 'true'
# -- Ingress extra labels
extraLabels: {}
# -- Array of host objects
hosts:
- name: vlselect.local
path:
- /select
port: http
# -- Array of TLS objects
tls: []
# - secretName: vlselect-ingress-tls
# hosts:
# - vlselect.local
# -- Ingress controller class name
ingressClassName: ""
# -- Ingress path type
pathType: Prefix
route:
# -- Enable deployment of HTTPRoute for select component
enabled: false
# -- HTTPRoute annotations
annotations: {}
# -- HTTPRoute extra labels
extraLabels: {}
# -- HTTPGateway objects refs
parentRefs: []
# -- Array of hostnames
hostnames: []
# -- Extra rules to prepend to route. This is useful when working with annotation based services.
extraRules: []
# -- Filters for a default rule in HTTPRoute
filters: []
# -- Matches for a default rule in HTTPRoute
matches:
- path:
type: PathPrefix
value: '{{ dig "extraArgs" "http.pathPrefix" "/select" .Values.vlselect }}'
vmServiceScrape:
# -- Enable VMServiceScrape for vlselect component, which is managed by [vm-operator](https://docs.victoriametrics.com/operator/quick-start/).
enabled: false
# -- Create ServiceMonitor instead of VMServiceScrape, which is managed by [prometheus-operator](https://prometheus-operator.dev/docs/api-reference/api/#monitoring.coreos.com/v1.ServiceMonitor)
useServiceMonitor: false
# -- Target namespace of VMServiceScrape manifest
namespace: ""
# -- VMServiceScrape labels
extraLabels: {}
# -- VMServiceScrape annotations
annotations: {}
spec:
endpoints:
- port: http
# -- Basic auth params for VMServiceScrape
# basicAuth: {}
# interval: 15s
# scrapeTimeout: 5s
# -- vmServiceScrape relabelings
# relabelings: []
# -- vmServiceScrape metricRelabelings
# metricRelabelings: []
vlinsert:
# -- Enable deployment of vlinsert component.
enabled: true
# -- Override default `app` label name
name: ""
# -- vlinsert strategy
strategy: {}
# rollingUpdate:
# maxSurge: 25%
# maxUnavailable: 25%
# type: RollingUpdate
image:
# -- Image registry
registry: ""
# -- Image repository
repository: victoriametrics/victoria-logs
# -- Image tag
# override Chart.AppVersion
tag: ""
# -- Image tag suffix, which is appended to `Chart.AppVersion` if no `server.image.tag` is defined
variant: ""
# -- Image pull policy
pullPolicy: IfNotPresent
# -- Specify pod lifecycle
lifecycle: {}
ports:
# -- vlinsert http port name
name: "http"
# -- Name of Priority Class
priorityClassName: ""
# -- Overrides the full name of vlinsert component
fullnameOverride: ""
# -- Extra command line arguments for vlinsert component
extraArgs:
envflag.enable: true
loggerFormat: json
httpListenAddr: :9481
http.shutdownDelay: 15s
# -- Deployment annotations
annotations: {}
# -- Deployment additional labels
extraLabels: {}
# -- Pods additional labels
podLabels: {}
terminationGracePeriodSeconds: 30
# -- Additional environment variables (ex.: secret tokens, flags). Check [here](https://docs.victoriametrics.com/victoriametrics/#environment-variables) for details.
env: []
# -- Specify alternative source for env variables
envFrom: []
#- configMapRef:
# name: special-config
# -- Suppress rendering `--storageNode` FQDNs based on `vlstorage.replicaCount` value. If true suppress rendering `--storageNode`, they can be re-defined in extraArgs
suppressStorageFQDNsRender: false
# -- IDs of vlstorage nodes to exclude from writing
excludeStorageIDs: []
# -- Readiness & Liveness probes
probe:
# -- vlinsert readiness probe
readiness:
httpGet: {}
initialDelaySeconds: 5
periodSeconds: 5
timeoutSeconds: 5
failureThreshold: 3
# -- vlinsert liveness probe
liveness:
tcpSocket: {}
initialDelaySeconds: 5
periodSeconds: 15
timeoutSeconds: 5
failureThreshold: 3
# -- vlinsert startup probe
startup: {}
# -- Vertical Pod Autoscaler.
# Requires VPA CRD (`autoscaling.k8s.io/v1`) to be installed in the cluster.
# Note that VPA should not be used together with HPA on the same resource metrics (CPU/memory).
verticalPodAutoscaler:
# -- Use VPA for vmagent
enabled: false
# -- List of custom recommenders to use
# recommenders:
# - name: 'alternative'
# -- Update policy for VPA
# updatePolicy:
# updateMode: "Auto"
# minReplicas: 1
# -- Resource policy for VPA
# resourcePolicy:
# containerPolicies:
# - containerName: '*'
# minAllowed:
# cpu: 100m
# memory: 128Mi
# maxAllowed:
# cpu: 1
# memory: 500Mi
# controlledResources: ["cpu", "memory"]
# -- Horizontal Pod Autoscaler
horizontalPodAutoscaler:
# -- Use HPA for vlinsert component
enabled: false
# -- Maximum replicas for HPA to use to to scale the vlinsert component
maxReplicas: 10
# -- Minimum replicas for HPA to use to scale the vlinsert component
minReplicas: 2
# -- Metric for HPA to use to scale the vlinsert component
metrics: []
# -- Behavior settings for scaling by the HPA
behavior: {}
# -- Extra Volumes for the pod
extraVolumes:
[]
# - name: example
# configMap:
# name: example
# -- Extra Volume Mounts for the container
extraVolumeMounts:
[]
# - name: example
# mountPath: /example
# -- Extra containers to run in a pod with vlinsert
extraContainers:
[]
# - name: config-reloader
# image: reloader-image
# -- Init containers for vlinsert
initContainers:
[]
# - name: example
# image: example-image
# -- See `kubectl explain poddisruptionbudget.spec` for more. Details are [here](https://kubernetes.io/docs/tasks/run-application/configure-pdb/)
podDisruptionBudget:
enabled: false
# -- min number or percentage of pods that can be unavailable
minAvailable: 0
# -- max number or percentage of pods that can be unavailable
maxUnavailable: 0
# -- Defines criteria when unhealthy pods should be considered for eviction
unhealthyPodEvictionPolicy:
labels: {}
# -- Array of tolerations object. Details are [here](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/)
tolerations: []
# - key: "key"
# operator: "Equal|Exists"
# value: "value"
# effect: "NoSchedule|PreferNoSchedule"
# -- Pod's node selector. Details are [here](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector)
nodeSelector: {}
# -- Pod affinity
affinity: {}
# -- Pod topologySpreadConstraints
topologySpreadConstraints: []
# -- Pod's annotations
podAnnotations: {}
# -- Count of vlinsert pods
replicaCount: 2
# -- Container workdir
containerWorkingDir: ""
# -- Resource object. Details are [here](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/)
resources: {}
# limits:
# cpu: 100m
# memory: 200Mi
# requests:
# cpu: 100m
# memory: 200Mi
# -- Pod's security context. Details are [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/)
podSecurityContext:
enabled: true
fsGroup: 1000
# -- Check [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) for details.
securityContext:
enabled: true
runAsNonRoot: true
runAsUser: 1000
runAsGroup: 1000
service:
# -- Service traffic distribution. Details are [here](https://kubernetes.io/docs/concepts/services-networking/service/#traffic-distribution)
trafficDistribution: ""
# -- Create vlinsert service
enabled: true
# -- Service annotations
annotations: {}
# -- Service labels
labels: {}
# -- Service type
type: ClusterIP
# -- Service ClusterIP
clusterIP: ""
# -- Service nodePort # nodePort: "30481"
nodePort: ""
# -- Service external IPs. Details are [here]( https://kubernetes.io/docs/concepts/services-networking/service/#external-ips)
externalIPs: []
# -- Extra service ports
extraPorts: []
# -- Service load balancer IP
loadBalancerIP: ""
# -- Load balancer source range
loadBalancerSourceRanges: []
# -- Service port
servicePort: 9481
# -- Target port
targetPort: http
# -- Health check node port for a service. Check [here](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip) for details
healthCheckNodePort: ""
# -- Service external traffic policy. Check [here](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip) for details
externalTrafficPolicy: ""
# -- Service IP family policy. Check [here](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) for details.
ipFamilyPolicy: ""
# -- List of service IP families. Check [here](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) for details.
ipFamilies: []
ingress:
# -- Enable ingress for vlinsert component
enabled: false
# -- Ingress annotations
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: 'true'
# -- Ingress extra labels
extraLabels: {}
# -- Array of host objects
hosts:
- name: vlinsert.local
path:
- /insert
port: http
# -- Array of TLS objects
tls: []
# - secretName: vlinsert-ingress-tls
# hosts:
# - vlinsert.local
# -- Ingress controller class name
ingressClassName: ""
# -- Ingress path type
pathType: Prefix
route:
# -- Enable deployment of HTTPRoute for insert component
enabled: false
# -- HTTPRoute annotations
annotations: {}
# -- HTTPRoute extra labels
extraLabels: {}
# -- HTTPGateway objects refs
parentRefs: []
# -- Array of hostnames
hostnames: []
# -- Extra rules to prepend to route. This is useful when working with annotation based services.
extraRules: []
# -- Filters for a default rule in HTTPRoute
filters: []
# -- Matches for a default rule in HTTPRoute
matches:
- path:
type: PathPrefix
value: '{{ dig "extraArgs" "http.pathPrefix" "/insert" .Values.vlinsert }}'
vmServiceScrape:
# -- Enable VMServiceScrape for vlinsert component, which is managed by [vm-operator](https://docs.victoriametrics.com/operator/quick-start/).
enabled: false
# -- Create ServiceMonitor instead of VMServiceScrape, which is managed by [prometheus-operator](https://prometheus-operator.dev/docs/api-reference/api/#monitoring.coreos.com/v1.ServiceMonitor)
useServiceMonitor: false
# -- Target namespace of VMServiceScrape manifest
namespace: ""
# -- VMServiceScrape labels
extraLabels: {}
# -- VMServiceScrape annotations
annotations: {}
spec:
endpoints:
- port: http
# -- Basic auth params for VMServiceScrape
# basicAuth: {}
# interval: 15s
# scrapeTimeout: 5s
# -- vmServiceScrape relabelings
# relabelings: []
# -- vmServiceScrape metricRelabelings
# metricRelabelings: []
vlstorage:
# -- Enable deployment of vlstorage component. StatefulSet is used
enabled: true
# -- Override default `app` label name
name: ""
image:
# -- Image registry
registry: ""
# -- Image repository
repository: victoriametrics/victoria-logs
# -- Image tag
# override Chart.AppVersion
tag: ""
# -- Image tag suffix, which is appended to `Chart.AppVersion` if no `server.image.tag` is defined
variant: ""
# -- Image pull policy
pullPolicy: IfNotPresent
# -- Specify pod lifecycle
lifecycle: {}
ports:
# -- vlstorage http port name
name: "http"
# -- Name of Priority Class
priorityClassName: ""
# -- Overrides the full name of vlstorage component
fullnameOverride:
# -- Additional environment variables (ex.: secret tokens, flags). Check [here](https://docs.victoriametrics.com/victoriametrics/#environment-variables) for details
env: []
# -- Specify alternative source for env variables
envFrom: []
#- configMapRef:
# name: special-config
# -- Data retention period. Possible units character: h(ours), d(ays), w(eeks), y(ears), if no unit character specified - month. The minimum retention period is 24h. See these [docs](https://docs.victoriametrics.com/victorialogs/#retention)
retentionPeriod: 7d
# -- Data retention max capacity. Default unit is GiB. See these [docs](https://docs.victoriametrics.com/victorialogs/#retention-by-disk-space-usage)
retentionDiskSpaceUsage: ""
# -- Data retention max percentile capacity. See these [docs](https://docs.victoriametrics.com/victorialogs/#percentage-based-disk-space-limit)
retentionMaxDiskUsagePercent: ""
# -- Additional vlstorage container arguments. Extra command line arguments for vlstorage component
extraArgs:
envflag.enable: true
loggerFormat: json
httpListenAddr: :9491
http.shutdownDelay: 15s
# -- Extra Volumes for the pod
extraVolumes:
[]
# - name: example
# configMap:
# name: example
# -- Extra Volume Mounts for the container
extraVolumeMounts:
[]
# - name: example
# mountPath: /example
# -- Extra containers to run in a pod with vlstorage
extraContainers:
[]
# - name: config-reloader
# image: reloader-image
# -- Init containers for vlstorage
initContainers:
[]
# -- See `kubectl explain poddisruptionbudget.spec` for more. Details are [here](https://kubernetes.io/docs/tasks/run-application/configure-pdb/)
podDisruptionBudget:
enabled: false
# -- min number or percentage of pods that can be unavailable
minAvailable: 0
# -- max number or percentage of pods that can be unavailable
maxUnavailable: 0
# -- Defines criteria when unhealthy pods should be considered for eviction
unhealthyPodEvictionPolicy:
labels: {}
# -- Array of tolerations object. Node tolerations for server scheduling to nodes with taints. Details are [here](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/)
tolerations:
[]
# - key: "key"
# operator: "Equal|Exists"
# value: "value"
# effect: "NoSchedule|PreferNoSchedule"
# -- Pod's node selector. Details are [here](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector)
nodeSelector: {}
# -- Pod affinity
affinity: {}
# -- Pod topologySpreadConstraints
topologySpreadConstraints: []
# -- Empty dir configuration if persistence is disabled
emptyDir: {}
persistentVolume:
# -- Create/use Persistent Volume Claim for vlstorage component. Empty dir if false. If true, vlstorage will create/use a Persistent Volume Claim
enabled: true
name: vlstorage-volume
# -- Array of access modes. Must match those of existing PV or dynamic provisioner. Details are [here](https://kubernetes.io/docs/concepts/storage/persistent-volumes/)
accessModes:
- ReadWriteOnce
# -- VolumeClassAttribute to user for persistent volume
volumeAttributesClassName:
# -- Persistent volume annotations
annotations: {}
# -- Persistent volume extra labels
extraLabels: {}
# -- Storage class name. Will be empty if not set
storageClassName: ""
# -- Existing Claim name. Requires vlstorage.persistentVolume.enabled: true. If defined, PVC must be created manually before volume will be bound
existingClaim: ""
# -- Data root path. vlstorage data Persistent Volume mount root path
mountPath: /storage
# -- Size of the volume.
size: 10Gi
# -- Mount subpath
subPath: ""
# -- Pod's annotations
podAnnotations: {}
# -- StatefulSet/Deployment annotations
annotations: {}
# -- StatefulSet/Deployment additional labels
extraLabels: {}
# -- Pods additional labels
podLabels: {}
# -- Count of vlstorage pods
replicaCount: 2
# -- Container workdir
containerWorkingDir: ""
# -- Deploy order policy for StatefulSet pods
podManagementPolicy: OrderedReady
# -- Resource object. Details are [here](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/)
resources: {}
# limits:
# cpu: 500m
# memory: 512Mi
# requests:
# cpu: 500m
# memory: 512Mi
# -- Pod's security context. Details are [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/)
podSecurityContext:
enabled: true
fsGroup: 1000
# -- Check [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) for details.
securityContext:
enabled: true
runAsNonRoot: true
runAsUser: 1000
runAsGroup: 1000
service:
# -- Service traffic distribution. Details are [here](https://kubernetes.io/docs/concepts/services-networking/service/#traffic-distribution)
trafficDistribution: ""
enabled: true
# -- Service annotations
annotations: {}
# -- Service ClusterIP
clusterIP: None
# -- Service type
type: ClusterIP
# -- Service nodePort # nodePort: "30491"
nodePort: ""
# -- Service labels
labels: {}
# -- Service port
servicePort: 9491
# -- Target port
targetPort: http
# -- Extra service ports
extraPorts: []
# -- Health check node port for a service. Check [here](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip) for details
healthCheckNodePort: ""
# -- Service external traffic policy. Check [here](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip) for details
externalTrafficPolicy: ""
# -- Service IP family policy. Check [here](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) for details.
ipFamilyPolicy: ""
# -- List of service IP families. Check [here](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) for details.
ipFamilies: []
# -- Pod's termination grace period in seconds
terminationGracePeriodSeconds: 60
minReadySeconds: 5
# -- Readiness probes
probe:
# -- vlstorage readiness probe
readiness:
httpGet: {}
initialDelaySeconds: 5
periodSeconds: 5
timeoutSeconds: 5
failureThreshold: 3
# -- vlstorage startup probe
startup: {}
# -- Vertical Pod Autoscaler.
# Requires VPA CRD (`autoscaling.k8s.io/v1`) to be installed in the cluster.
# Note that VPA should not be used together with HPA on the same resource metrics (CPU/memory).
verticalPodAutoscaler:
# -- Use VPA for vmagent
enabled: false
# -- List of custom recommenders to use
# recommenders:
# - name: 'alternative'
# -- Update policy for VPA
# updatePolicy:
# updateMode: "Auto"
# minReplicas: 1
# -- Resource policy for VPA
# resourcePolicy:
# containerPolicies:
# - containerName: '*'
# minAllowed:
# cpu: 100m
# memory: 128Mi
# maxAllowed:
# cpu: 1
# memory: 500Mi
# controlledResources: ["cpu", "memory"]
horizontalPodAutoscaler:
# -- Use HPA for vlstorage component
enabled: false
# -- Maximum replicas for HPA to use to to scale the vlstorage component
maxReplicas: 10
# -- Minimum replicas for HPA to use to scale the vlstorage component
minReplicas: 2
# -- Metric for HPA to use to scale the vlstorage component
metrics: []
# -- Behavior settings for scaling by the HPA
behavior:
scaleDown:
selectPolicy: Disabled
vmServiceScrape:
# -- Enable VMServiceScrape for vlstorage component, which is managed by [vm-operator](https://docs.victoriametrics.com/operator/quick-start/).
enabled: false
# -- Create ServiceMonitor instead of VMServiceScrape, which is managed by [prometheus-operator](https://prometheus-operator.dev/docs/api-reference/api/#monitoring.coreos.com/v1.ServiceMonitor)
useServiceMonitor: false
# -- Target namespace of VMServiceScrape manifest
namespace: ""
# -- VMServiceScrape labels
extraLabels: {}
# -- VMServiceScrape annotations
annotations: {}
spec:
endpoints:
- port: http
# -- Basic auth params for VMServiceScrape
# basicAuth: {}
# interval: 15s
# scrapeTimeout: 5s
# -- vmServiceScrape relabelings
# relabelings: []
# -- vmServiceScrape metricRelabelings
# metricRelabelings: []
vmauth:
# -- Enable deployment of vmauth component, to help better balance the read and write requests to vlinsert and vlselect components.
# With vmauth enabled, please also set `service.clusterIP: None` and `service.type: ClusterIP` for `vlinsert` and `vlselect`.
enabled: false
# -- Override default `app` label name
name: ""
# -- VMAuth configuration secret name
configSecretName: ""
# -- VMAuth configuration object.
config: {}
# -- VMAuth Deployment strategy
strategy: {}
# rollingUpdate:
# maxSurge: 25%
# maxUnavailable: 25%
# type: RollingUpdate
image:
# -- Image registry
registry: ""
# -- Image repository
repository: victoriametrics/vmauth
# -- Image tag
# override the default Chart.AppVersion, which is for vlogs components
tag: "v1.143.0"
# -- Image pull policy
pullPolicy: IfNotPresent
# -- Specify pod lifecycle
lifecycle: {}
ports:
# -- VMAuth http port name
name: "http"
# -- Name of Priority Class
priorityClassName: ""
# -- Overrides the full name of vmauth component
fullnameOverride: ""
# -- Extra command line arguments for vmauth component
extraArgs:
envflag.enable: true
loggerFormat: json
httpListenAddr: :8427
http.shutdownDelay: 15s
# -- VMAuth annotations
annotations: {}
# -- VMAuth additional labels
extraLabels: {}
# -- VMAuth pod labels
podLabels: {}
# -- Additional environment variables (ex.: secret tokens, flags). Check [here](https://docs.victoriametrics.com/victoriametrics/#environment-variables) for details
env: []
# -- Specify alternative source for env variables
envFrom: []
#- configMapRef:
# name: special-config
# Readiness & Liveness probes
probe:
# -- VMAuth readiness probe
readiness:
httpGet: {}
initialDelaySeconds: 5
periodSeconds: 5
timeoutSeconds: 5
failureThreshold: 3
# -- VMAuth liveness probe
liveness:
tcpSocket: {}
initialDelaySeconds: 5
periodSeconds: 15
timeoutSeconds: 5
failureThreshold: 3
# -- VMAuth startup probe
startup: {}
# -- Vertical Pod Autoscaler.
# Requires VPA CRD (`autoscaling.k8s.io/v1`) to be installed in the cluster.
# Note that VPA should not be used together with HPA on the same resource metrics (CPU/memory).
verticalPodAutoscaler:
# -- Use VPA for vmagent
enabled: false
# -- List of custom recommenders to use
# recommenders:
# - name: 'alternative'
# -- Update policy for VPA
# updatePolicy:
# updateMode: "Auto"
# minReplicas: 1
# -- Resource policy for VPA
# resourcePolicy:
# containerPolicies:
# - containerName: '*'
# minAllowed:
# cpu: 100m
# memory: 128Mi
# maxAllowed:
# cpu: 1
# memory: 500Mi
# controlledResources: ["cpu", "memory"]
# -- Horizontal Pod Autoscaler
horizontalPodAutoscaler:
# -- Use HPA for vmauth component
enabled: false
# -- Maximum replicas for HPA to use to to scale the vmauth component
maxReplicas: 10
# -- Minimum replicas for HPA to use to scale the vmauth component
minReplicas: 2
# -- Metric for HPA to use to scale the vmauth component
metrics: []
# -- Behavior settings for scaling by the HPA
behavior: {}
# -- Extra Volumes for the pod
extraVolumes:
[]
# - name: example
# configMap:
# name: example
# -- Extra Volume Mounts for the container
extraVolumeMounts:
[]
# - name: example
# mountPath: /example
# -- Extra containers to run in a pod with vmauth
extraContainers:
[]
# - name: config-reloader
# image: reloader-image
# -- Init containers for vmauth
initContainers:
[]
# - name: example
# image: example-image
# -- See `kubectl explain poddisruptionbudget.spec` for more. Details are [here](https://kubernetes.io/docs/tasks/run-application/configure-pdb/)
podDisruptionBudget:
enabled: false
# -- min number or percentage of pods that can be unavailable
minAvailable: 0
# -- max number or percentage of pods that can be unavailable
maxUnavailable: 0
# -- Defines criteria when unhealthy pods should be considered for eviction
unhealthyPodEvictionPolicy:
labels: {}
# -- Array of tolerations object. Details are [here](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/)
tolerations: []
# - key: "key"
# operator: "Equal|Exists"
# value: "value"
# effect: "NoSchedule|PreferNoSchedule"
# -- Pod's node selector. Details are [here](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector)
nodeSelector: {}
# -- Pod affinity
affinity: {}
# -- Pod topologySpreadConstraints
topologySpreadConstraints: []
# -- Pod's annotations
podAnnotations: {}
# -- Count of vmauth pods
replicaCount: 2
# -- Container workdir
containerWorkingDir: ""
# -- Resource object
resources: {}
# limits:
# cpu: 50m
# memory: 100Mi
# requests:
# cpu: 50m
# memory: 100Mi
# -- Pod's security context. Details are [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/)
podSecurityContext:
enabled: true
fsGroup: 1000
# -- Check [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) for details.
securityContext:
enabled: true
runAsNonRoot: true
runAsUser: 1000
runAsGroup: 1000
service:
# -- Service traffic distribution. Details are [here](https://kubernetes.io/docs/concepts/services-networking/service/#traffic-distribution)
trafficDistribution: ""
# -- Create VMAuth service
enabled: true
# -- Service annotations
annotations: {}
# -- Service labels
labels: {}
# -- Service ClusterIP
clusterIP: ""
# -- Service nodePort # nodePort: 30427
nodePort: ""
# -- Service External IPs. Details are [here]( https://kubernetes.io/docs/concepts/services-networking/service/#external-ips)
externalIPs: []
# -- Extra service ports
extraPorts: []
# -- Service load balancer IP
loadBalancerIP: ""
# -- Load balancer source range
loadBalancerSourceRanges: []
# -- Service port
servicePort: 8427
# -- Target port
targetPort: http
# -- Service type
type: ClusterIP
# -- Health check node port for a service. Check [here](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip) for details
healthCheckNodePort: ""
# -- Service external traffic policy. Check [here](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip) for details
externalTrafficPolicy: ""
# -- Service IP family policy. Check [here](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) for details.
ipFamilyPolicy: ""
# -- List of service IP families. Check [here](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) for details.
ipFamilies: []
ingress:
# -- Enable deployment of ingress for vmauth component
enabled: false
# -- Ingress annotations
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: 'true'
extraLabels: {}
# -- Array of host objects
hosts:
- name: vmauth.local
path:
- /insert
port: http
# -- Array of TLS objects
tls: []
# - secretName: vmauth-ingress-tls
# hosts:
# - vmauth.local
# For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
# See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
# ingressClassName: nginx
# -- pathType is only for k8s >= 1.1=
pathType: Prefix
route:
# -- Enable deployment of HTTPRoute for vmauth component
enabled: false
# -- HTTPRoute annotations
annotations: {}
# -- HTTPRoute extra labels
extraLabels: {}
# -- HTTPGateway objects refs
parentRefs: []
# -- Array of hostnames
hostnames: []
# -- Extra rules to prepend to route. This is useful when working with annotation based services.
extraRules: []
# -- Filters for a default rule in HTTPRoute
filters: []
# -- Matches for a default rule in HTTPRoute
matches:
- path:
type: PathPrefix
value: '{{ dig "extraArgs" "http.pathPrefix" "/" .Values.vmauth }}'
vmServiceScrape:
# -- Enable VMServiceScrape for vmauth component, which is managed by [vm-operator](https://docs.victoriametrics.com/operator/quick-start/).
enabled: false
# -- Create ServiceMonitor instead of VMServiceScrape, which is managed by [prometheus-operator](https://prometheus-operator.dev/docs/api-reference/api/#monitoring.coreos.com/v1.ServiceMonitor)
useServiceMonitor: false
# -- Target namespace of VMServiceScrape manifest
namespace: ""
# -- VMServiceScrape labels
extraLabels: {}
# -- VMServiceScrape annotations
annotations: {}
spec:
endpoints:
- port: http
# -- Basic auth params for VMServiceScrape
# basicAuth: {}
# interval: 15s
# scrapeTimeout: 5s
# -- vmServiceScrape relabelings
# relabelings: []
# -- vmServiceScrape metricRelabelings
# metricRelabelings: []
# @ignored
vector:
# -- Enable deployment of vector
enabled: false
role: Agent
dataDir: /vector-data-dir
resources: {}
args:
- -w
- --config-dir
- /etc/vector/
containerPorts:
- name: prom-exporter
containerPort: 9090
protocol: TCP
service:
enabled: false
existingConfigMaps:
- vector-vl-config
# -- Forces custom configuration creation in a given namespace even if vector.enabled is false
customConfigNamespace: ""
customConfigName: vector-vl-config
customConfig:
data_dir: /vector-data-dir
api:
enabled: false
address: 0.0.0.0:8686
sources:
k8s:
type: kubernetes_logs
internal_metrics:
type: internal_metrics
transforms:
parser:
type: remap
inputs: [k8s]
source: |
.log = parse_json(.message) ?? .message
del(.message)
sinks:
exporter:
type: prometheus_exporter
address: 0.0.0.0:9090
inputs: [internal_metrics]
vlogs:
type: elasticsearch
inputs: [parser]
endpoints: << include "vlogs.es.urls" . >>
mode: bulk
api_version: v8
compression: gzip
healthcheck:
enabled: false
request:
headers:
VL-Time-Field: timestamp
VL-Stream-Fields: stream,kubernetes.pod_name,kubernetes.container_name,kubernetes.pod_namespace
VL-Msg-Field: message,msg,_msg,log.msg,log.message,log
AccountID: "0"
ProjectID: "0"
# -- Enterprise license key configuration for VictoriaLogs enterprise.
# Required only for VictoriaLogs enterprise. Check docs [here](https://docs.victoriametrics.com/victoriametrics/enterprise/#victorialogs-enterprise-features),
# Request a trial license [here](https://victoriametrics.com/products/enterprise/trial/)
license:
# -- License key
key: ""
# -- Use existing secret with license key
secret:
# -- Existing secret name
name: ""
# -- Key in secret with license key
key: ""