veza/proto/README.md
senke 73d6cb2bee refactor(infra): centralize protobuf definitions in shared proto/ directory
CLN-07: Copied .proto sources from chat-server and stream-server
to proto/{common,chat,stream}/. Original copies remain until builds
are updated to use the shared directory.
2026-02-22 17:45:11 +01:00

1.6 KiB

Centralized Protobuf Definitions (CLN-07)

This directory contains the canonical source of all .proto files for the Veza monorepo.

Structure

proto/
├── common/
│   └── auth.proto      # Shared auth service (ValidateToken, GetUserInfo, etc.)
├── stream/
│   └── stream.proto    # Stream service (veza-stream-server)
├── chat/
│   └── chat.proto      # Chat service (veza-chat-server)
└── README.md

Intent

  • Single source of truth: All protobuf definitions live here. Edit these files when changing API contracts.
  • Generated code stays in place: Go/Rust generated code remains in veza-backend-api, veza-chat-server, and veza-stream-server. Build scripts in those projects should use this directory as the --proto_path when invoking protoc.
  • Shared common types: common/auth.proto is imported by both chat.proto and stream.proto.

Consumers

Consumer Proto files used Generated output location
veza-chat-server chat.proto, common/auth.proto (existing generated dirs)
veza-stream-server stream.proto, common/auth.proto (existing generated dirs)
veza-backend-api All (if applicable) (existing generated dirs)

Migration note

The original .proto files were duplicated in veza-chat-server/proto/ and veza-stream-server/proto/. Those copies can be removed or symlinked to this directory once build pipelines are updated to use proto/ as the source.