5.1 KiB
title, generated_by, generated_at, human_edited, source_entity, source_repo
| title | generated_by | generated_at | human_edited | source_entity | source_repo |
|---|---|---|---|---|---|
| Petclinic Argo Documentation | documentor-agent | 2026-06-08T16:22:39+00:00 | false | Component/default/petclinic-argo-doc | 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 |
| Branch | main |
| ArgoCD App | 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 and customized for deployment.
- Continuous Delivery: ArgoCD monitors the
mainbranch 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
frontendservice. - 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
- Clone the repository:
git clone https://gitea.kyndemo.live/validate/petclinic-argo-doc.git cd petclinic-argo-doc - Make changes and push:
git add . && git commit -m "your change" && git push origin main - ArgoCD will automatically sync changes to the
demo-appsnamespace.
Rollback
- Open the ArgoCD UI.
- Click History and Rollback.
- 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
- 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-serviceresource:default/k6-operatorresource:default/otel-collectorresource:default/veterinary-platform