This is the capstone module. You will combine everything from the previous 11 modules into a complete, production-style zero trust platform. By the end, you will have a fully functional multi-cluster deployment with SPIRE, Envoy, OPA, and federation.
Architecture Overview
The capstone project deploys a microservice e-commerce application across two Kubernetes clusters with every service identified by SPIRE, all communication encrypted with Envoy mTLS, authorization enforced by OPA policies, cross-cluster communication via SPIFFE federation, and monitoring via Prometheus and Grafana.
What You Will Build
- Deploy SPIRE in HA mode on both clusters
- Configure automatic workload registration via Controller Manager
- Deploy Envoy sidecars for transparent mTLS
- Write and deploy OPA policies for service-to-service authorization
- Configure federation between the two clusters
- Deploy monitoring with SPIRE-specific dashboards
- Test failure scenarios: what happens when identity expires? When a policy changes?
Reference Architecture
This architecture serves as a template you can adapt for your organization. The key decisions documented: trust domain naming, SPIFFE ID schema, attestation plugin choices, certificate TTL settings, policy structure, and monitoring/alerting thresholds.
Common Pitfalls
- Starting too big: Deploy SPIRE for one critical service first, then expand
- Ignoring day-two operations: Monitoring and runbooks are not optional
- Over-complicated policies: Start with broad allow rules, tighten incrementally
- Not testing failure modes: What happens when SPIRE Server is down? Test it.