Files
apps/openebs/src/values.yaml
Philip Haupt a2edeb876e openebs update
2025-11-29 00:09:40 +01:00

354 lines
9.4 KiB
YAML

openebs-crds:
csi:
volumeSnapshots:
enabled: true
keep: true
# Refer to https://github.com/openebs/dynamic-localpv-provisioner/blob/v4.2.0/deploy/helm/charts/values.yaml for complete set of values.
localpv-provisioner:
rbac:
create: true
localpv:
basePath: "/var/mnt/local-volume"
# Refer to https://github.com/openebs/zfs-localpv/blob/v2.7.1/deploy/helm/charts/values.yaml for complete set of values.
zfs-localpv:
crds:
zfsLocalPv:
enabled: true
csi:
volumeSnapshots:
enabled: false
# Refer to https://github.com/openebs/lvm-localpv/blob/lvm-localpv-1.6.2/deploy/helm/charts/values.yaml for complete set of values.
lvm-localpv:
crds:
lvmLocalPv:
enabled: true
csi:
volumeSnapshots:
enabled: false
# Refer to https://github.com/openebs/mayastor-extensions/blob/v2.8.0/chart/values.yaml for complete set of values.
mayastor:
csi:
node:
initContainers:
enabled: true
etcd:
# -- Kubernetes Cluster Domain
clusterDomain: cluster.local
localpv-provisioner:
enabled: false
crds:
enabled: false
loki:
enabled: false
alloy:
enabled: false
# -- Configuration options for pre-upgrade helm hook job.
preUpgradeHook:
# -- Node tolerations for server scheduling to nodes with taints
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
##
tolerations:
- key: "node-role.kubernetes.io/control-plane"
operator: "Exists"
effect: "NoSchedule"
# -- Optional array of imagePullSecrets containing private registry credentials
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
imagePullSecrets: []
# - name: secretName
# -- Labels to be added to the pod hook job
podLabels: {}
image:
# -- The container image registry URL for the hook job
registry: docker.io
# -- The container repository for the hook job
repo: openebs/kubectl
# -- The container image tag for the hook job
tag: "1.25.15"
# -- The imagePullPolicy for the container
pullPolicy: IfNotPresent
engines:
local:
lvm:
enabled: false
zfs:
enabled: false
replicated:
mayastor:
enabled: true
loki:
enabled: false
# NOTE: For all possible storage options for loki, check https://github.com/openebs/openebs/blob/HEAD/charts/loki-storage.md
# Configuration for loki's localpv hostpath storage class.
localpvScConfig:
enabled: true
loki:
# Name of loki's localpv hostpath storage class.
name: "openebs-loki-localpv"
# -- Host path where local loki data is stored in.
basePath: "/var/local/{{ .Release.Name }}/localpv-hostpath/loki"
# -- ReclaimPolicy of loki's localpv hostpath storage class.
reclaimPolicy: Delete
# -- VolumeBindingMode of loki's localpv hostpath storage class.
volumeBindingMode: WaitForFirstConsumer
minio:
# Name of minio's localpv hostpath storage class.
name: "openebs-minio-localpv"
# -- Host path where local minio data is stored in.
basePath: "/var/local/{{ .Release.Name }}/localpv-hostpath/minio"
# -- ReclaimPolicy of minio's localpv hostpath storage class.
reclaimPolicy: Delete
# -- VolumeBindingMode of minio's localpv hostpath storage class.
volumeBindingMode: WaitForFirstConsumer
loki:
serviceLabels:
app: loki
podLabels:
app: loki
schemaConfig:
configs:
- from: 2024-04-01
store: tsdb
object_store: s3
schema: v13
index:
prefix: loki_index_
period: 24h
commonConfig:
replication_factor: 3
ingester:
chunk_encoding: snappy
# Configure these if a quicker ingestion is needed, i.e. faster push to your bucket.
# chunk_idle_period: 3m
# chunk_retain_period: 1m
# max_chunk_age: 6m
tracing:
enabled: true
querier:
max_concurrent: 1
limits_config:
ingestion_burst_size_mb: 1000
ingestion_rate_mb: 10000
max_label_names_per_series: 20
singleBinary:
replicas: 3
drivesPerNode: 1
persistence:
# -- Enabled persistence for loki
enabled: true
# -- Storage class for loki storage
storageClass: "openebs-loki-localpv"
accessModes:
- ReadWriteOnce
# -- Size of loki local storage volume
size: 2Gi
minio:
replicas: 3
drivesPerNode: 1
mode: distributed
# Disable this if you want to enabled external s3 bucket, and uncomment the storage section above.
enabled: true
persistence:
# -- Enabled persistence for minio
enabled: true
# -- Storage class for minio storage
storageClass: "openebs-minio-localpv"
# -- Size of minio local storage volume
size: 2Gi
deploymentMode: SingleBinary
lokiCanary:
enabled: false
chunksCache:
enabled: false
test:
enabled: false
gateway:
enabled: false
resultsCache:
enabled: false
backend:
replicas: 0
read:
replicas: 0
write:
replicas: 0
ingester:
replicas: 0
querier:
replicas: 0
queryFrontend:
replicas: 0
queryScheduler:
replicas: 0
distributor:
replicas: 0
compactor:
replicas: 0
indexGateway:
replicas: 0
bloomCompactor:
replicas: 0
bloomGateway:
replicas: 0
alloy:
enabled: false
logging_config:
# Enable debugging on alloy components.
debugging: false
# -- Labels to enable scraping on, at-least one of these labels should be present.
labels:
openebs.io/logging: true
# -- X-Scope-OrgID to pe populated which pushing logs. Make sure the caller also uses the same.
tenant_id: openebs
alloy:
mounts:
varlog: true
configMap:
create: true
content: |
{{- $releaseName := .Release.Name | replace "-" "_" -}}
livedebugging {
enabled = {{ .Values.logging_config.debugging }}
}
discovery.kubernetes "{{ $releaseName }}_pods_name" {
role = "pod"
}
discovery.relabel "{{ $releaseName }}_pods_name" {
targets = discovery.kubernetes.{{ $releaseName }}_pods_name.targets
{{- $labels := .Values.logging_config.labels }}
{{- if $labels }}
{{- $keys := (keys $labels | sortAlpha) }}
rule {
source_labels = [
{{- range $key := $keys }}
"__meta_kubernetes_pod_label_{{ $key | replace "." "_" | replace "/" "_" }}",
{{- end }}
]
separator = ";"
regex = "^{{ include "regex_or" (dict "labels" $labels "keys" $keys) }}$"
action = "keep"
}
{{- end }}
rule {
regex = "__meta_kubernetes_pod_label_(.+)"
action = "labelmap"
}
rule {
regex = "__meta_kubernetes_pod_label_(.+)"
action = "labelmap"
}
rule {
source_labels = ["__meta_kubernetes_namespace"]
separator = "/"
target_label = "job"
}
rule {
source_labels = ["__meta_kubernetes_pod_name"]
target_label = "pod"
}
rule {
source_labels = ["__meta_kubernetes_pod_container_name"]
target_label = "container"
}
rule {
source_labels = ["__meta_kubernetes_pod_node_name"]
target_label = "hostname"
}
rule {
source_labels = ["__meta_kubernetes_pod_uid", "__meta_kubernetes_pod_container_name"]
separator = "/"
target_label = "__path__"
replacement = "/var/log/pods/*$1/*.log"
}
}
local.file_match "{{ $releaseName }}_pod_files" {
path_targets = discovery.relabel.{{ $releaseName }}_pods_name.output
}
loki.source.file "{{ $releaseName }}_pod_logs" {
targets = local.file_match.{{ $releaseName }}_pod_files.targets
forward_to = [loki.process.{{ $releaseName }}_process_logs.receiver]
}
loki.process "{{ $releaseName }}_process_logs" {
forward_to = [loki.write.default.receiver]
stage.docker { }
stage.replace {
expression = "(\\n)"
replace = ""
}
stage.multiline {
firstline = "^ \\x1b\\[2m(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2}).(\\d{6})Z"
}
stage.multiline {
firstline = "^ (\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2}).(\\d{6})Z"
}
}
loki.write "default" {
endpoint {
url = "http://{{ .Release.Name }}-loki:3100/loki/api/v1/push"
tenant_id = "{{ .Values.logging_config.tenant_id }}"
}
external_labels = {}
}
{{- define "regex_or" -}}
{{- $labels := .labels -}}
{{- $keys := .keys -}}
{{- $numKeys := len $keys -}}
{{- $regexParts := list -}}
{{- range $i, $key := $keys -}}
{{- $part := list -}}
{{- range $j := until $numKeys -}}
{{- if eq $j $i -}}
{{- $part = append $part (get $labels $key) -}}
{{- else -}}
{{- $part = append $part ".*" -}}
{{- end -}}
{{- end -}}
{{- $regexParts = append $regexParts (join ";" $part) -}}
{{- end -}}
{{- join "|" $regexParts -}}
{{- end -}}