Skip to content

Commit cfc4748

Browse files
committed
Add base alert management API
Signed-off-by: machadovilaca <[email protected]>
1 parent 6f048b6 commit cfc4748

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+6679
-126
lines changed

Makefile

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ PLUGIN_NAME ?=monitoring-plugin
55
IMAGE ?= quay.io/${ORG}/${PLUGIN_NAME}:${VERSION}
66
FEATURES ?=incidents,perses-dashboards,dev-config
77

8+
GOIMPORTS_VERSION ?= latest
9+
GOLANGCI_LINT_VERSION ?= v2.6.1
10+
811
.PHONY: install-frontend
912
install-frontend:
1013
cd web && npm install
@@ -38,10 +41,20 @@ lint-frontend:
3841
cd web && npm run lint
3942

4043
.PHONY: lint-backend
41-
lint-backend:
44+
lint-backend: goimports-backend golangci-lint-backend
4245
go mod tidy
4346
go fmt ./cmd/
44-
go fmt ./pkg/
47+
go fmt ./pkg/... ./internal/...
48+
49+
.PHONY: goimports-backend
50+
goimports-backend:
51+
go install golang.org/x/tools/cmd/goimports@${GOIMPORTS_VERSION}
52+
goimports -w -local="github.com/openshift/monitoring-plugin" .
53+
54+
.PHONY: golangci-lint-backend
55+
golangci-lint-backend:
56+
go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@${GOLANGCI_LINT_VERSION}
57+
golangci-lint run ./pkg/k8s/... ./pkg/management/... ./internal/...
4558

4659
.PHONY: install-backend
4760
install-backend:
@@ -57,7 +70,7 @@ start-backend:
5770

5871
.PHONY: test-backend
5972
test-backend:
60-
go test ./pkg/... -v
73+
go test ./pkg/... ./internal/... -v
6174

6275
.PHONY: build-image
6376
build-image:

cmd/plugin-backend.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,16 @@ import (
88
"strconv"
99
"strings"
1010

11-
server "github.com/openshift/monitoring-plugin/pkg"
1211
"github.com/sirupsen/logrus"
12+
13+
server "github.com/openshift/monitoring-plugin/pkg"
1314
)
1415

