A hands-on Go lab that runs the same workflow through HTTP, gRPC, net/rpc, and RabbitMQ. The project is being hardened into an observable reference implementation; it is not yet a production deployment template.
- Go executables for gateway, authentication, logging, mail, event consumption, and the browser demo
- PostgreSQL, MongoDB, RabbitMQ, and Mailpit
- HTTP, gRPC, net/rpc, and asynchronous event examples
- Multi-architecture container builds from source
- Deterministic schema, seed data, health checks, and end-to-end smoke tests
Requirements: Go, Docker with Compose, curl, jq, and ripgrep.
cp .env.example .env
make doctor
make demo
The demo verifies all workflows rather than only starting containers.
| Interface | URL |
|---|---|
| Browser demo | http://localhost:8081 |
| Gateway | http://localhost:8080 |
| Mailpit | http://localhost:8025 |
The local seeded credentials are:
admin@example.com
verysecret
These credentials and the values in .env.example are only for local development.
Browser -> Gateway
Gateway -> Authentication -> PostgreSQL
Gateway -> Logging -> MongoDB
Gateway -> RabbitMQ -> Listener -> Logging
Gateway -> Mail -> Mailpit
make help
make verify-local
make build
make dev
make smoke
make verify-phase-1
make verify-phase-4
make verify-phase-5
make verify-phase-6
make logs
make down
make clean
make clean removes only containers and named volumes owned by this Compose project.
The current roadmap is:
- Reproducible Golden Path and clean-room smoke verification
- Correctness, dependency, and security remediation
- Deep use-case modules and canonical contracts
- Reliable event delivery and integration testing
- OpenTelemetry, protocol comparison, and failure injection
- CI/CD, signed releases, community documentation, and template ergonomics
See docs/observability-and-protocols.md for the phase 5 tracing and protocol comparison notes.
Phase 6 docs:
See UPSTREAM.md. The project is distributed under the MIT License.