initial commit
Change-Id: I9c68c43e939d2c1a3b95a68b71ecc5ba861a4df5
This commit is contained in:
130
docs/index.md
Normal file
130
docs/index.md
Normal 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)
|
||||
Reference in New Issue
Block a user