Files

4.9 KiB

title, generated_by, generated_at, human_edited, source_entity, source_repo
title generated_by generated_at human_edited source_entity source_repo
Petclinic Demo Application documentor-agent 2026-05-28T09:07:15+00:00 false Component/default/petclinic-demo-andrej4 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
Branch main
ArgoCD App 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:
    git clone https://gitea.kyndemo.live/validate/petclinic-demo-andrej4.git
    cd petclinic-demo-andrej4
    
  2. Push changes to the main branch:
    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.
  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
  • 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