Canonical Protocol Buffer definitions for the AEGIS platform. This is the single source of truth for all gRPC contracts shared across AEGIS repositories.
This repo publishes the aegis-orchestrator-proto crate and is tagged with semantic versions. Those tags drive both GitHub Releases and crates.io publishing. Consumers that use this repo as a git submodule still pin to a tag via their submodule ref.
Updating the proto:
-
Make changes to the
.protofile(s) in this repo -
Commit and push
-
Tag the new version:
git tag 0.x.y && git push --tags -
In each consumer repo, update the submodule ref:
cd aegis-proto git fetch git checkout 0.x.y cd .. git add aegis-proto git commit -m "chore: bump aegis-orchestrator-proto to 0.x.y"
-
Update generated code / TypeScript types in the consumer as needed
-
Submit PRs to all affected consumer repos together
Each consumer adds this repo as a git submodule:
git submodule add https://github.com/100monkeys-ai/aegis-proto.git aegis-protoSubmodule at aegis-proto/ (for Rust tonic-build) and embedding-service/aegis-proto/ (for Docker build context).
Submodule at aegis-proto/. Referenced by build.rs.
Submodule at aegis-proto/. Referenced by Dockerfile and loaded at runtime via @grpc/proto-loader.
Submodule at aegis-proto/. Referenced by build.rs.
- GitHub Releases are created from semver tag pushes via release.yml.
- crates.io publishing runs from the same tag pattern via crates-publish.yml.
- The publish workflow expects a
CRATES_TOKENGitHub Actions secret.
AGPL-3.0 — see LICENSE.