Major changes:
- Add auth-svc: JWT auth, register/login/refresh, password reset
- Add auth UI: modals, pages (/login, /register, /forgot-password)
- Add usage tracking (usage_metrics table, daily limits)
- Add tiered rate limiting (free/pro/business)
- Add LLM usage limits per tier
Security fixes:
- All repos now require userID for Update/Delete operations
- JWT middleware in chat-svc, llm-svc, agent-svc, discover-svc
- ErrNotFound/ErrForbidden errors for proper access control
Cleanup:
- Remove legacy TypeScript services/ directory
- Remove computer-svc (to be reimplemented)
- Remove old deploy/docker configs
New files:
- backend/cmd/auth-svc/main.go
- backend/internal/auth/{types,repository}.go
- backend/internal/usage/{types,repository}.go
- backend/pkg/middleware/{llm_limits,ratelimit_tiered}.go
- backend/webui/src/components/auth/*
- backend/webui/src/app/(auth)/*
Made-with: Cursor
87 lines
1.7 KiB
Makefile
87 lines
1.7 KiB
Makefile
.PHONY: all build clean test dev docker-build docker-up
|
|
|
|
GO=go
|
|
GOFLAGS=-ldflags="-s -w"
|
|
|
|
SERVICES=api-gateway auth-svc chat-svc agent-svc search-svc llm-svc scraper-svc discover-svc collection-svc file-svc thread-svc admin-svc
|
|
|
|
all: build
|
|
|
|
build:
|
|
@for svc in $(SERVICES); do \
|
|
echo "Building $$svc..."; \
|
|
$(GO) build $(GOFLAGS) -o bin/$$svc ./cmd/$$svc; \
|
|
done
|
|
|
|
build-%:
|
|
$(GO) build $(GOFLAGS) -o bin/$* ./cmd/$*
|
|
|
|
clean:
|
|
rm -rf bin/
|
|
|
|
test:
|
|
$(GO) test -v ./...
|
|
|
|
test-coverage:
|
|
$(GO) test -coverprofile=coverage.out ./...
|
|
$(GO) tool cover -html=coverage.out -o coverage.html
|
|
|
|
lint:
|
|
golangci-lint run ./...
|
|
|
|
dev:
|
|
@echo "Starting development servers..."
|
|
@$(GO) run ./cmd/api-gateway &
|
|
@$(GO) run ./cmd/agent-svc &
|
|
@$(GO) run ./cmd/search-svc &
|
|
@wait
|
|
|
|
dev-api-gateway:
|
|
$(GO) run ./cmd/api-gateway
|
|
|
|
dev-agent-svc:
|
|
$(GO) run ./cmd/agent-svc
|
|
|
|
dev-chat-svc:
|
|
$(GO) run ./cmd/chat-svc
|
|
|
|
dev-search-svc:
|
|
$(GO) run ./cmd/search-svc
|
|
|
|
docker-build:
|
|
docker build -t gooseek/api-gateway -f deploy/docker/Dockerfile.api-gateway .
|
|
docker build -t gooseek/agent-svc -f deploy/docker/Dockerfile.agent-svc .
|
|
docker build -t gooseek/search-svc -f deploy/docker/Dockerfile.search-svc .
|
|
|
|
docker-up:
|
|
docker-compose -f deploy/docker/docker-compose.yml up -d
|
|
|
|
docker-down:
|
|
docker-compose -f deploy/docker/docker-compose.yml down
|
|
|
|
deps:
|
|
$(GO) mod download
|
|
$(GO) mod tidy
|
|
|
|
generate:
|
|
$(GO) generate ./...
|
|
|
|
# K8s commands
|
|
k8s-deploy:
|
|
./deploy/k8s/deploy.sh
|
|
|
|
k8s-apply:
|
|
kubectl apply -k deploy/k8s/
|
|
|
|
k8s-delete:
|
|
kubectl delete -k deploy/k8s/
|
|
|
|
k8s-status:
|
|
kubectl -n gooseek get pods,svc,ingress
|
|
|
|
k8s-logs-%:
|
|
kubectl -n gooseek logs -f deployment/$* --all-containers
|
|
|
|
k8s-restart-%:
|
|
kubectl -n gooseek rollout restart deployment/$*
|