Files
devops-infra-helm-charts-gcp/helm-templates/opentelemetry-operator/values.yaml
T
2026-08-26 03:39:42 +05:30

340 lines
11 KiB
YAML

# Default values for opentelemetry-operator.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
## Provide a name in place of opentelemetry-operator (includes the chart's release name).
##
nameOverride: ""
## Fully override the name (excludes the chart's release name).
##
fullnameOverride: ""
## Reference one or more secrets to be used when pulling images from authenticated repositories.
imagePullSecrets: []
## Kubernetes cluster domain suffix
clusterDomain: cluster.local
# Common labels to add to all otel-operator resources. Evaluated as a template.
additionalLabels: {}
## Pod Disruption Budget configuration
##
pdb:
## Enable/disable a Pod Disruption Budget creation
##
create: false
## Minimum number/percentage of pods that should remain scheduled
##
minAvailable: 1
## Maximum number/percentage of pods that may be made unavailable
##
maxUnavailable: ""
## Provide OpenTelemetry Operator manager container image and resources.
##
manager:
image:
repository: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator
tag: ""
collectorImage:
repository: ""
tag: 0.113.0
opampBridgeImage:
repository: ""
tag: ""
targetAllocatorImage:
repository: ""
tag: ""
autoInstrumentationImage:
java:
repository: ""
tag: ""
nodejs:
repository: ""
tag: ""
python:
repository: ""
tag: ""
dotnet:
repository: ""
tag: ""
apacheHttpd:
repository: ""
tag: ""
# The Go instrumentation support in the operator is disabled by default.
# To enable it, use the operator.autoinstrumentation.go feature gate.
go:
repository: ""
tag: ""
# Feature Gates are a comma-delimited list of feature gate identifiers.
# Prefix a gate with '-' to disable support.
# Prefixing a gate with '+' or no prefix will enable support.
# A full list of valid identifiers can be found here: https://github.com/open-telemetry/opentelemetry-operator/blob/main/pkg/featuregate/featuregate.go
# NOTE: the featureGates value is deprecated and will be replaced by featureGatesMap in the future.
featureGates: ""
# The featureGatesMap will enable or disable specific feature gates in the operator as well as deploy any prerequisites for the feature gate.
# If this property is not an empty map, the featureGates property will be ignored.
featureGatesMap: {}
# targetAllocatorMtls: false
# targetAllocatorCR: false
# nativeSideCarContainers: false
# prometheusOperator: false
# golangFlags: false
# collectorDefaultConfig: false
ports:
metricsPort: 8080
webhookPort: 9443
healthzPort: 8081
resources:
limits:
cpu: 100m
memory: 128Mi
# ephemeral-storage: 50Mi
requests:
cpu: 100m
memory: 64Mi
# ephemeral-storage: 50Mi
## Adds additional environment variables
## e.g ENV_VAR: env_value
env:
ENABLE_WEBHOOKS: "true"
# -- Create the manager ServiceAccount
serviceAccount:
create: true
annotations: {}
## Override the default name of the serviceaccount (the name of your installation)
name: ""
## Enable ServiceMonitor for Prometheus metrics scrape
serviceMonitor:
enabled: false
# additional labels on the ServiceMonitor
extraLabels: {}
# add annotations on the ServiceMonitor
annotations: {}
metricsEndpoints:
- port: metrics
# Used to set relabeling and metricRelabeling configs on the ServiceMonitor
# https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
relabelings: []
metricRelabelings: []
# Adds additional annotations to the manager Deployment
deploymentAnnotations: {}
# Adds additional annotations to the manager Service
serviceAnnotations: {}
podAnnotations: {}
podLabels: {}
prometheusRule:
enabled: false
groups: []
# Create default rules for monitoring the manager
defaultRules:
enabled: false
## Additional labels for PrometheusRule alerts
additionalRuleLabels: {}
## Additional annotations for PrometheusRule alerts
additionalRuleAnnotations: {}
# additional labels on the PrometheusRule object
extraLabels: {}
# add annotations on the PrometheusRule object
annotations: {}
# change the default runbook urls.
# the alert name will get appended at the end of the url as an anchor.
runbookUrl: ""
# Whether the operator should create RBAC permissions for collectors. See README.md for more information.
createRbacPermissions: false
## List of additional cli arguments to configure the manager
## for example: --labels, etc.
extraArgs: []
## Enable leader election mechanism for protecting against split brain if multiple operator pods/replicas are started.
## See more at https://docs.openshift.com/container-platform/4.10/operators/operator_sdk/osdk-leader-election.html
leaderElection:
enabled: true
# Enable vertical pod autoscaler support for the manager
verticalPodAutoscaler:
enabled: false
# List of resources that the vertical pod autoscaler can control. Defaults to cpu, memory and ephemeral-storage.
controlledResources: []
# Define the max allowed resources for the pod
maxAllowed: {}
# cpu: 200m
# memory: 100Mi
# ephemeral-storage: 50Mi
# Define the min allowed resources for the pod
minAllowed: {}
# cpu: 200m
# memory: 100Mi
# ephemeral-storage: 50Mi
updatePolicy:
# Specifies whether recommended updates are applied when a Pod is started and whether recommended updates
# are applied during the life of a Pod. Possible values are "Off", "Initial", "Recreate", and "Auto".
updateMode: Auto
# Minimal number of replicas which need to be alive for Updater to attempt pod eviction.
# Only positive values are allowed. The default is 2.
minReplicas: 2
# Enable manager pod automatically rolling
rolling: false
## Container specific securityContext
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
securityContext: {}
# allowPrivilegeEscalation: false
# capabilities:
# drop:
# - ALL
## Provide OpenTelemetry Operator kube-rbac-proxy container image.
##
kubeRBACProxy:
enabled: true
image:
repository: quay.io/brancz/kube-rbac-proxy
tag: v0.18.1
ports:
proxyPort: 8443
resources:
limits:
cpu: 500m
memory: 128Mi
requests:
cpu: 5m
memory: 64Mi
## List of additional cli arguments to configure the kube-rbac-proxy
## for example: --tls-cipher-suites, --tls-min-version, etc.
extraArgs: []
## Container specific securityContext
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
securityContext: {}
# allowPrivilegeEscalation: false
# capabilities:
# drop:
# - ALL
## Admission webhooks make sure only requests with correctly formatted rules will get into the Operator.
## They also enable the sidecar injection for OpenTelemetryCollector and Instrumentation CR's
admissionWebhooks:
create: true
servicePort: 443
failurePolicy: Fail
secretName: ""
## Defines the sidecar injection logic in Pods.
## - Ignore, the injection is fail-open. The pod will be created, but the sidecar won't be injected.
## - Fail, the injection is fail-close. If the webhook pod is not ready, pods cannot be created.
pods:
failurePolicy: Ignore
## Adds a prefix to the mutating webhook name.
## This can be used to order this mutating webhook with all your cluster's mutating webhooks.
namePrefix: ""
## Customize webhook timeout duration
timeoutSeconds: 10
## Provide selectors for your objects
namespaceSelector: {}
objectSelector: {}
## https://github.com/open-telemetry/opentelemetry-helm-charts/blob/main/charts/opentelemetry-operator/README.md#tls-certificate-requirement
## TLS Certificate Option 1: Use certManager to generate self-signed certificate.
## certManager must be enabled. If enabled, always takes precedence over options 2 and 3.
certManager:
enabled: true
## Provide the issuer kind and name to do the cert auth job.
## By default, OpenTelemetry Operator will use self-signer issuer.
issuerRef: {}
# kind:
# name:
## Annotations for the cert and issuer if cert-manager is enabled.
certificateAnnotations: {}
issuerAnnotations: {}
# duration must be specified by a Go time.Duration (ending in s, m or h)
duration: ""
# renewBefore must be specified by a Go time.Duration (ending in s, m or h)
# Take care when setting the renewBefore field to be very close to the duration
# as this can lead to a renewal loop, where the Certificate is always in the renewal period.
renewBefore: ""
## TLS Certificate Option 2: Use Helm to automatically generate self-signed certificate.
## certManager must be disabled and autoGenerateCert must be enabled.
## If true and certManager.enabled is false, Helm will automatically create a self-signed cert and secret for you.
autoGenerateCert:
enabled: true
# If set to true, new webhook key/certificate is generated on helm upgrade.
recreate: true
# Cert period time in days. The default is 365 days.
certPeriodDays: 365
## TLS Certificate Option 3: Use your own self-signed certificate.
## certManager and autoGenerateCert must be disabled and certFile, keyFile, and caFile must be set.
## The chart reads the contents of the file paths with the helm .Files.Get function.
## Refer to this doc https://helm.sh/docs/chart_template_guide/accessing_files/ to understand
## limitations of file paths accessible to the chart.
## Path to your own PEM-encoded certificate.
certFile: ""
## Path to your own PEM-encoded private key.
keyFile: ""
## Path to the CA cert.
caFile: ""
# Adds additional annotations to the admissionWebhook Service
serviceAnnotations: {}
## Secret annotations
secretAnnotations: {}
## Secret labels
secretLabels: {}
## Install CRDS with the right webhook settings
## These are installed as templates, so they will clash with existing OpenTelemetry Operator CRDs in your cluster that are not already managed by the helm chart.
## See https://github.com/open-telemetry/opentelemetry-helm-charts/blob/main/charts/opentelemetry-operator/UPGRADING.md#0560-to-0570 for more details.
crds:
create: true
## Create the provided Roles and RoleBindings
##
role:
create: true
## Create the provided ClusterRoles and ClusterRoleBindings
##
clusterRole:
create: true
affinity: {}
tolerations: []
nodeSelector: {}
topologySpreadConstraints: []
hostNetwork: false
# Allows for pod scheduler prioritisation
priorityClassName: ""
## SecurityContext holds pod-level security attributes and common container settings.
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
securityContext:
runAsGroup: 65532
runAsNonRoot: true
runAsUser: 65532
fsGroup: 65532
testFramework:
image:
repository: busybox
tag: latest