Files
BountyBoard/Makefile
T
etalon f2c534f636 feat: store layer with indexes, optimistic concurrency, GridFS, credential crypto (phase 2)
- mongo-driver v2 connection with bounded startup retry + /readyz gate
- idempotent creation of all §4.9 indexes
- UpdateVersioned: version-filtered updates, conflict vs not-found errors
- AES-256-GCM Seal/Open for ticketing credentials, base64(nonce|ct)
- GridFS file store: MIME sniffing, MAX_UPLOAD_MB cap, sha256 metadata
- HMAC-signed short-lived file URL tokens (§5.1, 1h TTL)
- integration tests against compose Mongo via docker-compose.test.yml overlay

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 18:17:26 +02:00

35 lines
728 B
Makefile

GO ?= go
.PHONY: build run test test-integration lint seed smoke backup restore
build:
$(GO) build ./...
run:
$(GO) run ./cmd/app
test:
$(GO) test ./...
# Requires Mongo reachable on 127.0.0.1:27017 (or MONGO_TEST_URI):
# docker compose -f docker-compose.yml -f docker-compose.test.yml up -d mongo
test-integration:
$(GO) test -tags=integration ./...
lint:
@unformatted=$$(gofmt -l .); if [ -n "$$unformatted" ]; then \
echo "gofmt needed on:"; echo "$$unformatted"; exit 1; fi
$(GO) vet ./...
seed:
@echo "seed script lands in phase 12 (scripts/seed.go)"; exit 1
smoke:
./scripts/smoke.sh
backup:
@echo "backup target lands in phase 12"; exit 1
restore:
@echo "restore target lands in phase 12"; exit 1