@flatcokecom/idl
v1.0.13
Published
Protocol Buffers IDL for microservices
Readme
Proto IDL
마이크로서비스용 Protocol Buffers 정의 및 Go/TypeScript 코드 생성
Structure
proto-idl/
├── proto/ # Proto 정의
│ ├── user/v1/
│ └── post/v1/
└── gen/ # 생성된 코드
├── go/
└── ts/Prerequisites
- buf >= 1.28
- Go >= 1.21
- Node.js >= 18
필수 설치
# buf CLI
brew install buf
# Go protoc plugins
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway@latestUsage
make generate # 코드 생성
make lint # LintGenerated Code
Go:
import (
userv1 "github.com/flatcoke/proto-idl/gen/go/user/v1"
postv1 "github.com/flatcoke/proto-idl/gen/go/post/v1"
)TypeScript:
import { UserServiceClient } from './gen/ts/user/v1/user';
import { PostServiceClient } from './gen/ts/post/v1/post';URL Convention
| Prefix | 설명 | 예시 |
|--------|------|------|
| /v1/... | 내부 서비스 간 통신용 | /v1/users/{id} |
| /external/v1/... | 외부 클라이언트 노출용 | /external/v1/auth/login |
Adding New Service
proto/[service]/v1/[service].proto생성buf.yaml에 경로 추가 (필요시)make generate실행
