docs: generate README for component/default/petclinic-argo-doc [documentor-agent]

This commit is contained in:
2026-06-08 16:23:38 +00:00
parent c4d2e340da
commit dbb5e324a9

View File

@@ -0,0 +1,92 @@
---
title: "Petclinic Argo Documentation"
generated_by: documentor-agent
generated_at: "2026-06-08T16:22:39+00:00"
human_edited: false
source_entity: "Component/default/petclinic-argo-doc"
source_repo: "https://gitea.kyndemo.live/validate/petclinic-argo-doc"
---
## Overview
The **Petclinic Argo Documentation** service is a deployment of the Spring PetClinic application, managed via ArgoCD and deployed into the `demo-apps` namespace. It serves as a demonstration of modern application deployment practices, including continuous delivery, observability, and chaos engineering. The service integrates OpenTelemetry for tracing and metrics, supports load testing with k6, and enables chaos experiments using Chaos Mesh.
This service is part of the broader **petclinic-argo-doc** system, showcasing how legacy applications can be modernized and deployed using cloud-native tools. It is designed to provide a reference implementation for teams adopting ArgoCD and OpenTelemetry in their workflows.
## Repository
| Field | Value |
|------------------|------------------------------------------------------------------------------------------------|
| **Source Repo** | [Petclinic Argo Documentation](https://gitea.kyndemo.live/validate/petclinic-argo-doc) |
| **Branch** | `main` |
| **ArgoCD App** | [petclinic-argo-doc](https://argocd.kyndemo.live/applications/petclinic-argo-doc) |
| **Namespace** | `demo-apps` |
## Architecture
The **Petclinic Argo Documentation** service is built on the Spring Boot framework and deployed using ArgoCD. Key architectural components include:
- **Source Repository**: The application is cloned from the [Spring PetClinic GitHub repository](https://github.com/spring-projects/spring-petclinic) and customized for deployment.
- **Continuous Delivery**: ArgoCD monitors the `main` branch for changes and automatically syncs updates to the Kubernetes cluster.
- **Observability**: OpenTelemetry instrumentation is applied via Kustomize overlays, exporting traces and metrics to a centralized OTel Collector.
- **Load Testing**: k6 is configured for performance testing, targeting the `frontend` service.
- **Chaos Engineering**: Chaos Mesh is enabled to simulate failure scenarios and improve system resilience.
Data flows through the application using an in-memory H2 database by default, with options for MySQL or PostgreSQL for persistent storage.
## Configuration
| Configuration Item | Description |
|-----------------------------|-----------------------------------------------------------------------------|
| `spring.profiles.active` | Sets the active profile (`mysql`, `postgres`, or default `h2`). |
| `k6/test-configmap` | ConfigMap for k6 load testing (`k6-test-petclinic-argo-doc`). |
| `k6/test-namespace` | Namespace for k6 tests (`demo-apps`). |
| `chaos-mesh/enabled` | Enables Chaos Mesh for chaos experiments (`true`). |
| `grafana/dashboard-selector` | Selector for Grafana dashboards (`uid == 'otel-app-observability-v2'`). |
## Operations
### Deployment
1. Clone the repository:
```bash
git clone https://gitea.kyndemo.live/validate/petclinic-argo-doc.git
cd petclinic-argo-doc
```
2. Make changes and push:
```bash
git add . && git commit -m "your change" && git push origin main
```
3. ArgoCD will automatically sync changes to the `demo-apps` namespace.
### Rollback
1. Open the [ArgoCD UI](https://argocd.kyndemo.live/applications/petclinic-argo-doc).
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.
## Observability
This service is fully instrumented with OpenTelemetry. Observability features include:
- **Grafana Dashboard**: [View Dashboard](https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-app=petclinic-argo-doc)
- **Alerting**: Alerts are configured in Grafana and can be filtered by `app=petclinic-argo-doc`.
- **OTel Collector Endpoint**: `http://otel-collector.monitoring.svc.cluster.local:4318`
_Additional observability details can be found in the platform observability documentation._
## Dependencies
- `component:default/argocd-service`
- `resource:default/k6-operator`
- `resource:default/otel-collector`
- `resource:default/veterinary-platform`
## Links
- [Live Application](https://petclinic-argo-doc.kyndemo.live)
- [Repository](https://gitea.kyndemo.live/validate/petclinic-argo-doc)
- [ArgoCD App](https://argocd.kyndemo.live/applications/petclinic-argo-doc)
- [Grafana Dashboard](https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-app=petclinic-argo-doc)