1516
var (
1617
portArg = flag.Int("port", 0, "server port to listen on (default: 9443)\nports 9444 and 9445 reserved for other use")
1718
certArg = flag.String("cert", "", "cert file path to enable TLS (disabled by default)")
1819
keyArg = flag.String("key", "", "private key file path to enable TLS (disabled by default)")
19-
featuresArg = flag.String("features", "", "enabled features, comma separated.\noptions: ['acm-alerting', 'incidents', 'dev-config', 'perses-dashboards']")
20+
featuresArg = flag.String("features", "", "enabled features, comma separated.\noptions: ['acm-alerting', 'incidents', 'dev-config', 'perses-dashboards', 'management-api']")
2021
staticPathArg = flag.String("static-path", "", "static files path to serve frontend (default: './web/dist')")
2122
configPathArg = flag.String("config-path", "", "config files path (default: './config')")
2223
pluginConfigArg = flag.String("plugin-config-path", "", "plugin yaml configuration")

go.mod

Lines changed: 55 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -4,57 +4,80 @@ go 1.24.0
44

55
require (
66
github.com/evanphx/json-patch v4.12.0+incompatible
7+
github.com/go-playground/form/v4 v4.3.0
78
github.com/gorilla/handlers v1.5.2
89
github.com/gorilla/mux v1.8.1
10+
github.com/onsi/ginkgo/v2 v2.22.0
11+
github.com/onsi/gomega v1.36.1
12+
github.com/openshift/api v0.0.0-20251122153900-88cca31a44c9
13+
github.com/openshift/client-go v0.0.0-20251123231646-4685125c2287
914
github.com/openshift/library-go v0.0.0-20240905123346-5bdbfe35a6f5
15+
github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring v0.87.0
16+
github.com/prometheus-operator/prometheus-operator/pkg/client v0.87.0
1017
github.com/sirupsen/logrus v1.9.3
11-
github.com/stretchr/testify v1.9.0
18+
github.com/stretchr/testify v1.11.1
1219
gopkg.in/yaml.v2 v2.4.0
13-
k8s.io/api v0.31.1
14-
k8s.io/apiserver v0.30.3
15-
k8s.io/client-go v0.31.1
20+
k8s.io/api v0.34.2
21+
k8s.io/apimachinery v0.34.2
22+
k8s.io/apiserver v0.34.2
23+
k8s.io/client-go v0.34.2
1624
)
1725

1826
require (
1927
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
20-
github.com/emicklei/go-restful/v3 v3.12.1 // indirect
28+
github.com/emicklei/go-restful/v3 v3.13.0 // indirect
2129
github.com/felixge/httpsnoop v1.0.4 // indirect
22-
github.com/fsnotify/fsnotify v1.7.0 // indirect
23-
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
24-
github.com/go-logr/logr v1.4.2 // indirect
25-
github.com/go-openapi/jsonpointer v0.21.0 // indirect
26-
github.com/go-openapi/jsonreference v0.21.0 // indirect
27-
github.com/go-openapi/swag v0.23.0 // indirect
30+
github.com/fsnotify/fsnotify v1.9.0 // indirect
31+
github.com/fxamacker/cbor/v2 v2.9.0 // indirect
32+
github.com/go-logr/logr v1.4.3 // indirect
33+
github.com/go-openapi/jsonpointer v0.22.1 // indirect
34+
github.com/go-openapi/jsonreference v0.21.2 // indirect
35+
github.com/go-openapi/swag v0.25.1 // indirect
36+
github.com/go-openapi/swag/cmdutils v0.25.1 // indirect
37+
github.com/go-openapi/swag/conv v0.25.1 // indirect
38+
github.com/go-openapi/swag/fileutils v0.25.1 // indirect
39+
github.com/go-openapi/swag/jsonname v0.25.1 // indirect
40+
github.com/go-openapi/swag/jsonutils v0.25.1 // indirect
41+
github.com/go-openapi/swag/loading v0.25.1 // indirect
42+
github.com/go-openapi/swag/mangling v0.25.1 // indirect
43+
github.com/go-openapi/swag/netutils v0.25.1 // indirect
44+
github.com/go-openapi/swag/stringutils v0.25.1 // indirect
45+
github.com/go-openapi/swag/typeutils v0.25.1 // indirect
46+
github.com/go-openapi/swag/yamlutils v0.25.1 // indirect
47+
github.com/go-task/slim-sprig/v3 v3.0.0 // indirect
2848
github.com/gogo/protobuf v1.3.2 // indirect
29-
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
30-
github.com/golang/protobuf v1.5.4 // indirect
31-
github.com/google/gnostic-models v0.6.8 // indirect
32-
github.com/google/go-cmp v0.6.0 // indirect
33-
github.com/google/gofuzz v1.2.0 // indirect
49+
github.com/google/gnostic-models v0.7.0 // indirect
50+
github.com/google/go-cmp v0.7.0 // indirect
51+
github.com/google/pprof v0.0.0-20241029153458-d1b30febd7db // indirect
3452
github.com/google/uuid v1.6.0 // indirect
35-
github.com/josharian/intern v1.0.0 // indirect
3653
github.com/json-iterator/go v1.1.12 // indirect
37-
github.com/mailru/easyjson v0.7.7 // indirect
3854
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
39-
github.com/modern-go/reflect2 v1.0.2 // indirect
55+
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
4056
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
4157
github.com/pkg/errors v0.9.1 // indirect
4258
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
59+
github.com/spf13/pflag v1.0.6 // indirect
4360
github.com/x448/float16 v0.8.4 // indirect
44-
golang.org/x/net v0.34.0 // indirect
45-
golang.org/x/oauth2 v0.25.0 // indirect
46-
golang.org/x/sys v0.29.0 // indirect
47-
golang.org/x/term v0.28.0 // indirect
48-
golang.org/x/text v0.21.0 // indirect
49-
golang.org/x/time v0.9.0 // indirect
50-
google.golang.org/protobuf v1.34.2 // indirect
61+
go.yaml.in/yaml/v2 v2.4.3 // indirect
62+
go.yaml.in/yaml/v3 v3.0.4 // indirect
63+
golang.org/x/net v0.44.0 // indirect
64+
golang.org/x/oauth2 v0.31.0 // indirect
65+
golang.org/x/sys v0.36.0 // indirect
66+
golang.org/x/term v0.35.0 // indirect
67+
golang.org/x/text v0.29.0 // indirect
68+
golang.org/x/time v0.13.0 // indirect
69+
golang.org/x/tools v0.36.0 // indirect
70+
google.golang.org/protobuf v1.36.10 // indirect
71+
gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect
5172
gopkg.in/inf.v0 v0.9.1 // indirect
5273
gopkg.in/yaml.v3 v3.0.1 // indirect
53-
k8s.io/apimachinery v0.31.1 // indirect
74+
k8s.io/apiextensions-apiserver v0.34.2 // indirect
5475
k8s.io/klog/v2 v2.130.1 // indirect
55-
k8s.io/kube-openapi v0.0.0-20240808142205-8e686545bdb8 // indirect
56-
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 // indirect
57-
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
58-
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
59-
sigs.k8s.io/yaml v1.4.0 // indirect
76+
k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 // indirect
77+
k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 // indirect
78+
sigs.k8s.io/controller-runtime v0.22.3 // indirect
79+
sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect
80+
sigs.k8s.io/randfill v1.0.0 // indirect
81+
sigs.k8s.io/structured-merge-diff/v6 v6.3.0 // indirect
82+
sigs.k8s.io/yaml v1.6.0 // indirect
6083
)

0 commit comments

Comments
 (0)