Commit Graph

52 Commits

Author SHA1 Message Date
Łukasz Mierzwa
1346237777 fix(project): refactor proxy & external_uri handling
Fixes #1024
2019-10-11 00:10:58 +01:00
Łukasz Mierzwa
4efe17e8f1 feat(api): expose alertmanager headers in the API 2019-09-26 20:37:23 +01:00
Łukasz Mierzwa
77735ffcf1 fix(backend): fix problems found by new linters 2019-08-18 15:51:54 +01:00
Łukasz Mierzwa
29b6c7baae fix(backend): fix problems found by new linters 2019-08-18 10:58:26 +01:00
Łukasz Mierzwa
939970fd5f fix(backend): reformat backend code 2019-08-17 14:52:35 +01:00
Łukasz Mierzwa
4ab8f0305a feat(tests): add more test coverage 2019-08-08 15:45:01 +01:00
Łukasz Mierzwa
6b497217d9 fix(backend): remove endsAt from alerts
This is unused but keeps changing
2019-08-08 15:45:00 +01:00
Łukasz Mierzwa
86506563e9 feat(api): sort alert groups in the backend 2019-08-08 15:45:00 +01:00
Łukasz Mierzwa
68b6e17e64 chore(backend): reformat code 2019-08-08 15:45:00 +01:00
Łukasz Mierzwa
9b6273595d chore: move sorting to the backend 2019-08-08 15:45:00 +01:00
Łukasz Mierzwa
49087ee10d fix(api): overview modal should sort label names in ascending order 2019-07-31 13:21:27 +01:00
Łukasz Mierzwa
e36f25a248 chore(api): add offset and raw filter value to the counters dict 2019-07-14 18:22:55 +01:00
Łukasz Mierzwa
1a98e01622 feat(backend): allow extracting silence author from auth headers 2019-07-12 23:04:15 +01:00
Łukasz Mierzwa
f0fee594d9 feat(api): add labels stats to the api response
These will be used by an overview modal, showing top labels.
2019-07-09 23:03:01 +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
2fea920e57 feat(api): expose silenceform:strip:labels settings in the API 2019-04-29 20:17:40 +01:00
Łukasz Mierzwa
dfea73923c refactor(backend): add support for OpenAPI based client for alertmanager 2019-04-24 20:56:58 +01:00
Łukasz Mierzwa
003e2d88ac fix(api): always sort shared silences
Prevent different order between requests, which can also break random tests
2019-03-15 13:27:03 +00:00
Łukasz Mierzwa
49257ec296 fix(api): correctly deduplicate silences
Right now deduplication only works when there's a single silence for the entire group, but not if the group is silences with multiple silences. This change fixes the logic so that we look at silences covering the entire group and move those into shared namespace
2019-03-15 10:49:33 +00:00
Łukasz Mierzwa
6ebc88b0ba feat(api): deduplicate silences
Detect if all alerts are silenced with the same silence ID and expose this information in the API response.
2019-03-08 16:59:47 +00:00
Łukasz Mierzwa
7a0a587ddb feat(api): expose alert.inhibitedBy in the API 2019-03-05 11:00:54 +00:00
Łukasz Mierzwa
aa657ea216 feat(backend): allow configuring default grid sort options
This will allow UI to get the defaults for grid sorting via the API
2019-02-20 21:58:59 +00:00
Łukasz Mierzwa
397bbe5783 feat(config): allow configuring label value mapping for sorting
This feature solves the problem of sorting by label when values have special meaning and alphabetic sort doesn't make sense for it.
2019-02-18 23:17:47 +00:00
Łukasz Mierzwa
a3ef1dd40e chore(api): drop counters from API response
Not used by any UI code, remove it.
2019-01-05 11:52:45 +00:00
Łukasz Mierzwa
0d68ea4c3c feat(api): store silences per cluster in the API response 2018-12-01 09:53:47 +00:00
Łukasz Mierzwa
8b5862d44b chore(api): store cluster as a dict
This will allow silences to be grouped by cluster rather than by alertmanager instance
2018-11-30 23:59:58 +00:00
Łukasz Mierzwa
764f89e1d8 feat(api): expose all known Alertmanager clusters 2018-11-30 18:57:52 +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
d7182b778e fix(tests): add annotations sort test 2018-10-27 11:19:40 +01:00
Łukasz Mierzwa
090d73350c refactor(colors): move font color selection to the fronted
Right now backend sends both background and font color information, refactor to send background color and background brightness level (needed to pick font color) and let UI apply font color. Needed to implement #18
2018-09-30 13:50:21 +01:00
Łukasz Mierzwa
80e7caf627 fix(ui): expose Alertmanager instance public URI in upstreams list 2018-09-11 21:03:54 +01:00
Łukasz Mierzwa
fd645041b3 fix(api): remove alertmanager URI from per alert data 2018-09-11 20:49:07 +01: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
589ce75ae6 feat(tests): more backend tests 2018-09-07 23:26:04 +01:00
Łukasz Mierzwa
def3236645 fix(style): check of WriteString error return 2018-08-11 22:54:45 +01:00
Łukasz Mierzwa
77079a9629 feat(api): export annotation settings in the API 2018-07-19 23:38:11 +02:00
Łukasz Mierzwa
99a3671e9b feat(ui): read config from index.html and use it to setup Sentry & default filters 2018-07-19 23:38:11 +02:00
Łukasz Mierzwa
2ee239a74c refactor(api): move settings keys in the API response to a namespace 2018-07-19 23:38:11 +02:00
Łukasz Mierzwa
875a4f5217 feat(api): summarize alertmanager counts in group API 2018-07-19 23:38:11 +02:00
Łukasz Mierzwa
6c7ba5551c refactor(api): move silences into a dedicated key in API response
A single silence can supress multiple alerts so to reduce response size and the amount of data react UI needs to track move it out of alert instance (which will deduplicate it) and on each alert only store a reference. In the API return all silences as a global dict and each alert only contains the ID of silences suppressing it.
2018-07-19 23:38:11 +02:00
Łukasz Mierzwa
79ff668019 refactor(api): deduplicate lables & annotations in API responses
Each alert in a group holds only keys that are unique to that alert instance, everything shared by the entire group is moved to group.shared ns
2018-07-19 23:38:11 +02:00
Łukasz Mierzwa
e1530e01cd refactor(api): provide configured list of static labels in the API response
DOM data-* attributes are no longer used for this, feed react data store with this config so it can (re)render labels correctly
2018-07-19 23:38:11 +02:00
Łukasz Mierzwa
4fe19c3d73 feat(api): extra fields with parsed filter data in the API response 2018-07-19 23:38:11 +02:00
Łukasz Mierzwa
c0fdb71276 feat(api): expose total alerts counter in the api response 2018-07-19 23:38:11 +02:00
Łukasz Mierzwa
b7d274c93b refactor(api): return alert groups as a mapping id->group 2018-07-19 23:38:11 +02: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
6273a5a585 Rewrite flag & env handling to use viper
This adds support for reading configuration from file, env support is still there and legacy env variables will still work, but flags are now following config schema, so they don't match old flags.
Having a config file allows to express more complex configuration options, which is needed for some feature requests.
2017-11-27 20:34:36 -08:00
Łukasz Mierzwa
40604453ee Add tests for annotations 2017-09-07 12:15:32 -07:00
Łukasz Mierzwa
ab25daf6c9 Implement logic for setting annotation visibility
This allows to signal to the UI which annotations to hide and which to show by default, user still can view hidden ones
2017-09-07 12:15:32 -07:00
Łukasz Mierzwa
aa606eff12 Migrate tests to new annotation scheme 2017-09-07 12:15:32 -07:00