4 Commits

3 changed files with 37 additions and 48 deletions

View File

@@ -1,7 +1,7 @@
--- ---
title: "Petclinic Demo Application" title: "Petclinic Demo Application"
generated_by: documentor-agent generated_by: documentor-agent
generated_at: "2026-05-28T08:57:53+00:00" generated_at: "2026-05-28T09:07:15+00:00"
human_edited: false human_edited: false
source_entity: "Component/default/petclinic-demo-andrej4" source_entity: "Component/default/petclinic-demo-andrej4"
source_repo: "https://gitea.kyndemo.live/validate/petclinic-demo-andrej4" source_repo: "https://gitea.kyndemo.live/validate/petclinic-demo-andrej4"
@@ -9,9 +9,9 @@ source_repo: "https://gitea.kyndemo.live/validate/petclinic-demo-andrej4"
## Overview ## Overview
The **Petclinic Demo Application** is a deployment of the Spring PetClinic sample application, tailored for demonstration purposes. It showcases a modern microservice architecture with observability, load testing, and chaos engineering capabilities integrated. The application is deployed via ArgoCD into the `demo-apps` namespace and includes OpenTelemetry instrumentation for comprehensive monitoring. 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 is part of the broader **petclinic-demo-andrej4** system, which includes additional components such as a database service and supporting infrastructure. It serves as a reference implementation for Java-based applications using Spring Boot, demonstrating best practices in CI/CD, containerization, and runtime observability. 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 ## Repository
@@ -24,25 +24,25 @@ This service is part of the broader **petclinic-demo-andrej4** system, which inc
## Architecture ## Architecture
The Petclinic Demo Application is built on the Spring Boot framework and deployed as a containerized service. Key architectural elements include: The Petclinic Demo Application is built on the Spring Boot framework and deployed as a containerized service in Kubernetes. Key architectural components include:
- **Source Code**: Derived from the Spring PetClinic repository, with additional overlays for observability and deployment. - **Spring Boot Application**: The core service, providing RESTful APIs and a web interface.
- **Deployment**: Managed by ArgoCD, which continuously syncs the application from the `main` branch to the `demo-apps` namespace. - **Database**: Configurable to use H2 (in-memory), MySQL, or PostgreSQL, depending on the active profile.
- **Observability**: OpenTelemetry instrumentation is integrated, exporting traces, metrics, and logs to a centralized OTel Collector. - **OpenTelemetry Integration**: Auto-instrumentation for tracing, metrics, and logs, exported to an OTel Collector.
- **Load Testing**: K6 is enabled for performance testing, targeting the frontend service. - **ArgoCD**: Continuous deployment and synchronization from the `main` branch.
- **Chaos Engineering**: Chaos Mesh is configured to simulate failure scenarios and validate system resilience. - **K6 Load Testing**: Configured for performance testing.
- **Chaos Mesh**: Enabled for chaos engineering experiments.
Data flows through the application, starting from user interactions with the frontend, which communicates with backend services and the database. Observability data is collected and visualized in Grafana. Data flows through the application from user interactions to backend services, with observability tools providing insights into performance and reliability.
## Configuration ## Configuration
| Configuration Item | Description | | Configuration Item | Description |
|-----------------------------|---------------------------------------------------------------------------------------------| |--------------------------|----------------------------------------------------------------------------------------------|
| `spring.profiles.active` | Specifies the active Spring profile (`mysql`, `postgres`, or default `h2`). | | `spring.profiles.active` | Sets the active profile (`default`, `mysql`, `postgres`). |
| `k6/test-configmap` | ConfigMap for K6 load testing (`k6-test-petclinic-demo-andrej4`). | | `OTel Collector URL` | `http://otel-collector.monitoring.svc.cluster.local:4318` |
| `k6/test-namespace` | Namespace for K6 tests (`demo-apps`). | | `Database URL` | Configurable for H2, MySQL, or PostgreSQL. |
| `chaos-mesh/enabled` | Enables Chaos Mesh for chaos engineering (`true`). | | `K6 ConfigMap` | `k6-test-petclinic-demo-andrej4` |
| `grafana/dashboard-selector` | Selector for Grafana dashboards (`uid == 'otel-app-observability-v2'`). |
## Operations ## Operations
@@ -72,9 +72,9 @@ Alternatively, revert the commit in Git and push — ArgoCD will auto-sync the r
This service is fully instrumented with OpenTelemetry. Observability data is visualized in Grafana. 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) - **Grafana Dashboard**: [View Dashboard](https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-app=petclinic-demo-andrej4)
- **Alerting**: Alerts are configured in Grafana and can be filtered by `app=petclinic-demo-andrej4`. - **Alerting**: Configured via Grafana with label selector `app.kubernetes.io/instance=petclinic-demo-andrej4`.
_Additional observability details can be found in the platform observability documentation._ _Not configured — see platform observability docs for additional details._
## Dependencies ## Dependencies

