Merge pull request 'docs: documentation for validate/petclinic-demo-andrej4' (#24) from documentor-validate-petclinic-demo-andrej4-f899299f into main
This commit was merged in pull request #24.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: "Petclinic Demo Application"
|
||||
generated_by: documentor-agent
|
||||
generated_at: "2026-05-28T08:57:53+00:00"
|
||||
generated_at: "2026-05-28T09:07:15+00:00"
|
||||
human_edited: false
|
||||
source_entity: "Component/default/petclinic-demo-andrej4"
|
||||
source_repo: "https://gitea.kyndemo.live/validate/petclinic-demo-andrej4"
|
||||
@@ -9,9 +9,9 @@ source_repo: "https://gitea.kyndemo.live/validate/petclinic-demo-andrej4"
|
||||
|
||||
## Overview
|
||||
|
||||
The **Petclinic Demo Application** is a deployment of the Spring PetClinic sample application, tailored for demonstration purposes. It showcases a modern microservice architecture with observability, load testing, and chaos engineering capabilities integrated. The application is deployed via ArgoCD into the `demo-apps` namespace and includes OpenTelemetry instrumentation for comprehensive monitoring.
|
||||
The **Petclinic Demo Application** is a deployment of the Spring PetClinic sample application, tailored for demonstration purposes. It showcases a modern Java-based microservice architecture, leveraging Spring Boot for rapid development and deployment. The application is deployed via ArgoCD into the `demo-apps` namespace and includes integrations for observability, load testing, and chaos engineering.
|
||||
|
||||
This service is part of the broader **petclinic-demo-andrej4** system, which includes additional components such as a database service and supporting infrastructure. It serves as a reference implementation for Java-based applications using Spring Boot, demonstrating best practices in CI/CD, containerization, and runtime observability.
|
||||
This service plays a critical role in demonstrating best practices for application lifecycle management, including CI/CD workflows, OpenTelemetry instrumentation, and Kubernetes-based deployments. It serves as a reference implementation for teams adopting similar technologies and workflows.
|
||||
|
||||
## Repository
|
||||
|
||||
@@ -20,29 +20,29 @@ This service is part of the broader **petclinic-demo-andrej4** system, which inc
|
||||
| **Source Repo**| [Petclinic Demo Repository](https://gitea.kyndemo.live/validate/petclinic-demo-andrej4) |
|
||||
| **Branch** | `main` |
|
||||
| **ArgoCD App** | [petclinic-demo-andrej4](https://argocd.kyndemo.live/applications/petclinic-demo-andrej4) |
|
||||
| **Namespace** | `demo-apps` |
|
||||
| **Namespace** | `demo-apps` |
|
||||
|
||||
## Architecture
|
||||
|
||||
The Petclinic Demo Application is built on the Spring Boot framework and deployed as a containerized service. Key architectural elements include:
|
||||
The Petclinic Demo Application is built on the Spring Boot framework and deployed as a containerized service in Kubernetes. Key architectural components include:
|
||||
|
||||
- **Source Code**: Derived from the Spring PetClinic repository, with additional overlays for observability and deployment.
|
||||
- **Deployment**: Managed by ArgoCD, which continuously syncs the application from the `main` branch to the `demo-apps` namespace.
|
||||
- **Observability**: OpenTelemetry instrumentation is integrated, exporting traces, metrics, and logs to a centralized OTel Collector.
|
||||
- **Load Testing**: K6 is enabled for performance testing, targeting the frontend service.
|
||||
- **Chaos Engineering**: Chaos Mesh is configured to simulate failure scenarios and validate system resilience.
|
||||
- **Spring Boot Application**: The core service, providing RESTful APIs and a web interface.
|
||||
- **Database**: Configurable to use H2 (in-memory), MySQL, or PostgreSQL, depending on the active profile.
|
||||
- **OpenTelemetry Integration**: Auto-instrumentation for tracing, metrics, and logs, exported to an OTel Collector.
|
||||
- **ArgoCD**: Continuous deployment and synchronization from the `main` branch.
|
||||
- **K6 Load Testing**: Configured for performance testing.
|
||||
- **Chaos Mesh**: Enabled for chaos engineering experiments.
|
||||
|
||||
Data flows through the application, starting from user interactions with the frontend, which communicates with backend services and the database. Observability data is collected and visualized in Grafana.
|
||||
Data flows through the application from user interactions to backend services, with observability tools providing insights into performance and reliability.
|
||||
|
||||
## Configuration
|
||||
|
||||
| Configuration Item | Description |
|
||||
|-----------------------------|---------------------------------------------------------------------------------------------|
|
||||
| `spring.profiles.active` | Specifies the active Spring profile (`mysql`, `postgres`, or default `h2`). |
|
||||
| `k6/test-configmap` | ConfigMap for K6 load testing (`k6-test-petclinic-demo-andrej4`). |
|
||||
| `k6/test-namespace` | Namespace for K6 tests (`demo-apps`). |
|
||||
| `chaos-mesh/enabled` | Enables Chaos Mesh for chaos engineering (`true`). |
|
||||
| `grafana/dashboard-selector` | Selector for Grafana dashboards (`uid == 'otel-app-observability-v2'`). |
|
||||
| Configuration Item | Description |
|
||||
|--------------------------|----------------------------------------------------------------------------------------------|
|
||||
| `spring.profiles.active` | Sets the active profile (`default`, `mysql`, `postgres`). |
|
||||
| `OTel Collector URL` | `http://otel-collector.monitoring.svc.cluster.local:4318` |
|
||||
| `Database URL` | Configurable for H2, MySQL, or PostgreSQL. |
|
||||
| `K6 ConfigMap` | `k6-test-petclinic-demo-andrej4` |
|
||||
|
||||
## Operations
|
||||
|
||||
@@ -72,9 +72,9 @@ Alternatively, revert the commit in Git and push — ArgoCD will auto-sync the r
|
||||
This service is fully instrumented with OpenTelemetry. Observability data is visualized in Grafana.
|
||||
|
||||
- **Grafana Dashboard**: [View Dashboard](https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-app=petclinic-demo-andrej4)
|
||||
- **Alerting**: Alerts are configured in Grafana and can be filtered by `app=petclinic-demo-andrej4`.
|
||||
- **Alerting**: Configured via Grafana with label selector `app.kubernetes.io/instance=petclinic-demo-andrej4`.
|
||||
|
||||
_Additional observability details can be found in the platform observability documentation._
|
||||
_Not configured — see platform observability docs for additional details._
|
||||
|
||||
## Dependencies
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"sourceShas": {
|
||||
"catalog-info.yaml": "121ae078a40242c8867766c77dbba85df41644e2",
|
||||
"catalog-info.yaml": "7f8e08e4d71a45033f49d9190e35fd08ebbb7645",
|
||||
"README.md": "ef9b745ac26efecf8340b75eea18b8151ba7a86e",
|
||||
"docs/adr/index.md": "b9a0b93743cf579be35101bbc63b29356be2849f",
|
||||
"docs/index.md": "f7bef9b17f650992e3a89fbecf37eb0ea948b8e0",
|
||||
"docs/runbooks/index.md": "f9796c4d1a113b786df89cd74dee0f50d98d6025"
|
||||
},
|
||||
"promptVersion": "1.0",
|
||||
"generatedAt": "2026-05-28T08:58:10+00:00",
|
||||
"contentHash": "e6697a59127330572c94105b9a24a23737abdaabe06b2b6b6b5cd811d6176023"
|
||||
"generatedAt": "2026-05-28T09:07:25+00:00",
|
||||
"contentHash": "625799bc84a8ff7004d26604e1d76286e95b9a3617abf6c014146a04202ff719"
|
||||
}
|
||||
Reference in New Issue
Block a user