docs: generate README for component/default/petclinic-demo-andrej4 [documentor-agent]
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
|
||||
|
||||
@@ -24,25 +24,25 @@ This service is part of the broader **petclinic-demo-andrej4** system, which inc
|
||||
|
||||
## 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'`). |
|
||||
|--------------------------|----------------------------------------------------------------------------------------------|
|
||||
| `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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user