1b7b70426c
- config: koanf-based loading (defaults → YAML → KINDEXR_ env vars) - db: embedded SQLite migrations with BEGIN/END-aware statement splitter - server: chi router, GET /health returns JSON stats - cmd/kindexr: graceful SIGTERM shutdown - cmd/kindexr-cli: stub - deploy: systemd unit, example config, nginx snippet - all packages covered by race-clean tests
37 lines
842 B
Makefile
37 lines
842 B
Makefile
.PHONY: build test clean install run lint fmt vet check
|
|
|
|
BINARY := kindexr
|
|
CLI := kindexr-cli
|
|
VERSION := $(shell git describe --tags --always --dirty 2>/dev/null || echo dev)
|
|
LDFLAGS := -ldflags "-X main.version=$(VERSION) -s -w"
|
|
|
|
build:
|
|
go build $(LDFLAGS) -o ./bin/$(BINARY) ./cmd/kindexr
|
|
go build $(LDFLAGS) -o ./bin/$(CLI) ./cmd/kindexr-cli
|
|
|
|
test:
|
|
go test -race ./...
|
|
|
|
lint:
|
|
golangci-lint run
|
|
|
|
fmt:
|
|
gofmt -w .
|
|
|
|
vet:
|
|
go vet ./...
|
|
|
|
check: fmt vet test
|
|
|
|
install: build
|
|
install -D -m 0755 ./bin/$(BINARY) /usr/local/bin/$(BINARY)
|
|
install -D -m 0755 ./bin/$(CLI) /usr/local/bin/$(CLI)
|
|
install -D -m 0644 ./deploy/kindexr.service /etc/systemd/system/kindexr.service
|
|
install -D -m 0640 ./deploy/kindexr.example.yaml /etc/kindexr/config.yaml
|
|
|
|
run:
|
|
go run ./cmd/kindexr --config ./deploy/kindexr.example.yaml
|
|
|
|
clean:
|
|
rm -rf ./bin
|