Overview
Aegis is a service mesh for Go microservices. Nodes discover each other, authenticate via mTLS, and call domain services—all without managing PKI infrastructure.
The Idea
Microservices need secure communication. Traditional approaches require certificate authorities, key distribution, and rotation policies. Aegis asks: what if nodes could establish trust automatically?
When a node starts, it generates certificates. When nodes connect, they verify each other. The mesh handles topology—which nodes exist, which services they provide, where to route requests. You write domain logic; aegis handles transport security.
The Implementation
Aegis provides:
- Node — Identity, lifecycle, and server management
- Peer — Connections to other nodes with mTLS
- Topology — Distributed view of mesh membership
- Service Registry — Declare services, discover providers
- Service Client — Connection pooling and load balancing
- Health — Extensible health checking
What It Enables
Build distributed systems where:
- Services call each other without hardcoded addresses
- Every connection is authenticated and encrypted
- Topology changes propagate automatically
- Callers are identified on every request
Aegis is the transport layer for the zoobzio ecosystem:
| Package | Role |
|---|---|
| morpheus | Identity service |
| vicky | Storage service |
| capitan | Event coordination |
| herald | Message broker bridge |
Next Steps
- Quickstart — Build your first provider and consumer
- Concepts — Understand nodes, peers, and services
- API Reference — Function signatures and usage