prometheus-operator
by
prometheus-operator

Description: Prometheus Operator creates/configures/manages Prometheus clusters atop Kubernetes

View prometheus-operator/prometheus-operator on GitHub ↗

Summary Information

Updated 14 minutes ago
Added to GitGenius on March 17th, 2026
Created on September 22nd, 2016
Open Issues & Pull Requests: 293 (+0)
Number of forks: 3,850
Total Stargazers: 9,913 (+0)
Total Subscribers: 140 (+0)

Issue Activity (beta)

Open issues: 156
New in 7 days: 0
Closed in 7 days: 1
Avg open age: 689 days
Stale 30+ days: 142
Stale 90+ days: 82

Recent activity

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

Top labels

  • kind/feature (270)
  • help wanted (177)
  • kind/support (117)
  • kind/bug (109)
  • stale (88)
  • kind/enhancement (65)
  • kind/documentation (52)
  • good first issue (50)

Detailed Description

The Prometheus Operator is a Kubernetes-native tool designed to simplify and automate the deployment and management of Prometheus and its related monitoring components within a Kubernetes cluster. Its primary purpose is to streamline the configuration of a comprehensive Prometheus-based monitoring stack, making it easier for users to monitor their Kubernetes environments.

At its core, the Prometheus Operator leverages Kubernetes' Custom Resource Definitions (CRDs) to define and manage Prometheus, Alertmanager, and other monitoring components. This approach allows users to interact with these components using familiar Kubernetes concepts and tools, such as `kubectl`. The operator monitors the Kubernetes API server for changes to these custom resources and automatically configures and updates the corresponding Prometheus deployments to match the desired state.

Key features of the Prometheus Operator include the use of Kubernetes custom resources for deployment and management. Users can define Prometheus instances, Alertmanagers, and related components using declarative YAML files, specifying configurations such as versions, persistence settings, retention policies, and replica counts. The operator then handles the actual deployment and configuration of these components within the Kubernetes cluster.

Another significant feature is the simplified configuration of Prometheus targets. Instead of requiring users to learn a Prometheus-specific configuration language, the operator automatically generates monitoring target configurations based on Kubernetes label queries. This allows users to easily define which services and pods should be monitored by Prometheus, using familiar Kubernetes concepts like labels and selectors. The operator supports various CRDs, including `ServiceMonitor`, `PodMonitor`, and `Probe`, to facilitate the monitoring of different types of Kubernetes resources.

The project offers different CRD versions, with `monitoring.coreos.com/v1` considered stable and backward-compatible, while `v1beta1` and `v1alpha1` are less stable and may undergo breaking changes. The operator also provides a dynamic admission control feature, using a webhook to validate `PrometheusRule` resources. This helps prevent invalid alerting and recording rules from causing failures in deployed Prometheus instances.

The repository also highlights the relationship between the Prometheus Operator, `kube-prometheus`, and the community Helm chart. While the Prometheus Operator focuses on managing Prometheus deployments, `kube-prometheus` provides example configurations for a complete cluster monitoring stack, including Prometheus, Alertmanager, and various exporters. The Helm chart offers a similar feature set to `kube-prometheus`.

The Prometheus Operator requires at least Kubernetes version 1.16.0 and recommends using the latest stable release. The quickstart guide provides instructions on how to deploy the operator within a cluster using `kubectl`. The repository also includes instructions on how to remove the operator and its associated resources, as well as information on testing, contributing, security, and troubleshooting. The project also has an AI Usage Policy outlined in the CONTRIBUTING.md file.

prometheus-operator
by
prometheus-operatorprometheus-operator/prometheus-operator

Repository Details

Fetching additional details & charts...