Commit Graph

30 Commits

Author SHA1 Message Date
Łukasz Mierzwa
640c701295 chore(backend): migrate from gin-gonic/gin to go-chi/chi
Gin comes with a lot of dependencies and doesn't use Go standard http handler.
Chi is smaller and allows to use standard middleware.
2020-10-18 11:57:43 +01:00
Łukasz Mierzwa
170dba8a37 chore(backend): use zerolog instead of logrus 2020-10-15 10:10:00 +01:00
Łukasz Mierzwa
4f58ff2e58 feat(backend): use cluster name from config 2020-06-12 19:14:17 +01:00
Łukasz Mierzwa
fbef0aeb5f fix(backend): reduce number of memory allocations 2020-05-28 18:44:13 +01:00
Łukasz Mierzwa
51f5c816a5 fix(tests): more test coverage 2020-04-21 17:33:31 +01:00
Łukasz Mierzwa
f502319005 feat(backend): allow setting CORS credentials policy 2020-02-19 09:59:35 +00:00
Łukasz Mierzwa
572f9975b8 feat(backend): add readonly option to alertmanager 2020-01-28 22:26:56 +00:00
Łukasz Mierzwa
884bd3581e fix(backend): mask credentials in error logs
Fixes #1363
2020-01-22 10:56:42 +00:00
Łukasz Mierzwa
acb6eab2ac fix(api): sort upstreams in the API response 2019-10-21 11:40:34 +01:00
Łukasz Mierzwa
1346237777 fix(project): refactor proxy & external_uri handling
Fixes #1024
2019-10-11 00:10:58 +01:00
Łukasz Mierzwa
ad699fc6fe feat(backend): add external_uri config option for alertmanager upstreams
Fixes #899
2019-08-27 21:58:52 +01:00
Łukasz Mierzwa
4bd9f447e2 feat(backend): query cluster status via v2 Alertmanager API
This change switches to v2 API when querying for cluster status on Alertmanager 0.17.0+.
v1 will soon be removed so this is needed to support future Alertmanager releases
2019-06-22 17:48:33 +01:00
Łukasz Mierzwa
5dd3b35f35 chore(backend): move metrics to the main package 2019-05-12 12:11:10 +01:00
Richard Maynard
ec14be0288 feat(backend): add support for custom headers (#368)
This will allow the AlertManager upstreams to be sent user defined HTTP headers.
2019-01-17 08:53:33 +00:00
Łukasz Mierzwa
76dd51bb92 feat(api): expose Alertmanager instance version and cluster members
Store and expose via API the version of each Alertmanager instance and the list of instances in the same cluster
2018-11-30 18:35:34 +00:00
Łukasz Mierzwa
9c16ffa447 chore(project): rename from unsee to karma
Fixes prymitive/unsee#23
2018-09-09 14:12:26 +01:00
Łukasz Mierzwa
c6dc362186 fix(style): error strings should not be capitalized or end with punctuation or a newline 2018-08-11 23:03:02 +01:00
Łukasz Mierzwa
d934dbb053 feat(api): add /labelNames.json endpoint
This endpoint will be used for label name autocomplete in the silence form
2018-08-10 17:36:00 +01:00
Łukasz Mierzwa
b71883f1ef Migrate to new repo
Forked unsee from cloudflare, so import paths needs to be updated
2018-06-07 15:30:57 +02:00
Łukasz Mierzwa
49d1ed2e1e Pass HTTP transport to the proxy
When we proxy requests we should use same transport as we use when collecting alerts & silences
2018-01-23 21:37:56 -08:00
Łukasz Mierzwa
d5a7cb9ace Rename Transport interface to Reader 2018-01-23 19:40:24 -08:00
Łukasz Mierzwa
6f89a77f8d Rename 'transport' package to 'uri'
This package adds handlers for different URI schemes, name clashes with http.Transport which is now passed around. Rename it to make it more obvious what it does
2018-01-23 19:32:39 -08:00
Łukasz Mierzwa
24335ebf1f Add support for passing path to custom TLS CA cert & client key/cert pair
This adds support for passing a custom http.RoundTripper so in effect we can customize TLS client config for HTTPS requests.
Fixes #184
2018-01-23 19:22:12 -08:00
Łukasz Mierzwa
1f89ba05fe Migrate rest of the code to new mapper and transport packages 2018-01-22 11:26:36 -08:00
Łukasz Mierzwa
983c7f50ee Refactor NewAlertmanager() to not register new instance by default
This makes it easier to test code
2018-01-08 14:28:28 -08:00
Łukasz Mierzwa
efda91f542 Rename Alertmanager.Timeout -> Alertmanager.RequestTimeout 2018-01-08 13:51:38 -08:00
Łukasz Mierzwa
c8b7b3bcd0 Implement functional options, this time for real 2018-01-08 13:30:46 -08:00
Łukasz Mierzwa
3eb28b3a6f Use functional options pattern when creating Alertmanager instances 2018-01-06 17:19:05 -08:00
Łukasz Mierzwa
b6dd993c2b Add support for proxying user connection to Alertmanager
Fixes #190.

With this feature unsee can be configured to proxy requests to selected Alertmanager instances, if it's enabled unsee silence form will send a request via unsee rather than directly. This allows users to manage silences in environments where they have access to unsee but not to Alertmanager. Only silences endpoints on Alertmanager API are proxied.
2018-01-03 16:17:58 -08:00
Łukasz Mierzwa
5d4ae47888 Convert all packages to be internal
Internal packages are supported by Go 1.5+, any package in /internal/ dir is only importable from the same repo. This will cleanup main dir a bit and provide better namespace for unsee subpackages
2017-08-04 16:21:27 -07:00