fb2c3a6cae
- Tool 接口 + Registry 注册中心,工具模块化插拔 - system 工具:health / info - database 工具:db_query / db_tables / db_table_info / db_explain(四层 SQL 安全) - docker 工具:docker_ps / docker_logs / docker_inspect(白名单 + 大小限制) - middleware:auth(JWT+APIKey)/ ratelimit(令牌桶)/ audit(slog 结构化) - stdio / SSE 双传输模式,Viper 多环境配置 - Dockerfile 多阶段构建(golang:alpine → scratch),~15MB 镜像 - docker-compose.yml 一键部署 + 安全加固(read_only / no-new-privileges / cap_drop) - go build ./... / go vet ./... / go test ./... 全部通过 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
55 lines
713 B
Makefile
55 lines
713 B
Makefile
.PHONY: build run test lint image clean
|
|
|
|
APP_NAME := ops-mcp
|
|
IMAGE_NAME := ops-mcp
|
|
GO := go
|
|
GOFLAGS := -ldflags="-s -w"
|
|
|
|
# ---- Build ----
|
|
|
|
build:
|
|
$(GO) build $(GOFLAGS) -o $(APP_NAME) ./cmd/server
|
|
|
|
run: build
|
|
./$(APP_NAME) -env=dev
|
|
|
|
# ---- Test ----
|
|
|
|
test:
|
|
$(GO) test -race -v ./...
|
|
|
|
test-integration:
|
|
$(GO) test -race -v ./test/...
|
|
|
|
# ---- Lint ----
|
|
|
|
lint:
|
|
golangci-lint run ./...
|
|
|
|
# ---- Docker Compose ----
|
|
|
|
up:
|
|
docker compose up -d --build
|
|
|
|
up-dev:
|
|
docker compose --profile dev up -d --build
|
|
|
|
down:
|
|
docker compose down
|
|
|
|
logs:
|
|
docker compose logs -f
|
|
|
|
# ---- Docker ----
|
|
|
|
image:
|
|
docker build -t $(IMAGE_NAME):latest .
|
|
|
|
# ---- Utils ----
|
|
|
|
clean:
|
|
rm -f $(APP_NAME)
|
|
|
|
tidy:
|
|
$(GO) mod tidy
|