Files
kindexr/Makefile
T
enki 1b7b70426c feat: Phase 0 bootstrap — kindexr boots, migrates, serves /health
- 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
2026-05-16 18:45:15 -07:00

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