# 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