initial commit

Change-Id: I9c68c43e939d2c1a3b95a68b71ecc5ba861a4df5
This commit is contained in:
Scaffolder
2026-03-05 13:37:56 +00:00
commit 7e119cad41
24 changed files with 3024 additions and 0 deletions

130
docs/index.md Normal file
View File

@@ -0,0 +1,130 @@
# 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
- [Repository](https://gitea.kyndemo.live/validate/online-boutique)
- [Humanitec Console](https://app.humanitec.io/orgs/kyn-cjot/apps/online-boutique)
- [Grafana Dashboard](https://grafana.kyndemo.live/d/spring-boot-dashboard?var-app=online-boutique)
## 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
## Next Steps
- [Set up local development environment](local-development.md)
- [Learn about deployment process](deployment.md)
- [Configure monitoring and alerts](monitoring.md)
- [Understand the architecture](architecture.md)