From 288dccfd94a3ccde9113b8bf625632b861203085 Mon Sep 17 00:00:00 2001 From: XingfenD Date: Mon, 17 Aug 2026 14:13:51 +0800 Subject: [PATCH] chore: remove proto codegen from prod Dockerfile --- AGENTS.md | 23 ++++------------------- Dockerfile.prod | 11 +---------- 2 files changed, 5 insertions(+), 29 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index ad17280..bb1e650 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -7,29 +7,15 @@ Part of a multi-repo project. Parent `../AGENTS.md` has full architecture contex ## Build & Run ```bash -go run main.go # requires generated proto stubs first +go run main.go go build -o collab-go main.go ``` Port: `1234` (override with `ADDR` env var). -### Prerequisites — generated proto stubs +### Protobuf -`pkg/gen/` is gitignored. Code **will not compile** without it. Generate from the parent directory: - -```bash -# Option A: parent repo script (recommended) -bash ../deploy/script/gen_proto.sh - -# Option B: manual protoc (requires protoc-gen-go + protoc-gen-go-grpc) -mkdir -p pkg/gen -protoc -I ../proto \ - --go_out=pkg/gen --go_opt=paths=source_relative \ - --go-grpc_out=pkg/gen --go-grpc_opt=paths=source_relative \ - ../proto/yoresee_doc/v1/yoresee_doc.proto -``` - -Install codegen tools: `go install google.golang.org/protobuf/cmd/protoc-gen-go@latest && go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest` +Consumes Go stubs (`yoreseedocpb`) from `git.yoresee.cc/YoreseeDoc/yoresee_doc_sdk_go`, pinned to tag `v0.1.0` in `go.mod`. No local codegen required. ## Environment Variables @@ -57,14 +43,13 @@ go build ./... - `handler/` — WebSocket upgrade, auth check, doc-existence check via gRPC, proxy to collab-core - `health/` — `/health`, `/readyz`, `/livez` probes (readiness checks backend gRPC) - `proxy/` — bidirectional WebSocket proxy to collab-core at path `/doc-{docID}` -- `pkg/gen/` — generated protobuf stubs (gitignored) Connection flow: `Browser → /ws/doc/{docId}?token=... → collab-go (auth + gRPC doc check) → collab-core /doc-{docId}` ## Docker - `Dockerfile` — dev image, runs `go run main.go` -- `Dockerfile.prod` — production build; **expects build context at parent directory** (`COPY collab-go/...`). Proto codegen runs inside the build. +- `Dockerfile.prod` — production build; **expects build context at parent directory** (`COPY collab-go/...`). ## Conventions diff --git a/Dockerfile.prod b/Dockerfile.prod index 3cbb93d..d449ed3 100644 --- a/Dockerfile.prod +++ b/Dockerfile.prod @@ -2,22 +2,13 @@ FROM golang:1.24-alpine AS builder WORKDIR /app ENV GOPROXY=https://goproxy.cn,direct - -RUN apk add --no-cache protobuf -RUN go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.36.5 && \ - go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.5.1 +ENV GOPRIVATE=git.yoresee.cc/YoreseeDoc COPY collab-go/go.mod collab-go/go.sum ./ COPY collab-go ./collab-go -COPY proto ./proto WORKDIR /app/collab-go RUN go mod download -RUN mkdir -p /app/collab-go/pkg/gen && \ - protoc -I /app/proto \ - --go_out=/app/collab-go/pkg/gen --go_opt=paths=source_relative \ - --go-grpc_out=/app/collab-go/pkg/gen --go-grpc_opt=paths=source_relative \ - /app/proto/yoresee_doc/v1/yoresee_doc.proto RUN go mod tidy RUN CGO_ENABLED=0 go build -p 1 -o collab-go main.go