--- title: "Petclinic Demo Application" generated_by: documentor-agent 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" --- ## Overview 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 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 | Property | Value | |----------------|---------------------------------------------------------------------------------------------------------| | **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` | ## Architecture The Petclinic Demo Application is built on the Spring Boot framework and deployed as a containerized service in Kubernetes. Key architectural components include: - **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 from user interactions to backend services, with observability tools providing insights into performance and reliability. ## Configuration | 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 ### Deployment 1. Clone the repository: ```bash git clone https://gitea.kyndemo.live/validate/petclinic-demo-andrej4.git cd petclinic-demo-andrej4 ``` 2. Push changes to the `main` branch: ```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-demo-andrej4). 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 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**: Configured via Grafana with label selector `app.kubernetes.io/instance=petclinic-demo-andrej4`. _Not configured — see platform observability docs for additional details._ ## Dependencies - `component:default/argocd-service` - `resource:default/k6-operator` - `resource:default/otel-collector` ## Links - [Live Application](https://petclinic-demo-andrej4.kyndemo.live) - [Repository](https://gitea.kyndemo.live/validate/petclinic-demo-andrej4) - [ArgoCD App](https://argocd.kyndemo.live/applications/petclinic-demo-andrej4) - [Grafana Dashboard](https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-app=petclinic-demo-andrej4)