Skip to content
Snippets Groups Projects
  1. Jul 25, 2018
  2. Jul 08, 2018
  3. Jun 26, 2018
  4. Jun 25, 2018
    • Max Leonard Inden's avatar
      kube-prometheus/Makefile: Change target output from files to folder · 22066b47
      Max Leonard Inden authored
      Previously the `manifests` and `vendor` folder content has been build
      via `manifests/**` and `vendor/**` target definitions. This results in
      two issues:
      
      1. The GNU Make recipe is executed for every single file in the folders.
      
      2. Not all timestamps inside the `manifests` folder would be updated on
      every run, thereby needing to be rerun on all following target
      executions.
      
      Solution:
      
      1. Define the target based on the folder, not individual files
      
      2. Remove target folder before execution recipe to ensure all timestamps
      are updated.
      22066b47
  5. Jun 12, 2018
    • Max Leonard Inden's avatar
      *: Refactor build system · 1d36d01b
      Max Leonard Inden authored
      - Move prometheus-config-reloader to cmd/
      - Refactor Makefile & contrib/kube-prometheus/Makefile
      - Only execute a target if its dependencies changed
        - Create empty target file for docker builds
      - Replace promu with plain static `go build`
      1d36d01b
  6. Jun 06, 2018
  7. Jun 05, 2018
  8. May 25, 2018
  9. May 18, 2018
    • Max Leonard Inden's avatar
      prometheus: Introduce RuleFile Custom Resource Definition · 9e180452
      Max Leonard Inden authored
      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.
      9e180452
    • Frederic Branczyk's avatar
      fef0a659
  10. May 06, 2018
  11. Apr 28, 2018
  12. Apr 13, 2018
  13. Dec 22, 2017
  14. Oct 30, 2017
  15. Oct 06, 2017
  16. Jul 24, 2017
Loading