Compare commits
1 Commits
0b11e4cacc
...
documentor
| Author | SHA1 | Date | |
|---|---|---|---|
| 1af6f3114d |
@@ -1,106 +0,0 @@
|
||||
---
|
||||
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)
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
@@ -1,60 +1,57 @@
|
||||
---
|
||||
title: "Petclinic Service"
|
||||
generated_by: documentor-agent
|
||||
generated_at: "2026-06-08T16:14:03+00:00"
|
||||
generated_at: "2026-05-13T10:51:17+00:00"
|
||||
human_edited: false
|
||||
source_entity: "Component/default/petclinic"
|
||||
source_repo: "https://gitea.kyndemo.live/validate/petclinic"
|
||||
source_repo: "https://gitea.kyndemo.live/validate/petclinic-demo-andrej2"
|
||||
---
|
||||
|
||||
# Petclinic Service
|
||||
|
||||
> A Spring Boot application for managing veterinary clinics, including scheduling, customer management, and pet records.
|
||||
|
||||
## Overview
|
||||
|
||||
The Petclinic service is a Spring Boot application designed to manage veterinary clinic operations, including scheduling appointments, managing pet records, and handling customer information. It serves as a foundational component of the broader Petclinic system, providing essential functionality for veterinary platforms.
|
||||
The Petclinic service is a Spring Boot application designed to manage veterinary clinic operations. It provides features such as scheduling appointments, managing customer and pet records, and viewing clinic information. Originally developed as a sample application by the Spring community, this service has been adapted and deployed using Backstage templates for enhanced observability and deployment automation.
|
||||
|
||||
This service is built using Java 17 and leverages Spring Boot for rapid development and deployment. It supports multiple database configurations, including in-memory H2, MySQL, and PostgreSQL, making it adaptable to various environments. Observability is integrated via OpenTelemetry, enabling detailed monitoring and performance analysis.
|
||||
|
||||
Petclinic plays a critical role in the system by ensuring reliable and scalable management of veterinary clinic data, while also serving as a demonstration of modern application development practices.
|
||||
The application supports multiple database configurations, including in-memory H2, MySQL, and PostgreSQL, and can be run locally or deployed in containerized environments. It is instrumented with OpenTelemetry for comprehensive observability and integrates with Grafana for monitoring and alerting.
|
||||
|
||||
## Repository
|
||||
|
||||
| Field | Value |
|
||||
|----------------|-----------------------------------------------------------------------------------------------------------------|
|
||||
| **Source Repo**| [Petclinic Repository](https://gitea.kyndemo.live/validate/petclinic) |
|
||||
| **Branch** | `main` |
|
||||
| **ArgoCD App** | [petclinic](https://argocd.kyndemo.live/applications/petclinic) |
|
||||
| **Namespace** | `demo-apps` |
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Source Repo | [Petclinic Repository](https://gitea.kyndemo.live/validate/petclinic-demo-andrej2) |
|
||||
| Branch | main |
|
||||
| ArgoCD App | petclinic-demo-andrej2 |
|
||||
| Namespace | demo-apps |
|
||||
|
||||
## Architecture
|
||||
|
||||
The Petclinic service is a Spring Boot application deployed via ArgoCD in the `demo-apps` namespace. It integrates OpenTelemetry for observability and supports multiple database configurations, including H2, MySQL, and PostgreSQL. The deployment process involves continuous synchronization from the `main` branch of the source repository.
|
||||
|
||||
Key architectural components:
|
||||
- **Spring Boot Framework**: Provides the core application structure and dependency management.
|
||||
- **Database Configurations**: Supports H2 (default), MySQL, and PostgreSQL, with profiles for switching between them.
|
||||
- **OpenTelemetry Integration**: Enables tracing, metrics, and logging for detailed observability.
|
||||
- **ArgoCD Deployment**: Ensures continuous delivery and synchronization of application updates.
|
||||
|
||||
<!-- TODO: FILL IN -->
|
||||
- The service is scaffolded using the Backstage Application Migration Factory template.
|
||||
- Deployment is managed via ArgoCD, which continuously syncs the `main` branch to the `demo-apps` namespace.
|
||||
- OpenTelemetry auto-instrumentation is applied via Kustomize overlays, enabling detailed traces, metrics, and logs.
|
||||
- The application supports multiple database configurations, including H2 (default), MySQL, and PostgreSQL, with profiles for each database type.
|
||||
- Observability is integrated with Grafana, providing dashboards and alerts for monitoring service health and performance.
|
||||
|
||||
## Configuration
|
||||
|
||||
| Configuration Option | Description |
|
||||
|-------------------------------|-------------------------------------------------------------------------------------------------|
|
||||
| `spring.profiles.active` | Sets the active profile for database configuration (`mysql`, `postgres`, or default `h2`). |
|
||||
| `MYSQL_USER` | MySQL username for database authentication. |
|
||||
| `MYSQL_PASSWORD` | MySQL password for database authentication. |
|
||||
| `POSTGRES_USER` | PostgreSQL username for database authentication. |
|
||||
| `POSTGRES_PASSWORD` | PostgreSQL password for database authentication. |
|
||||
| Configuration | Description |
|
||||
|---|---|
|
||||
| `spring.profiles.active` | Sets the active Spring profile (`mysql`, `postgres`, or default `h2`). |
|
||||
| Database URLs | `jdbc:h2:mem:<uuid>` for H2, or Docker-based MySQL/PostgreSQL configurations. |
|
||||
| OpenTelemetry Endpoint | `http://otel-collector.monitoring.svc.cluster.local:4318` |
|
||||
|
||||
## Operations
|
||||
|
||||
### Running Locally
|
||||
### Local Development
|
||||
|
||||
1. Clone the repository:
|
||||
```bash
|
||||
git clone https://gitea.kyndemo.live/validate/petclinic.git
|
||||
cd petclinic
|
||||
git clone https://gitea.kyndemo.live/validate/petclinic-demo-andrej2.git
|
||||
cd petclinic-demo-andrej2
|
||||
```
|
||||
2. Start the application:
|
||||
2. Run the application:
|
||||
- Using Maven:
|
||||
```bash
|
||||
./mvnw spring-boot:run
|
||||
@@ -65,42 +62,29 @@ Key architectural components:
|
||||
```
|
||||
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
|
||||
```
|
||||
### Deployment
|
||||
|
||||
Changes pushed to the `main` branch are automatically synced to the `demo-apps` namespace by ArgoCD. To roll back, use the ArgoCD UI or revert the commit in Git.
|
||||
|
||||
### Database Setup
|
||||
|
||||
- Default: In-memory H2 database.
|
||||
- Persistent options: MySQL or PostgreSQL, with Docker or `docker-compose` configurations.
|
||||
|
||||
### Rollback
|
||||
1. Open the [ArgoCD UI](https://argocd.kyndemo.live/applications/petclinic).
|
||||
2. Click **History and Rollback**.
|
||||
3. Select the desired revision and click **Rollback**.
|
||||
|
||||
Alternatively, revert the commit in Git and push — ArgoCD will auto-sync the rollback.
|
||||
1. Open the [ArgoCD UI](https://argocd.kyndemo.live/applications/petclinic-demo-andrej2).
|
||||
2. Select **History and Rollback**.
|
||||
3. Choose the desired revision and click **Rollback**.
|
||||
|
||||
## Observability
|
||||
|
||||
This service is configured with OpenTelemetry instrumentation. Metrics, traces, and logs are exported to the OTel Collector and visualized in Grafana.
|
||||
|
||||
- **Grafana Dashboard**: [Petclinic Observability](https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-service=petclinic)
|
||||
- **Alerting**: Alerts are configured via Grafana and can be filtered by `app=petclinic`.
|
||||
|
||||
_Additional observability details are available in the platform observability documentation._
|
||||
- **Grafana Dashboard**: [View Dashboard](https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-service=petclinic)
|
||||
- **Alerts**: Configured via Grafana, filter by `app=petclinic`.
|
||||
- OpenTelemetry instrumentation is enabled for traces, metrics, and logs.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- `component:default/argocd-service`
|
||||
- `resource:default/k6-operator`
|
||||
- `resource:default/otel-collector`
|
||||
- `resource:default/veterinary-platform`
|
||||
|
||||
## Links
|
||||
|
||||
- [Live Application](https://petclinic.kyndemo.live)
|
||||
- [Repository](https://gitea.kyndemo.live/validate/petclinic)
|
||||
- [ArgoCD App](https://argocd.kyndemo.live/applications/petclinic)
|
||||
- [Grafana Dashboard](https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-service=petclinic)
|
||||
@@ -1,16 +1,16 @@
|
||||
---
|
||||
title: "Platform"
|
||||
generated_by: documentor-agent
|
||||
generated_at: "2026-05-28T12:04:59+00:00"
|
||||
generated_at: "2026-05-28T11:47:34+00:00"
|
||||
human_edited: false
|
||||
source_entity: "Domain/default/platform"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
The Platform domain encompasses platform engineering capabilities and tooling. It serves as the foundation for enabling teams to build, deploy, and manage applications efficiently. This domain focuses on providing shared services, infrastructure, and tools that streamline development workflows and enhance operational reliability.
|
||||
The Platform domain encompasses platform engineering capabilities and tooling. It serves as the foundation for enabling efficient development, deployment, and operation of software systems across the organization. This domain focuses on providing shared services, frameworks, and tools that streamline workflows and enhance developer productivity.
|
||||
|
||||
By centralizing platform engineering efforts, this domain ensures consistency, scalability, and alignment across various systems and teams. It is a critical component for driving innovation and maintaining high standards in software delivery.
|
||||
By centralizing platform engineering efforts, the Platform domain ensures consistency, scalability, and reliability across various systems. It supports the organization's technical infrastructure and empowers teams to deliver high-quality solutions faster.
|
||||
|
||||
## Ownership
|
||||
|
||||
|
||||
Reference in New Issue
Block a user