docs: generate README for component/default/petclinic-demo-andrej4 [documentor-agent]

This commit is contained in:
2026-05-28 09:07:28 +00:00
parent 4aa5c46eee
commit 16e8a8cd36

View File

@@ -1,7 +1,7 @@
--- ---
title: "Petclinic Demo Application" title: "Petclinic Demo Application"
generated_by: documentor-agent 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 human_edited: false
source_entity: "Component/default/petclinic-demo-andrej4" source_entity: "Component/default/petclinic-demo-andrej4"
source_repo: "https://gitea.kyndemo.live/validate/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 ## 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 ## 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) | | **Source Repo**| [Petclinic Demo Repository](https://gitea.kyndemo.live/validate/petclinic-demo-andrej4) |
| **Branch** | `main` | | **Branch** | `main` |
| **ArgoCD App** | [petclinic-demo-andrej4](https://argocd.kyndemo.live/applications/petclinic-demo-andrej4) | | **ArgoCD App** | [petclinic-demo-andrej4](https://argocd.kyndemo.live/applications/petclinic-demo-andrej4) |
| **Namespace** | `demo-apps` | | **Namespace** | `demo-apps` |
## Architecture ## 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. - **Spring Boot Application**: The core service, providing RESTful APIs and a web interface.
- **Deployment**: Managed by ArgoCD, which continuously syncs the application from the `main` branch to the `demo-apps` namespace. - **Database**: Configurable to use H2 (in-memory), MySQL, or PostgreSQL, depending on the active profile.
- **Observability**: OpenTelemetry instrumentation is integrated, exporting traces, metrics, and logs to a centralized OTel Collector. - **OpenTelemetry Integration**: Auto-instrumentation for tracing, metrics, and logs, exported to an OTel Collector.
- **Load Testing**: K6 is enabled for performance testing, targeting the frontend service. - **ArgoCD**: Continuous deployment and synchronization from the `main` branch.
- **Chaos Engineering**: Chaos Mesh is configured to simulate failure scenarios and validate system resilience. - **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
| Configuration Item | Description | | Configuration Item | Description |
|-----------------------------|---------------------------------------------------------------------------------------------| |--------------------------|----------------------------------------------------------------------------------------------|
| `spring.profiles.active` | Specifies the active Spring profile (`mysql`, `postgres`, or default `h2`). | | `spring.profiles.active` | Sets the active profile (`default`, `mysql`, `postgres`). |
| `k6/test-configmap` | ConfigMap for K6 load testing (`k6-test-petclinic-demo-andrej4`). | | `OTel Collector URL` | `http://otel-collector.monitoring.svc.cluster.local:4318` |
| `k6/test-namespace` | Namespace for K6 tests (`demo-apps`). | | `Database URL` | Configurable for H2, MySQL, or PostgreSQL. |
| `chaos-mesh/enabled` | Enables Chaos Mesh for chaos engineering (`true`). | | `K6 ConfigMap` | `k6-test-petclinic-demo-andrej4` |
| `grafana/dashboard-selector` | Selector for Grafana dashboards (`uid == 'otel-app-observability-v2'`). |
## Operations ## 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. 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) - **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 ## Dependencies