Files
karma/Makefile
Łukasz Mierzwa afb419f4f3 Handle silence request result for multiple Alertmanager instances in the UI
Silence result UI will now show all selected upstreams and provide individual results for each
2017-06-30 19:52:42 -07:00

106 lines
2.7 KiB
Makefile

NAME := unsee
VERSION := $(shell git describe --tags --always --dirty='-dev')
# Alertmanager instance used when running locally, points to mock data
MOCK_PATH := $(CURDIR)/mock/0.7.1
ALERTMANAGER_URIS := "docker:http://localhost:9093 am-0.7.1:file://$(CURDIR)/mock/0.7.1"
# Listen port when running locally
PORT := 8080
SOURCES := $(wildcard *.go) $(wildcard */*.go) $(wildcard */*/*.go)
ASSET_SOURCES := $(wildcard assets/*/* assets/*/*/*)
GO_BINDATA_MODE := prod
GIN_DEBUG := false
ifdef DEBUG
GO_BINDATA_FLAGS = -debug
GO_BINDATA_MODE = debug
GIN_DEBUG = true
DOCKER_ARGS = -v $(CURDIR)/assets:$(CURDIR)/assets:ro
endif
# detect if jshint and/or eslint is installed
JSHINT := $(shell which jshint)
ESLINT := $(shell which eslint)
.DEFAULT_GOAL := $(NAME)
.build/deps.ok:
go get -u github.com/jteeuwen/go-bindata/...
go get -u github.com/elazarl/go-bindata-assetfs/...
go get -u github.com/golang/lint/golint
mkdir -p .build
touch $@
.build/bindata_assetfs.%:
mkdir -p .build
rm -f .build/bindata_assetfs.*
touch $@
bindata_assetfs.go: .build/deps.ok .build/bindata_assetfs.$(GO_BINDATA_MODE) $(ASSET_SOURCES)
go-bindata-assetfs $(GO_BINDATA_FLAGS) -prefix assets -nometadata assets/templates/... assets/static/...
$(NAME): .build/deps.ok bindata_assetfs.go $(SOURCES)
go build -ldflags "-X main.version=$(VERSION)"
.PHONY: clean
clean:
rm -fr .build $(NAME)
.PHONY: run
run: $(NAME)
ALERTMANAGER_URIS=$(ALERTMANAGER_URIS) \
COLOR_LABELS_UNIQUE="@receiver instance cluster" \
COLOR_LABELS_STATIC="job" \
DEBUG="$(GIN_DEBUG)" \
FILTER_DEFAULT="@state=active" \
PORT=$(PORT) \
./$(NAME)
.PHONY: docker-image
docker-image: bindata_assetfs.go
docker build --build-arg VERSION=$(VERSION) -t $(NAME):$(VERSION) .
.PHONY: run-docker
run-docker: docker-image
@docker rm -f $(NAME) || true
docker run \
--name $(NAME) \
$(DOCKER_ARGS) \
-v $(MOCK_PATH):$(MOCK_PATH) \
-e ALERTMANAGER_URIS=$(ALERTMANAGER_URIS) \
-e COLOR_LABELS_UNIQUE="instance cluster" \
-e COLOR_LABELS_STATIC="job" \
-e DEBUG="$(GIN_DEBUG)" \
-e PORT=$(PORT) \
-p $(PORT):$(PORT) \
$(NAME):$(VERSION)
.PHONY: lint
lint: .build/deps.ok
@golint ./... | (egrep -v "^vendor/|^bindata_assetfs.go" || true)
ifneq ($(JSHINT),)
$(JSHINT) assets/static/*.js
endif
ifneq ($(ESLINT),)
$(ESLINT) --quiet assets/static/*.js
endif
.PHONY: test
test: lint bindata_assetfs.go
go test -cover `go list ./... | grep -v /vendor/`
.build/vendor.ok:
go get -u github.com/kardianos/govendor
mkdir -p .build
touch $@
.PHONY: vendor
vendor: .build/vendor.ok
govendor remove +u
govendor fetch +m +e
.PHONY: vendor-update
vendor-update: .build/vendor.ok
govendor fetch +v