title, generated_by, generated_at, human_edited, source_entity, source_repo
| title | generated_by | generated_at | human_edited | source_entity | source_repo |
|---|---|---|---|---|---|
| Petclinic Demo Jonathan Scaf 2 | documentor-agent | 2026-05-05T11:02:41+00:00 | false | Component/default/petclinic-demo-jonathan-scaf-2 | https://gitea.kyndemo.live/validate/petclinic-demo-jonathan-scaf-2 |
Petclinic Demo Jonathan Scaf 2
A Spring Boot–based veterinary clinic application deployed via ArgoCD into the demo-apps namespace.
Overview
Petclinic Demo Jonathan Scaf 2 is a deployment of the Spring PetClinic application, a sample project showcasing Spring Boot capabilities. This service provides a web-based interface for managing veterinary clinic operations, including scheduling appointments, managing pet records, and tracking visits. It is designed to demonstrate modern application deployment practices, including GitOps workflows, OpenTelemetry instrumentation, and integration with Kubernetes.
The application is scaffolded using the Backstage Application Migration Factory template, which overlays CI/CD workflows and observability configurations. It is continuously deployed via ArgoCD, ensuring that changes pushed to the repository are automatically synced to the Kubernetes cluster.
Repository
| Field | Value |
|---|---|
| Source Repo | Petclinic Demo Jonathan Scaf 2 |
| Branch | main |
| ArgoCD App | petclinic-demo-jonathan-scaf-2 |
| Namespace | demo-apps |
Architecture
- The application is based on the Spring PetClinic project, cloned from
https://github.com/spring-projects/spring-petclinic. - OpenTelemetry auto-instrumentation is applied via Kustomize overlays, enabling detailed observability for traces, metrics, and logs.
- ArgoCD manages the deployment, continuously syncing changes from the
mainbranch to thedemo-appsnamespace. - The deployment flow includes CI workflows, Kubernetes manifests, and observability configurations integrated into the repository.
Configuration
| Configuration | Description |
|---|---|
spring.profiles.active |
Specifies the active Spring profile (mysql, postgres, or default h2). |
| Database URLs | jdbc:h2:mem:<uuid> for H2, or Docker-based MySQL/PostgreSQL configurations. |
| OpenTelemetry Endpoint | http://otel-collector.monitoring.svc.cluster.local:4318 |
Operations
-
Development Workflow:
git clone https://gitea.kyndemo.live/validate/petclinic-demo-jonathan-scaf-2.git cd petclinic-demo-jonathan-scaf-2 # make changes, then: git add . && git commit -m "your change" && git push origin mainArgoCD automatically syncs 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
- Grafana Dashboard: OpenTelemetry Application Observability
- Alerting: Configured via Grafana with label selector
app.kubernetes.io/instance=petclinic-demo-jonathan-scaf-2.
Dependencies
component:default/argocd-serviceresource:default/k6-operatorresource:default/otel-collectorresource:default/veterinary-platform