View File

@@ -1,12 +1,12 @@
{ {
"sourceShas": { "sourceShas": {
"catalog-info.yaml": "121ae078a40242c8867766c77dbba85df41644e2", "catalog-info.yaml": "7f8e08e4d71a45033f49d9190e35fd08ebbb7645",
"README.md": "ef9b745ac26efecf8340b75eea18b8151ba7a86e", "README.md": "ef9b745ac26efecf8340b75eea18b8151ba7a86e",
"docs/adr/index.md": "b9a0b93743cf579be35101bbc63b29356be2849f", "docs/adr/index.md": "b9a0b93743cf579be35101bbc63b29356be2849f",
"docs/index.md": "f7bef9b17f650992e3a89fbecf37eb0ea948b8e0", "docs/index.md": "f7bef9b17f650992e3a89fbecf37eb0ea948b8e0",
"docs/runbooks/index.md": "f9796c4d1a113b786df89cd74dee0f50d98d6025" "docs/runbooks/index.md": "f9796c4d1a113b786df89cd74dee0f50d98d6025"
}, },
"promptVersion": "1.0", "promptVersion": "1.0",
"generatedAt": "2026-05-28T08:58:10+00:00", "generatedAt": "2026-05-28T09:07:25+00:00",
"contentHash": "e6697a59127330572c94105b9a24a23737abdaabe06b2b6b6b5cd811d6176023" "contentHash": "625799bc84a8ff7004d26604e1d76286e95b9a3617abf6c014146a04202ff719"
} }

View File

@@ -1,44 +1,33 @@
```markdown
--- ---
title: "Platform" title: "Platform"
generated_by: documentor-agent generated_by: documentor-agent
generated_at: "2026-05-05T10:06:41+00:00" generated_at: "2026-05-28T11:56:08+00:00"
human_edited: false human_edited: false
source_entity: "Domain/default/platform" source_entity: "Domain/default/platform"
--- ---
# Platform
> Platform domain for platform engineering capabilities and tooling.
## Overview ## Overview
The Platform domain serves as the central hub for platform engineering capabilities and tooling within the organization. It encompasses systems and tools that enable efficient development, deployment, and management of software across the organization. This domain is designed to provide foundational services and frameworks that support the broader engineering ecosystem. The Platform domain encompasses platform engineering capabilities and tooling. It serves as the foundation for enabling teams to build, deploy, and manage applications efficiently. This domain focuses on providing shared services, infrastructure, and tools that streamline development workflows and enhance operational reliability.
The systems within this domain are critical for ensuring scalability, reliability, and developer productivity. By consolidating platform-related resources and expertise, the Platform domain helps streamline operations and fosters innovation. By centralizing platform engineering efforts, this domain supports scalability, consistency, and innovation across the organization. It includes systems and tools that empower developers and operational teams to focus on delivering business value while reducing the complexity of managing underlying infrastructure.
## Ownership ## Ownership
| Field | Value | | Owner | Namespace | Labels |
|---|---| |--------------------------------|-----------|--------|
| Owner | group:default/platform-engineering | | group:default/platform-engineering | default | — |
| Namespace | default |
| Labels | — | ## Systems
- `system:default/agentic-agents`
- `system:default/cjot-backstage`
- `system:default/platform-engineering`
## Relationships ## Relationships
The Platform domain includes the following systems: <!-- TODO: FILL IN -->
- **Agentic Agents** (`system:default/agentic-agents`)
- **CJOT Backstage** (`system:default/cjot-backstage`)
- **Petclinic Demo Jonathan Scaf 2** (`system:default/petclinic-demo-jonathan-scaf-2`)
- **Platform Engineering** (`system:default/platform-engineering`)
## Links ## Links
_No links configured._ _No links configured._
## Notes
Platform domain for platform engineering capabilities and tooling.
```