4.9 KiB
4.9 KiB
online-boutique
Overview
online-boutique is a production-ready Java microservice built using the Kyndryl Platform Engineering Golden Path.
!!! info "Service Information" - Description: Java microservice via Golden Path - Environment: development - Technology: Spring Boot 3.2, Java 17 - Orchestration: Humanitec - Observability: Prometheus + Grafana
Quick Links
Features
✅ Production-Ready Configuration
- Health checks (liveness, readiness, startup)
- Graceful shutdown
- Resource limits and requests
- Security contexts
✅ Observability
- Prometheus metrics integration
- Pre-configured Grafana dashboards
- Structured logging
- Request tracing
✅ CI/CD
- Automated builds via GitHub Actions
- Azure Container Registry integration
- Humanitec deployment automation
- GitOps fallback with ArgoCD
✅ Developer Experience
- Local development support
- Hot reload with Spring DevTools
- Comprehensive tests
- API documentation
Architecture
This service follows the golden path architecture:
┌─────────────────────────────────────────┐
│ Developer Experience │
│ (Backstage Template → Gitea Repo) │
└─────────────────────────────────────────┘
│
│ git push
▼
┌─────────────────────────────────────────┐
│ GitHub Actions CI/CD │
│ 1. Build with Maven │
│ 2. Run tests │
│ 3. Build Docker image │
│ 4. Push to ACR │
│ 5. Deploy via Humanitec │
└─────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ Humanitec Orchestrator │
│ - Interprets score.yaml │
│ - Provisions resources │
│ - Deploys to AKS │
└─────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ Azure AKS Cluster │
│ - Pods with app containers │
│ - Prometheus scraping metrics │
│ - Service mesh (optional) │
└─────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ Grafana + Prometheus │
│ - Real-time metrics │
│ - Dashboards │
│ - Alerting │
└─────────────────────────────────────────┘
API Endpoints
Application Endpoints
| Endpoint | Method | Description |
|---|---|---|
/ |
GET | Welcome message |
/api/status |
GET | Service health status |
Actuator Endpoints
| Endpoint | Method | Description |
|---|---|---|
/actuator/health |
GET | Overall health |
/actuator/health/liveness |
GET | Liveness probe |
/actuator/health/readiness |
GET | Readiness probe |
/actuator/metrics |
GET | Available metrics |
/actuator/prometheus |
GET | Prometheus metrics |
/actuator/info |
GET | Application info |
Technology Stack
- Language: Java 17
- Framework: Spring Boot 3.2.0
- Build Tool: Maven 3.9
- Metrics: Micrometer + Prometheus
- Container: Docker (Alpine-based)
- Orchestration: Humanitec (Score)
- CI/CD: GitHub Actions
- Registry: Azure Container Registry
- Kubernetes: Azure AKS
- Monitoring: Prometheus + Grafana