Commit Graph

21 Commits

Author SHA1 Message Date
Simon Pasquier c7de536129
*: use stdlib context (#1768)
This changes removes all usage of golang.org/x/net/context in the code
base. It also bumps a few dependencies for the same reason:
- github.com/gogo/protobuf
- go-openapi/*

Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2019-02-26 12:18:57 +01:00
Max Leonard Inden 3a38db8faa
vendor: Update to hashicorp/memberlist v0.1.3
Signed-off-by: Max Leonard Inden <IndenML@gmail.com>
2019-02-05 16:52:53 +01:00
Hrishikesh Barman 23e7fec030 scripts/genproto.sh: Add version locking for protobuf extensions (#1707)
Signed-off-by: Hrishikesh Barman <hrishikeshbman@gmail.com>
2019-01-22 11:48:37 +01:00
Simon Pasquier 16be34fed8 Bump prometheus/client_golang to v0.9.2 (#1670)
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-12-17 11:05:40 +01:00
Simon Pasquier d2bc742474 *: support Go modules
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-11-20 16:09:40 +01:00
Simon Pasquier e8e70afc44 vendor: fix packages with dubious revision
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
Co-authored-by: Max Leonard Inden <IndenML@gmail.com>
2018-11-16 15:20:53 +01:00
Max Leonard Inden f1b920bcc9
api: Implement OpenAPI generated Alertmanager API V2
The current Alertmanager API v1 is undocumented and written by hand.
This patch introduces a new Alertmanager API - v2. The API is fully
generated via an OpenAPI 2.0 [1] specification (see
`api/v2/openapi.yaml`) with the exception of the http handlers itself.

Pros:
- Generated server code
- Ability to generate clients in all major languages
  (Go, Java, JS, Python, Ruby, Haskell, *elm* [3] ...)
    - Strict contract (OpenAPI spec) between server and clients.
    - Instant feedback on frontend-breaking changes, due to strictly
      typed frontend language elm.
- Generated documentation (See Alertmanager online Swagger UI [4])

Cons:
- Dependency on open api ecosystem including go-swagger [2]

In addition this patch includes the following changes.

- README.md: Add API section

- test: Duplicate acceptance test to API v1 & API v2 version

  The Alertmanager acceptance test framework has a decent test coverage
  on the Alertmanager API. Introducing the Alertmanager API v2 does not go
  hand in hand with deprecating API v1. They should live alongside each
  other for a couple of minor Alertmanager versions.

  Instead of porting the acceptance test framework to use the new API v2,
  this patch duplicates the acceptance tests, one using the API v1, the
  other API v2.

  Once API v1 is removed we can simply remove `test/with_api_v1` and bring
  `test/with_api_v2` to `test/`.

[1]
https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md

[2] https://github.com/go-swagger/go-swagger/

[3] https://github.com/ahultgren/swagger-elm

[4]
http://petstore.swagger.io/?url=https://raw.githubusercontent.com/mxinden/alertmanager/apiv2/api/v2/openapi.yaml

Signed-off-by: Max Leonard Inden <IndenML@gmail.com>
2018-09-04 13:38:34 +02:00
Simon Pasquier 387e684faa vendor: update prometheus/common packages (#1414)
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-06-13 16:11:22 +02:00
Fabian Reinartz fd49dbb477 *: move to memberlist for clustering 2018-02-08 12:18:44 +01:00
Calle Pettersson 608848390f Switch amtool to kingpin (#976)
* Switch cmd/amtool to kingpin

* Touch-ups

* Implement long help

* Add missing short-form of --output

* Fix backwards compatibility for config file options

* Fix vendoring

* Review fixes

* Fix flag word order
2017-12-22 11:17:13 +01:00
Julius Volz b1668866a8 Update vendoring for logger change 2017-10-22 00:20:40 -07:00
stuart nelson e9cb88e15a Fix vendor package while waiting
I can't be bothered to go through the mountain of
steps to commit this tiny change.

https://github.com/golang/go/issues/20055
2017-04-21 16:21:32 +02:00
Kellen Fox 3aab66ec3a Amtool implementation (#636)
* Implement alertmanager cli tool 'amtool'

The primary goal of an alertmanager tool is to provide a cli interface
for the prometheus alertmanager.

My vision for this tool has two parts:
  - Silence management (query, add, delete)

  - Alert management (query, maybe more in future?)

Resolves: #567
2017-04-20 11:04:17 +02:00
stuart nelson 1e34f29532 Filter alerts (#633)
* Vendor dependencies.

This updates several old dependencies, removes
some that are no longer needed, and adds
`pkg/labels` from prometheus `dev-2.0` branch.

* Add metrics selector parsing code

This is a temporary simplified re-implementation
of promQL's metric selector parsing.

* Add alerts filtering

Filter alerts through `?filter=` query string.

* Add silences filtering

Filter silences through `?filter=` query string.

* Move `parse` to `pkg/parse`
2017-03-16 11:16:10 +01:00
Fabian Reinartz a2666e6b31 vendoring: update 2016-12-01 13:49:28 +01:00
Fabian Reinartz e7252270fe Update vendoring (#564)
* vendor: update prometheus/common packages

* vendor: add missing x/sys dependency

* vendor: sync with remote repos
2016-11-22 15:18:51 +01:00
Fabian Reinartz 5c12950576 vendor: remove unused dependencies 2016-08-11 11:35:46 +02:00
Fabian Reinartz 2d0444cac1 vendor: add github.com/satori/go.uuid 2016-08-09 11:48:38 +02:00
Steve Durrheimer e1ba2ae262
Missing external dependency in vendors 2016-05-15 11:30:00 +02:00
Fabian Reinartz bb057872a7 Update vendoring 2015-09-30 17:00:25 +02:00
Fabian Reinartz 803c68306c Add vendoring with https://github.com/kardianos/govendor 2015-08-26 12:13:44 +02:00