docs: documentation for validate/jonathan-demo-test #27

Merged
demo-bot merged 2 commits from documentor-validate-jonathan-demo-test-52ea9373 into main 2026-06-08 16:18:32 +00:00
2 changed files with 120 additions and 0 deletions

View File

@@ -0,0 +1,106 @@
---
title: "Jonathan Demo Test"
generated_by: documentor-agent
generated_at: "2026-06-08T16:18:10+00:00"
human_edited: false
source_entity: "Component/default/jonathan-demo-test"
source_repo: "https://gitea.kyndemo.live/validate/jonathan-demo-test"
---
## Overview
Jonathan Demo Test is a modernized microservice built with Java Spring Boot, following cloud-native architecture patterns. It serves as a demonstration of platform orchestration capabilities using Humanitec v2. The service is designed for containerized deployment and integrates seamlessly with observability tools like Prometheus and Grafana. Key features include production-ready configurations, health check endpoints, Prometheus metrics exposure, and security scanning integrated into the CI/CD pipeline.
This service plays a critical role in showcasing the modernization of legacy applications into scalable, cloud-native solutions. It leverages the Humanitec Platform Orchestrator for deployment and lifecycle management, ensuring streamlined operations and enhanced developer productivity.
## Repository
| Field | Value |
|------------------|-----------------------------------------------------------------------------------------------------------------|
| Source Repo | [Jonathan Demo Test](https://gitea.kyndemo.live/validate/jonathan-demo-test) |
| Branch | main |
| ArgoCD App | — |
| Namespace | dev |
## Architecture
Jonathan Demo Test is a microservice designed with the following architecture:
- **Runtime**: Java Spring Boot
- **Deployment**: Humanitec Platform Orchestrator
- **CI/CD Pipeline**: Gitea Actions → Azure Container Registry (ACR) → Humanitec
- **Observability**: Prometheus metrics and Grafana dashboards for monitoring and alerting.
The service communicates with external resources defined in `score.yaml`, including database configurations for H2, MySQL, and PostgreSQL. It supports health check endpoints (`/health`) and metrics endpoints (`/metrics`) for operational insights.
## Configuration
| Configuration Option | Description |
|-----------------------------|-----------------------------------------------------------------------------|
| `spring.profiles.active` | Specifies the active profile (`mysql`, `postgres`, or default `h2`). |
| `jdbc:h2:mem:<uuid>` | URL for accessing the in-memory H2 database. |
| `MYSQL_USER`, `MYSQL_PASSWORD`, `MYSQL_DATABASE` | Environment variables for MySQL configuration. |
| `POSTGRES_USER`, `POSTGRES_PASSWORD`, `POSTGRES_DB` | Environment variables for PostgreSQL configuration.|
## Operations
### Running Locally
1. Clone the repository:
```bash
git clone https://gitea.kyndemo.live/validate/jonathan-demo-test
cd jonathan-demo-test
```
2. Start the application:
- Using Maven:
```bash
./mvnw spring-boot:run
```
- Using Gradle:
```bash
./gradlew bootRun
```
3. Access the application at [http://localhost:8080](http://localhost:8080).
### Container Deployment
1. Build the container image:
```bash
./mvnw spring-boot:build-image
```
2. Run the container:
```bash
docker run -p 8080:8080 docker.io/library/spring-petclinic:latest
```
### Database Setup
- For MySQL:
```bash
docker run -e MYSQL_USER=petclinic -e MYSQL_PASSWORD=petclinic -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=petclinic -p 3306:3306 mysql:9.6
```
- For PostgreSQL:
```bash
docker run -e POSTGRES_USER=petclinic -e POSTGRES_PASSWORD=petclinic -e POSTGRES_DB=petclinic -p 5432:5432 postgres:18.3
```
## Observability
- **Grafana Dashboard**: [View Dashboard](https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-app=jonathan-demo-test)
- **Prometheus Metrics**: Exposed at `/metrics`.
- **Health Check**: Available at `/health`.
## Dependencies
- `resource:default/cjot-aks`
## Links
- [Humanitec Console](https://console.humanitec.dev/orgs/skillful-wild-chicken-2617/projects/jonathan-demo-test)
- [Source Repository](https://gitea.kyndemo.live/validate/jonathan-demo-test)
- [CI/CD Pipelines](https://gitea.kyndemo.live/validate/jonathan-demo-test/actions)
- [Grafana Dashboard](https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-app=jonathan-demo-test)

View File

@@ -0,0 +1,14 @@
{
"sourceShas": {
"catalog-info.yaml": "a15a62d963f9ce66c97cd35ff843962e97703365",
".platform/initialized.md": "4ca92e278c24ecdedf3bfe89fa1d39895804be47",
"README.md": "ef9b745ac26efecf8340b75eea18b8151ba7a86e",
"docs/api.md": "cc63aaf27912c2026b3eb84de065a89bbccddf8a",
"docs/architecture.md": "6f07e39a58eaa637b126f6178911d7185d8ab9f1",
"docs/index.md": "8b366d773ec0afdf355d27003c7345cd52a05cd6",
"docs/migration-plan.md": "591b5e3bb85eb78e64ee4ac7cbedd6c7e3d4524a"
},
"promptVersion": "1.0",
"generatedAt": "2026-06-08T16:18:24+00:00",
"contentHash": "0aaf787891a78e73764b601105c9eb8171feecd78bc6a8b0d156e1cb524fc668"
}