opentelemetry-operator
by
open-telemetry

Description: Kubernetes Operator for OpenTelemetry Collector

View on GitHub ↗

Summary Information

Updated 2 hours ago
Added to GitGenius on April 2nd, 2023
Created on December 18th, 2019
Open Issues & Pull Requests: 335 (+1)
Number of forks: 634
Total Stargazers: 1,731 (+0)
Total Subscribers: 28 (+0)

Issue Activity (beta)

Open issues: 246
New in 7 days: 1
Closed in 7 days: 0
Avg open age: 493 days
Stale 30+ days: 231
Stale 90+ days: 193

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 1
Events in 7 days: 1

Top labels

  • bug (302)
  • enhancement (265)
  • needs triage (231)
  • area:collector (141)
  • area:target-allocator (121)
  • area:auto-instrumentation (117)
  • help wanted (57)
  • question (55)

Most active issues this week

Repository Insights (GitGenius)

Median issue/PR response: 0.0 hours
Mean response time: 79.0 days
90th percentile: 366.7 days
Tracked items: 844

Most active contributors

Detailed Description

The OpenTelemetry Operator is a Kubernetes Operator implementation written in Go that manages OpenTelemetry Collector deployments and auto-instrumentation of workloads within Kubernetes clusters. It extends Kubernetes functionality to provide native support for observability infrastructure, enabling organizations to collect, process, and export telemetry data from their containerized applications.

The operator's primary responsibilities include managing OpenTelemetry Collector instances and handling automatic instrumentation of workloads using OpenTelemetry instrumentation libraries. The operator examines configuration files to discover configured receivers and their ports, automatically creating Kubernetes services to expose those ports within the cluster. It also manages observability features by creating Service and ServiceMonitor or PodMonitor resources when metrics collection is enabled through the spec.observability.metrics.enableMetrics setting.

The operator supports multiple deployment modes for the OpenTelemetry Collector, allowing users to run collectors as DaemonSets, Sidecars, StatefulSets, or Deployments depending on their infrastructure requirements. For sidecar injection, users can annotate pods or namespaces with sidecar.opentelemetry.io/inject to automatically inject collector sidecars, with the annotation supporting concrete instance names, namespace-scoped defaults, and cross-namespace references. When using sidecar mode, the operator automatically sets the OTEL_RESOURCE_ATTRIBUTES environment variable with Kubernetes resource attributes for consumption by resource detection processors.

Auto-instrumentation support extends across multiple programming languages and platforms, including Apache HTTPD, DotNet, Go, Java, Nginx, NodeJS, and Python. Users configure an Instrumentation custom resource with SDK and instrumentation settings, which the operator then injects into workloads. The operator automatically manages propagators and sampler configuration through environment variables, following OpenTelemetry specifications for OTEL_PROPAGATORS, OTEL_TRACES_SAMPLER, and OTEL_TRACES_SAMPLER_ARG.

The operator includes upgrade management capabilities, allowing users to control whether OpenTelemetryCollector resources should be automatically upgraded or remain static. This is particularly useful when resources use custom images where users prefer manual configuration management. The default upgrade strategy is automatic, with an alternative none strategy available on a per-resource basis.

Installation is facilitated through Helm Charts available in the opentelemetry-helm-charts repository, with cert-manager as a prerequisite dependency. The operator requires specific firewall configuration for private GKE clusters, necessitating access to port 9443/tcp on worker nodes for master node communication.

According to GitGenius activity tracking, the repository shows significant development momentum with 844 tracked issues and pull requests. The median response latency for issues and PRs is 0.0 hours, while the mean is 1895.0 hours, indicating rapid initial response times with some longer-running discussions. The most active labels are bug with 278 items, enhancement with 248 items, and needs triage with 205 items. Key contributors include swiatekm with 1140 events, jaronoff97 with 718 events, and pavolloffay with 507 events. The repository shares contributors with github/gh-aw, solo-io/gloo, and longhorn/longhorn, indicating cross-project collaboration within the cloud-native ecosystem.

opentelemetry-operator
by
open-telemetryopen-telemetry/opentelemetry-operator

Repository Details

Fetching additional details & charts...