The Enterprise Microservices Framework (EMF) follows a layered microservices architecture with the following key components:
| Service | Purpose | Namespace |
|---|---|---|
| emf-gateway | API gateway / routing | emf |
| emf-auth | Authentication & authorization | emf |
| emf-ai | AI/ML service integration | emf |
| emf-ui | Frontend application | emf |
| emf-worker | Background job processing (3 replicas) | emf |
| cerbos | Policy-based authorization engine | emf |
| Service | Purpose | Namespace |
|---|---|---|
| ArgoCD | GitOps continuous delivery | argocd |
| Traefik | Ingress controller / reverse proxy | traefik |
| cert-manager | TLS certificate management | cert-manager |
| Authentik | Identity provider / SSO | authentik |
| PostgreSQL | Shared database server | external (192.168.0.6) |
| Container Registry | Docker image storage | container-registry |
| Garage | S3-compatible object storage | garage |
All Kubernetes resources are managed through ArgoCD from the homelab-argo repository.
Developer commits -> GitHub -> ArgoCD detects change -> Sync to cluster
ArgoCD applications use:
A shared PostgreSQL instance at 192.168.0.6 hosts databases for multiple services:
wiki — Wiki.js