1
0
Fork 0
mirror of https://github.com/prometheus-operator/prometheus-operator.git synced 2025-04-16 01:06:27 +00:00
Commit graph

30 commits

Author SHA1 Message Date
Max Leonard Inden
89fc4e3069
prometheus: Introduce RuleFile Custom Resource Definition
This patch introduces a new Custom Resource Definition to the
Prometheus Operator - the Rule CRD. It addresses two main
needs:

1. Prometheus (alerting and recording) Rule validation during creation time
via Kubernetes Custom Resource Definition validation.

2. Life-cycle management of Prometheus application Rules alongside the
application itself, inside the applications Kubernetes namespace, not
necessarily the namespace of the scraping Prometheus instance.

A user defines Prometheus alerting and recording Rules via a Kubernetes
Custom Resource Definition. These Custom Resource Definitions can be
fully validated by the Kubernetes API server during creation time via
automatically generated OpenAPI specifications. Instead of the
restriction of a Prometheus instance to only select Rule definitions
inside its own namespace, the Prometheus specification is extended to
also specify namespaces to look for Rule Custom Resource Definitions
outside its own namespace.

---

Dependent technical changes:

- prometheus: Use github.com/jimmidyson/configmap-reload to reload rules

- prometheus: Remove Prometheus Statefulset deletion function. Starting
with K8s >=1.8 this is handled via OwnerReferences.

- prometheus: Do not add rule files checksum to Prometheus configuration
secret

- prometheus: Update StatefulSet only on relevant changes. Instead of
updating the Prometheus StatefulSet on every `sync()` run, only update
it if the input parameters to `makeStatefulSet` change.  Enforce this
via a checksum of the parameters which is saved inside the annotations
of the statefulset.

- e2e/prometheus: Check how often resources (Secret, ConfigMap,
Prometheus CRD, Service) are updated to enforce that Prometheus Operator
only updated created resources if necessary.

- contrib/prometheus-config-reloader: Remove logic to retriev K8s
ConfigMaps. These are mounted into the pod right away now.
2018-05-18 16:27:20 +02:00
tamal
0b9724a4e0 Update client libraries to Kubernetes 1.10 2018-05-05 09:43:40 -07:00
Frederic Branczyk
c042bb3171
vendor: Update ant31/crd-validation
This allows us to specify our own version of dependencies that the
package relies on.
2018-03-22 11:42:10 +01:00
Fabian Reinartz
8a6048be12 vendor: update 2018-03-22 09:36:47 +01:00
Frederic Branczyk
d819104e38
*: upgrade client-go 2018-03-21 14:24:45 +01:00
Max Leonard Inden
6e1aad624c
Change gopkg.in/fsnotify.v1 to github.com/fsnotify/fsnotify
`github.com/go-fsnotify/fsnotify` recently moved to
`github.com/fsnotify/fsnotify`. So far Github has automatically
redirected anyone coming from `gopkg.in/fsnotify.v1` to
`github.com/fsnotify/fsnotify`. This worked until today someone created
a new github repo under the old `github.com/go-fsnotify/fsnotify`.

Instead of referencing this dependency via `gopkg.in/fsnotify.v1`, this
patch references it directly via `github.com/fsnotify/fsnotify`.
2018-03-21 10:58:05 +01:00
Antoine Legrand
82ddbda7a1 Freeze to 0.4.0 github.com/ericchiang/k8s dep 2018-01-30 16:31:05 +01:00
Antoine Legrand
2f273799ea Update vendors 2018-01-30 15:30:02 +01:00
Antoine Legrand
ac42a98aa9 Uses 'dep' to manage dependencies 2018-01-30 15:30:00 +01:00
Max Leonard Inden
dd03ad9b20
Add dependencies for contrib/prometheus-config-reloader to vendor folder 2017-11-30 13:35:41 +01:00
Max Leonard Inden
df84b7c4fd
Vendoring kubernetes/client-go 1.8 2017-11-30 13:35:36 +01:00
Fabian Reinartz
7e5d375f6a Remove analytics 2017-09-15 10:05:40 +02:00
Frederic Branczyk
43c519d092
vendor: update k8s.io/client-go to v4.0.0-beta.0 2017-07-28 15:01:21 +02:00
Goutham Veeramachaneni
17bcccf3f1
vendor: Add semver parser
Signed-off-by: Goutham Veeramachaneni <cs14btech11014@iith.ac.in>
2017-07-26 14:34:34 +05:30
Goutham Veeramachaneni
c3f957d2ab
Merge remote-tracking branch 'upstream/master' into crd 2017-07-21 18:03:14 +05:30
Goutham Veeramachaneni
24f39e4360 vendor: Add new CRD client and remove unused
Signed-off-by: Goutham Veeramachaneni <goutham@boomerangcommerce.com>
2017-06-28 14:41:48 +02:00
Frederic Branczyk
a01feb9bdf
vendor: add backoff 2017-06-28 11:34:01 +02:00
Frederic Branczyk
09c57a17d1
*: add metrics 2017-05-29 18:30:17 -07:00
Fabian Reinartz
678a57b47c vendor: add missing dependencies 2017-04-18 15:56:13 +02:00
Frederic Branczyk
2c59137d92
*: update to client-go 2.0 release 2017-03-21 16:08:49 +01:00
Frederic Branczyk
8f9b4c8bc0
prometheus-watcher: add vendoring 2017-03-16 10:28:36 +01:00
Frederic Branczyk
e1799b3b8f
vendor: add pkg/errors 2017-02-22 15:59:50 +01:00
Frederic Branczyk
a3ae7a8bc2
prometheus: modify test to parse generated config 2017-02-22 12:21:34 +01:00
Fabian Reinartz
8d879ee1cb Add missing vendoring 2017-02-02 14:29:18 +01:00
Frederic Branczyk
b9a3c7331e
vendor: update k8s.io/* dependencies 2017-01-26 15:35:37 +01:00
Frederic Branczyk
8116cfb187
*: add basic e2e test for Prometheus TPR 2016-11-24 17:46:12 +01:00
Fabian Reinartz
60b0d20aba Add basic analytics 2016-11-01 17:01:06 +01:00
Fabian Reinartz
eb46f00373 update vendoring 2016-10-26 17:49:36 +02:00
Fabian Reinartz
f51e321566 Update client-go vendoring to 1.5 2016-10-26 12:06:56 +02:00
Fabian Reinartz
89ea5231bf Vendor dependencies 2016-10-19 16:55:59 +02:00