29 Commits

Author SHA1 Message Date
af69afd157 Merge pull request 'docs: documentation for platform/apps' (#29) from documentor-platform-apps-13b55983 into main 2026-06-08 16:26:02 +00:00
5cc8af2fcc docs: update _meta.json for system/default/kpc [documentor-agent] 2026-06-08 16:25:56 +00:00
67f18ef3ce docs: generate README for system/default/kpc [documentor-agent] 2026-06-08 16:25:55 +00:00
fdd2acc891 docs: update _meta.json for system/default/alex [documentor-agent] 2026-06-08 16:25:53 +00:00
3d4bc9c8a7 docs: generate README for system/default/alex [documentor-agent] 2026-06-08 16:25:52 +00:00
e992796f47 docs: update _meta.json for system/default/crucible [documentor-agent] 2026-06-08 16:25:49 +00:00
e8d0d0858a docs: generate README for system/default/crucible [documentor-agent] 2026-06-08 16:25:48 +00:00
240cf4bf7b docs: update _meta.json for resource/default/apps-aks [documentor-agent] 2026-06-08 16:25:46 +00:00
48252ebf69 docs: generate README for resource/default/apps-aks [documentor-agent] 2026-06-08 16:25:44 +00:00
b4d38af557 docs: update _meta.json for system/default/apps [documentor-agent] 2026-06-08 16:25:42 +00:00
3e01aa58d1 docs: generate README for system/default/apps [documentor-agent] 2026-06-08 16:25:41 +00:00
05d64f07a1 docs: update _meta.json for domain/default/apps [documentor-agent] 2026-06-08 16:25:38 +00:00
3559e1284c docs: generate README for domain/default/apps [documentor-agent] 2026-06-08 16:25:37 +00:00
883a9c6c04 Merge pull request 'docs: documentation for validate/petclinic-argo-doc' (#28) from documentor-validate-petclinic-argo-doc-ee3ddfc8 into main 2026-06-08 16:23:50 +00:00
ef3ed7a1b8 docs: update _meta.json for component/default/petclinic [documentor-agent] 2026-06-08 16:23:45 +00:00
1181890685 docs: generate README for component/default/petclinic [documentor-agent] 2026-06-08 16:23:44 +00:00
f519b44ed0 docs: update _meta.json for component/default/demo-db [documentor-agent] 2026-06-08 16:23:42 +00:00
57b41b6142 docs: generate README for component/default/demo-db [documentor-agent] 2026-06-08 16:23:41 +00:00
5c41a29851 docs: update _meta.json for component/default/petclinic-argo-doc [documentor-agent] 2026-06-08 16:23:39 +00:00
dbb5e324a9 docs: generate README for component/default/petclinic-argo-doc [documentor-agent] 2026-06-08 16:23:38 +00:00
c4d2e340da docs: update _meta.json for system/default/petclinic-argo-doc [documentor-agent] 2026-06-08 16:23:36 +00:00
b914c4b130 docs: generate README for system/default/petclinic-argo-doc [documentor-agent] 2026-06-08 16:23:34 +00:00
0b11e4cacc Merge pull request 'docs: documentation for validate/jonathan-demo-test' (#27) from documentor-validate-jonathan-demo-test-52ea9373 into main 2026-06-08 16:18:32 +00:00
997127ef80 docs: update _meta.json for component/default/jonathan-demo-test [documentor-agent] 2026-06-08 16:18:28 +00:00
91ebb45436 docs: generate README for component/default/jonathan-demo-test [documentor-agent] 2026-06-08 16:18:26 +00:00
c4f7a688fa Merge pull request 'docs: README for component/default/petclinic' (#26) from documentor-agent-component-default-petclinic-doc-e05529ca536b into main 2026-06-08 16:14:27 +00:00
392e33493c docs: generate README for component/default/petclinic [documentor-agent] 2026-06-08 16:14:23 +00:00
22a65439a2 Merge pull request 'docs: README for domain/default/platform' (#25) from documentor-agent-domain-default-platform-doc-2b79707c1bf6 into main 2026-05-28 12:05:16 +00:00
f6263a01a3 docs: generate README for domain/default/platform [documentor-agent] 2026-05-28 12:05:12 +00:00
23 changed files with 790 additions and 70 deletions

View File

@@ -0,0 +1,104 @@
---
title: "demo-db"
generated_by: documentor-agent
generated_at: "2026-06-08T16:23:01+00:00"
human_edited: false
source_entity: "Component/default/demo-db"
source_repo: "https://gitea.kyndemo.live/validate/petclinic"
---
## Overview
The `demo-db` service is a critical component of the Spring PetClinic application, providing database functionality for the broader system. It supports both in-memory (H2) and persistent database configurations (MySQL and PostgreSQL), enabling flexibility for development and production environments. The service is part of the `petclinic` system and integrates with other platform tools such as OpenTelemetry for observability, K6 for load testing, and Chaos Mesh for chaos engineering.
This service plays a key role in ensuring data persistence and retrieval for the application, supporting features like user management, veterinary records, and appointment scheduling. It is deployed and managed via ArgoCD in the `demo-apps` namespace, with observability and testing capabilities integrated into the deployment pipeline.
## Repository
| Field | Value |
|----------------|-----------------------------------------------------------------------------------------------------------------|
| **Source Repo**| [https://gitea.kyndemo.live/validate/petclinic](https://gitea.kyndemo.live/validate/petclinic) |
| **Branch** | `main` |
| **ArgoCD App** | [petclinic](https://argocd.kyndemo.live/applications/petclinic) |
| **Namespace** | `demo-apps` |
## Architecture
The `demo-db` service is designed to support multiple database configurations, including H2 (in-memory), MySQL, and PostgreSQL. It uses Spring Boot profiles to switch between database types, ensuring flexibility for different deployment scenarios. The service integrates with the following platform tools:
- **OpenTelemetry**: Provides instrumentation for tracing, metrics, and logs, enabling detailed observability.
- **K6**: Facilitates load testing to ensure the service can handle high traffic scenarios.
- **Chaos Mesh**: Enables chaos engineering experiments to test the resilience of the service.
Data flows from the application layer to the database, with Spring Boot managing the connection and configuration. Persistent databases are supported via Docker containers or local installations, with profiles enabling seamless switching.
## Configuration
| Configuration Option | Description |
|----------------------------|-------------------------------------------------------------------------------------------------|
| `spring.profiles.active` | Specifies the active profile (`mysql`, `postgres`, or default for H2). |
| `MYSQL_USER` | MySQL username for the database. |
| `MYSQL_PASSWORD` | MySQL password for the database. |
| `POSTGRES_USER` | PostgreSQL username for the database. |
| `POSTGRES_PASSWORD` | PostgreSQL password for the database. |
| `POSTGRES_DB` | PostgreSQL database name. |
## Operations
### Running Locally
1. Clone the repository:
```bash
git clone https://gitea.kyndemo.live/validate/petclinic.git
cd petclinic
```
2. Start the application:
- Using Maven:
```bash
./mvnw spring-boot:run
```
- Using Gradle:
```bash
./gradlew bootRun
```
3. Access the application at [http://localhost:8080](http://localhost:8080).
### Persistent Database Setup
- **MySQL**:
```bash
docker run -e MYSQL_USER=petclinic -e MYSQL_PASSWORD=petclinic -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=petclinic -p 3306:3306 mysql:9.6
```
- **PostgreSQL**:
```bash
docker run -e POSTGRES_USER=petclinic -e POSTGRES_PASSWORD=petclinic -e POSTGRES_DB=petclinic -p 5432:5432 postgres:18.3
```
### Rollback
1. Open the [ArgoCD UI](https://argocd.kyndemo.live/applications/petclinic).
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 configured with OpenTelemetry instrumentation. Observability data is exported to the OTel Collector and visualized in Grafana.
- **Grafana Dashboard**: [View Dashboard](https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-service=demo-db)
- **Alerting**: Alerts are configured via Grafana with the label selector `app=demo-db`.
## Dependencies
- `component:default/argocd-service`
- `resource:default/k6-operator`
- `resource:default/otel-collector`
- `resource:default/veterinary-platform`
## Links
- [Live Application](https://petclinic.kyndemo.live)
- [Repository](https://gitea.kyndemo.live/validate/petclinic)
- [ArgoCD App](https://argocd.kyndemo.live/applications/petclinic)
- [Grafana Dashboard](https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-service=demo-db)

View File

@@ -0,0 +1,12 @@
{
"sourceShas": {
"catalog-info.yaml": "586b5ecff098a3a746c23e87a9d234513ae13e8b",
"README.md": "ef9b745ac26efecf8340b75eea18b8151ba7a86e",
"docs/adr/index.md": "5672a7b1dfe92a2575152cdaeb01b447c8616288",
"docs/index.md": "e616ef832396cf7283ebed71f0a9ab7bb919e8ab",
"docs/runbooks/index.md": "52e30a9d4507ec6159c6ea8800341c4c18816ad7"
},
"promptVersion": "1.0",
"generatedAt": "2026-06-08T16:23:13+00:00",
"contentHash": "9596a63155c3afd35def3f8a6f9e9acb4db84e08be42d07f6534380638ef2a59"
}

View File

@@ -0,0 +1,106 @@
---
title: "Jonathan Demo Test"
generated_by: documentor-agent
generated_at: "2026-06-08T16:18:10+00:00"
human_edited: false
source_entity: "Component/default/jonathan-demo-test"
source_repo: "https://gitea.kyndemo.live/validate/jonathan-demo-test"
---
## Overview
Jonathan Demo Test is a modernized microservice built with Java Spring Boot, following cloud-native architecture patterns. It serves as a demonstration of platform orchestration capabilities using Humanitec v2. The service is designed for containerized deployment and integrates seamlessly with observability tools like Prometheus and Grafana. Key features include production-ready configurations, health check endpoints, Prometheus metrics exposure, and security scanning integrated into the CI/CD pipeline.
This service plays a critical role in showcasing the modernization of legacy applications into scalable, cloud-native solutions. It leverages the Humanitec Platform Orchestrator for deployment and lifecycle management, ensuring streamlined operations and enhanced developer productivity.
## Repository
| Field | Value |
|------------------|-----------------------------------------------------------------------------------------------------------------|
| Source Repo | [Jonathan Demo Test](https://gitea.kyndemo.live/validate/jonathan-demo-test) |
| Branch | main |
| ArgoCD App | — |
| Namespace | dev |
## Architecture
Jonathan Demo Test is a microservice designed with the following architecture:
- **Runtime**: Java Spring Boot
- **Deployment**: Humanitec Platform Orchestrator
- **CI/CD Pipeline**: Gitea Actions → Azure Container Registry (ACR) → Humanitec
- **Observability**: Prometheus metrics and Grafana dashboards for monitoring and alerting.
The service communicates with external resources defined in `score.yaml`, including database configurations for H2, MySQL, and PostgreSQL. It supports health check endpoints (`/health`) and metrics endpoints (`/metrics`) for operational insights.
## Configuration
| Configuration Option | Description |
|-----------------------------|-----------------------------------------------------------------------------|
| `spring.profiles.active` | Specifies the active profile (`mysql`, `postgres`, or default `h2`). |
| `jdbc:h2:mem:<uuid>` | URL for accessing the in-memory H2 database. |
| `MYSQL_USER`, `MYSQL_PASSWORD`, `MYSQL_DATABASE` | Environment variables for MySQL configuration. |
| `POSTGRES_USER`, `POSTGRES_PASSWORD`, `POSTGRES_DB` | Environment variables for PostgreSQL configuration.|
## Operations
### Running Locally
1. Clone the repository:
```bash
git clone https://gitea.kyndemo.live/validate/jonathan-demo-test
cd jonathan-demo-test
```
2. Start the application:
- Using Maven:
```bash
./mvnw spring-boot:run
```
- Using Gradle:
```bash
./gradlew bootRun
```
3. Access the application at [http://localhost:8080](http://localhost:8080).
### Container Deployment
1. Build the container image:
```bash
./mvnw spring-boot:build-image
```
2. Run the container:
```bash
docker run -p 8080:8080 docker.io/library/spring-petclinic:latest
```
### Database Setup
- For MySQL:
```bash
docker run -e MYSQL_USER=petclinic -e MYSQL_PASSWORD=petclinic -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=petclinic -p 3306:3306 mysql:9.6
```
- For PostgreSQL:
```bash
docker run -e POSTGRES_USER=petclinic -e POSTGRES_PASSWORD=petclinic -e POSTGRES_DB=petclinic -p 5432:5432 postgres:18.3
```
## Observability
- **Grafana Dashboard**: [View Dashboard](https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-app=jonathan-demo-test)
- **Prometheus Metrics**: Exposed at `/metrics`.
- **Health Check**: Available at `/health`.
## Dependencies
- `resource:default/cjot-aks`
## Links
- [Humanitec Console](https://console.humanitec.dev/orgs/skillful-wild-chicken-2617/projects/jonathan-demo-test)
- [Source Repository](https://gitea.kyndemo.live/validate/jonathan-demo-test)
- [CI/CD Pipelines](https://gitea.kyndemo.live/validate/jonathan-demo-test/actions)
- [Grafana Dashboard](https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-app=jonathan-demo-test)

View File

@@ -0,0 +1,14 @@
{
"sourceShas": {
"catalog-info.yaml": "a15a62d963f9ce66c97cd35ff843962e97703365",
".platform/initialized.md": "4ca92e278c24ecdedf3bfe89fa1d39895804be47",
"README.md": "ef9b745ac26efecf8340b75eea18b8151ba7a86e",
"docs/api.md": "cc63aaf27912c2026b3eb84de065a89bbccddf8a",
"docs/architecture.md": "6f07e39a58eaa637b126f6178911d7185d8ab9f1",
"docs/index.md": "8b366d773ec0afdf355d27003c7345cd52a05cd6",
"docs/migration-plan.md": "591b5e3bb85eb78e64ee4ac7cbedd6c7e3d4524a"
},
"promptVersion": "1.0",
"generatedAt": "2026-06-08T16:18:24+00:00",
"contentHash": "0aaf787891a78e73764b601105c9eb8171feecd78bc6a8b0d156e1cb524fc668"
}

View File

@@ -0,0 +1,92 @@
---
title: "Petclinic Argo Documentation"
generated_by: documentor-agent
generated_at: "2026-06-08T16:22:39+00:00"
human_edited: false
source_entity: "Component/default/petclinic-argo-doc"
source_repo: "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](https://gitea.kyndemo.live/validate/petclinic-argo-doc) |
| **Branch** | `main` |
| **ArgoCD App** | [petclinic-argo-doc](https://argocd.kyndemo.live/applications/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](https://github.com/spring-projects/spring-petclinic) and customized for deployment.
- **Continuous Delivery**: ArgoCD monitors the `main` branch 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 `frontend` service.
- **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
1. Clone the repository:
```bash
git clone https://gitea.kyndemo.live/validate/petclinic-argo-doc.git
cd petclinic-argo-doc
```
2. Make changes and push:
```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-argo-doc).
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 features include:
- **Grafana Dashboard**: [View Dashboard](https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-app=petclinic-argo-doc)
- **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-service`
- `resource:default/k6-operator`
- `resource:default/otel-collector`
- `resource:default/veterinary-platform`
## Links
- [Live Application](https://petclinic-argo-doc.kyndemo.live)
- [Repository](https://gitea.kyndemo.live/validate/petclinic-argo-doc)
- [ArgoCD App](https://argocd.kyndemo.live/applications/petclinic-argo-doc)
- [Grafana Dashboard](https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-app=petclinic-argo-doc)

View File

@@ -0,0 +1,12 @@
{
"sourceShas": {
"catalog-info.yaml": "586b5ecff098a3a746c23e87a9d234513ae13e8b",
"README.md": "ef9b745ac26efecf8340b75eea18b8151ba7a86e",
"docs/adr/index.md": "5672a7b1dfe92a2575152cdaeb01b447c8616288",
"docs/index.md": "e616ef832396cf7283ebed71f0a9ab7bb919e8ab",
"docs/runbooks/index.md": "52e30a9d4507ec6159c6ea8800341c4c18816ad7"
},
"promptVersion": "1.0",
"generatedAt": "2026-06-08T16:22:53+00:00",
"contentHash": "0d14ed6c390b032af7ca93aff5729d1b0f737598354c88dfda33e43674824e56"
}

View File

@@ -1,57 +1,58 @@
---
title: "Petclinic Service"
generated_by: documentor-agent
generated_at: "2026-05-13T10:51:17+00:00"
generated_at: "2026-06-08T16:23:20+00:00"
human_edited: false
source_entity: "Component/default/petclinic"
source_repo: "https://gitea.kyndemo.live/validate/petclinic-demo-andrej2"
source_repo: "https://gitea.kyndemo.live/validate/petclinic"
---
# Petclinic Service
> A Spring Boot application for managing veterinary clinics, including scheduling, customer management, and pet records.
## Overview
The Petclinic service is a Spring Boot application designed to manage veterinary clinic operations. It provides features such as scheduling appointments, managing customer and pet records, and viewing clinic information. Originally developed as a sample application by the Spring community, this service has been adapted and deployed using Backstage templates for enhanced observability and deployment automation.
The Petclinic service is a Spring Boot application designed to manage veterinary clinic operations, including scheduling appointments, managing pet records, and handling customer information. It serves as a foundational component of the broader Petclinic system, providing essential business logic and data management capabilities.
The application supports multiple database configurations, including in-memory H2, MySQL, and PostgreSQL, and can be run locally or deployed in containerized environments. It is instrumented with OpenTelemetry for comprehensive observability and integrates with Grafana for monitoring and alerting.
This service is deployed in the `demo-apps` namespace and managed via ArgoCD. It integrates with OpenTelemetry for observability, supports load testing via k6, and includes chaos engineering capabilities through Chaos Mesh. The application is built using Java 17 and can be run locally or deployed in containerized environments.
## Repository
| Field | Value |
|---|---|
| Source Repo | [Petclinic Repository](https://gitea.kyndemo.live/validate/petclinic-demo-andrej2) |
| Branch | main |
| ArgoCD App | petclinic-demo-andrej2 |
| Namespace | demo-apps |
| Field | Value |
|----------------|-----------------------------------------------------------------------------------------------------------------|
| **Source Repo**| [Petclinic Repository](https://gitea.kyndemo.live/validate/petclinic) |
| **Branch** | `main` |
| **ArgoCD App** | [petclinic](https://argocd.kyndemo.live/applications/petclinic) |
| **Namespace** | `demo-apps` |
## Architecture
- The service is scaffolded using the Backstage Application Migration Factory template.
- Deployment is managed via ArgoCD, which continuously syncs the `main` branch to the `demo-apps` namespace.
- OpenTelemetry auto-instrumentation is applied via Kustomize overlays, enabling detailed traces, metrics, and logs.
- The application supports multiple database configurations, including H2 (default), MySQL, and PostgreSQL, with profiles for each database type.
- Observability is integrated with Grafana, providing dashboards and alerts for monitoring service health and performance.
The Petclinic service is a Spring Boot application that communicates with an in-memory H2 database by default. It supports integration with MySQL and PostgreSQL for persistent storage, configurable via Spring profiles. The service is instrumented with OpenTelemetry for tracing and metrics, and its deployment is managed by ArgoCD, ensuring continuous synchronization with the source repository.
Key architectural components:
- **Spring Boot Framework**: Provides the application runtime and dependency management.
- **Database Options**: Default H2 database, with optional MySQL or PostgreSQL configurations.
- **Observability**: OpenTelemetry instrumentation for metrics, traces, and logs.
- **Deployment**: Managed via ArgoCD in the `demo-apps` namespace.
<!-- TODO: FILL IN -->
## Configuration
| Configuration | Description |
|---|---|
| `spring.profiles.active` | Sets 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` |
| Configuration Option | Description |
|----------------------------|-------------------------------------------------------------------------------------------------|
| `spring.profiles.active` | Sets the active Spring profile (`mysql`, `postgres`, or default for H2). |
| `MYSQL_USER` | MySQL username for database connection. |
| `MYSQL_PASSWORD` | MySQL password for database connection. |
| `POSTGRES_USER` | PostgreSQL username for database connection. |
| `POSTGRES_PASSWORD` | PostgreSQL password for database connection. |
## Operations
### Local Development
### Running Locally
1. Clone the repository:
```bash
git clone https://gitea.kyndemo.live/validate/petclinic-demo-andrej2.git
cd petclinic-demo-andrej2
git clone https://gitea.kyndemo.live/validate/petclinic.git
cd petclinic
```
2. Run the application:
2. Start the application:
- Using Maven:
```bash
./mvnw spring-boot:run
@@ -62,29 +63,44 @@ The application supports multiple database configurations, including in-memory H
```
3. Access the application at [http://localhost:8080](http://localhost:8080).
### Deployment
Changes pushed to the `main` branch are automatically synced to the `demo-apps` namespace by ArgoCD. To roll back, use the ArgoCD UI or revert the commit in Git.
### Database Setup
### Container Deployment
1. Build the container image:
```bash
./mvnw spring-boot:build-image
```
2. Run the container:
```bash
docker run -p 8080:8080 docker.io/library/spring-petclinic:latest
```
### Database Configuration
- Default: In-memory H2 database.
- Persistent options: MySQL or PostgreSQL, with Docker or `docker-compose` configurations.
### Rollback
1. Open the [ArgoCD UI](https://argocd.kyndemo.live/applications/petclinic-demo-andrej2).
2. Select **History and Rollback**.
3. Choose the desired revision and click **Rollback**.
- MySQL:
```bash
docker run -e MYSQL_USER=petclinic -e MYSQL_PASSWORD=petclinic -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=petclinic -p 3306:3306 mysql:9.6
```
- PostgreSQL:
```bash
docker run -e POSTGRES_USER=petclinic -e POSTGRES_PASSWORD=petclinic -e POSTGRES_DB=petclinic -p 5432:5432 postgres:18.3
```
## Observability
- **Grafana Dashboard**: [View Dashboard](https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-service=petclinic)
- **Alerts**: Configured via Grafana, filter by `app=petclinic`.
- OpenTelemetry instrumentation is enabled for traces, metrics, and logs.
The Petclinic service is fully instrumented with OpenTelemetry for observability. Metrics, traces, and logs are exported to the OTel Collector and visualized in Grafana.
- **Grafana Dashboard**: [Petclinic Observability](https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-service=petclinic)
- **Alerting**: Configured via Grafana with label selector `app=petclinic`.
## Dependencies
- `component:default/argocd-service`
- `resource:default/k6-operator`
- `resource:default/otel-collector`
- `resource:default/otel-collector`
- `resource:default/veterinary-platform`
## Links
- [Live Application](https://petclinic.kyndemo.live)
- [Repository](https://gitea.kyndemo.live/validate/petclinic)
- [ArgoCD App](https://argocd.kyndemo.live/applications/petclinic)
- [Grafana Dashboard](https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-service=petclinic)

View File

@@ -0,0 +1,12 @@
{
"sourceShas": {
"catalog-info.yaml": "586b5ecff098a3a746c23e87a9d234513ae13e8b",
"README.md": "ef9b745ac26efecf8340b75eea18b8151ba7a86e",
"docs/adr/index.md": "5672a7b1dfe92a2575152cdaeb01b447c8616288",
"docs/index.md": "e616ef832396cf7283ebed71f0a9ab7bb919e8ab",
"docs/runbooks/index.md": "52e30a9d4507ec6159c6ea8800341c4c18816ad7"
},
"promptVersion": "1.0",
"generatedAt": "2026-06-08T16:23:32+00:00",
"contentHash": "a8718f85b0735a2c24e944370da8c7f87641596f3d381667a8406ecb8a353b17"
}

View File

@@ -0,0 +1,40 @@
---
title: "Apps"
generated_by: documentor-agent
generated_at: "2026-06-08T16:24:52+00:00"
human_edited: false
source_entity: "Domain/default/apps"
source_repo: "https://gitea.kyndemo.live/platform/apps"
---
## Overview
The "Apps" domain represents a collection of systems and workloads deployed to a dedicated Azure Kubernetes Service (AKS) cluster. This domain is designed to support various business capabilities, including application hosting, development, and deployment across multiple environments (dev, staging, prod). It provides a centralized platform for managing workloads and resources, ensuring scalability, reliability, and streamlined operations.
The domain is tightly integrated with Humanitec for environment management and Azure for infrastructure provisioning. It serves as the backbone for several systems, including Alex, Crucible, Kyndryl Private Cloud (KPC), and others, enabling teams to focus on delivering value while leveraging shared infrastructure and tooling.
## Ownership
| Owner | Namespace | Labels |
|---------------------------|-----------|--------|
| group:default/platform-lead | default | — |
## Systems
- **Alex**: alex system
- **Apps Workloads**: Workloads deployed to the apps domain cluster (bstage-cjot-dev-apps-aks).
- **Crucible**: Project Crucible
- **Kpc**: Kyndryl Private Cloud
- **Petclinic**: <!-- TODO: FILL IN -->
- **Petclinic Argo Doc**: <!-- TODO: FILL IN -->
- **Test Argocd Gitops C6**: <!-- TODO: FILL IN -->
## Relationships
<!-- TODO: FILL IN -->
## Links
- [Domain Repository](https://gitea.kyndemo.live/platform/apps)
- [Humanitec Console](https://console.humanitec.dev/orgs/skillful-wild-chicken-2617/projects/domain-apps)
- [AKS in Azure Portal](https://portal.azure.com/#@/resource/subscriptions/1e06e3e6-7ab6-41c9-a29c-dd8f55646b7e/resourceGroups/bstage-cjot-dev/providers/Microsoft.ContainerService/managedClusters/bstage-cjot-dev-apps-aks/overview)

View File

@@ -0,0 +1,8 @@
{
"sourceShas": {
"catalog-info.yaml": "ba3cc3f5e6ab4e3ebdba8cf180963930bf465884"
},
"promptVersion": "1.0",
"generatedAt": "2026-06-08T16:24:58+00:00",
"contentHash": "b6b61031e8da8d058e95f082d4a9ca5a2b6836ccff0f3221a8db363bccfd4a11"
}

View File

@@ -1,44 +1,33 @@
```markdown
---
title: "Platform"
generated_by: documentor-agent
generated_at: "2026-05-05T10:06:41+00:00"
generated_at: "2026-05-28T12:04:59+00:00"
human_edited: false
source_entity: "Domain/default/platform"
---
# Platform
> Platform domain for platform engineering capabilities and tooling.
## 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 ensures consistency, scalability, and alignment across various systems and teams. It is a critical component for driving innovation and maintaining high standards in software delivery.
## Ownership
| Field | Value |
|---|---|
| Owner | group:default/platform-engineering |
| Namespace | default |
| Labels | — |
| Owner | Namespace | Labels |
|--------------------------------|-----------|--------|
| group:default/platform-engineering | default | — |
## Systems
- `system:default/agentic-agents`
- `system:default/cjot-backstage`
- `system:default/platform-engineering`
## Relationships
The Platform domain includes the following systems:
- **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`)
<!-- TODO: FILL IN -->
## Links
_No links configured._
## Notes
Platform domain for platform engineering capabilities and tooling.
```
_No links configured._

View File

@@ -0,0 +1,44 @@
---
title: "Apps AKS Cluster"
generated_by: documentor-agent
generated_at: "2026-06-08T16:25:07+00:00"
human_edited: false
source_entity: "Resource/default/apps-aks"
source_repo: "https://gitea.kyndemo.live/platform/apps/raw/branch/main/"
---
## Overview
The Apps AKS Cluster is a dedicated Azure Kubernetes Service (AKS) cluster provisioned for workloads in the apps domain. It is configured with Standard_B4ms virtual machines and supports a node count ranging from 1 to 4. This cluster is designed to host applications and services deployed within the apps domain, ensuring scalability and reliability across development, staging, and production environments.
This resource is critical for the apps domain, serving as the infrastructure backbone for Kubernetes-based workloads. It is managed by the platform engineering team and depends on the Azure Container Registry (ACR) for container image storage and distribution.
## Repository
| Field | Value |
|---------------|-------------------------------------------------------------------------------------------|
| Source Repo | [platform/apps](https://gitea.kyndemo.live/platform/apps/raw/branch/main/) |
| Branch | main |
| Namespace | default |
## Configuration
Key configuration options for the Apps AKS Cluster include:
- **Cluster Name**: `bstage-cjot-dev-apps-aks`
- **Resource Group**: `bstage-cjot-dev`
- **Subscription ID**: `1e06e3e6-7ab6-41c9-a29c-dd8f55646b7e`
- **Node VM Size**: `Standard_B4ms`
- **Node Count**: Minimum `1`, Maximum `4`
- **Environments**: `dev`, `staging`, `prod`
<!-- TODO: FILL IN -->
## Dependencies
- `resource:default/cjot-acr`
## Links
- [Azure Portal](https://portal.azure.com/#@/resource/subscriptions/1e06e3e6-7ab6-41c9-a29c-dd8f55646b7e/resourceGroups/bstage-cjot-dev/providers/Microsoft.ContainerService/managedClusters/bstage-cjot-dev-apps-aks/overview)
- [Humanitec Console](https://console.humanitec.dev/orgs/skillful-wild-chicken-2617/projects/domain-apps)

View File

@@ -0,0 +1,8 @@
{
"sourceShas": {
"catalog-info.yaml": "ba3cc3f5e6ab4e3ebdba8cf180963930bf465884"
},
"promptVersion": "1.0",
"generatedAt": "2026-06-08T16:25:13+00:00",
"contentHash": "9997c1535125f13452060aa7ace36d71398fab27c2379897715ca135bdd67cd8"
}

View File

@@ -0,0 +1,45 @@
---
title: "Alex"
generated_by: documentor-agent
generated_at: "2026-06-08T16:25:24+00:00"
human_edited: false
source_entity: "System/default/alex"
source_repo: "https://gitea.kyndemo.live/platform/apps/raw/branch/main/"
---
## Overview
The Alex system is a part of the apps domain and is designed to support workloads deployed within this domain. It plays a critical role in managing and orchestrating components and APIs that are integral to the domain's functionality. The system is associated with the apps domain cluster and operates within environments such as development, staging, and production.
This system is managed by the platform lead group and is part of a broader ecosystem that includes other systems like Crucible and Kyndryl Private Cloud (KPC). It is built to ensure seamless integration and operation of its components and APIs within the apps domain.
## Ownership
| Owner | Domain | Namespace | Labels |
|---------------------------|--------|-----------|--------|
| group:default/platform-lead | apps | default | — |
## Components
- `component:default/alex-1`
- `component:default/alex-2`
- `component:default/test-ms-c6`
## APIs
- `api:default/alex-1-api`
- `api:default/alex-2-api`
- `api:default/test-ms-c6-api`
## Resources
_No resources declared._
## Relationships
- **Owned By**: `group:default/platform-lead`
- **Part Of**: `domain:default/apps`
## Links
_No links configured._

View File

@@ -0,0 +1,8 @@
{
"sourceShas": {
"catalog-info.yaml": "ba3cc3f5e6ab4e3ebdba8cf180963930bf465884"
},
"promptVersion": "1.0",
"generatedAt": "2026-06-08T16:25:29+00:00",
"contentHash": "4876c47f63ebfb556a111658e28e39726ff676ec9248ffe50575cea4889b1b87"
}

View File

@@ -0,0 +1,44 @@
---
title: "Apps Workloads"
generated_by: documentor-agent
generated_at: "2026-06-08T16:25:00+00:00"
human_edited: false
source_entity: "System/default/apps"
source_repo: "https://gitea.kyndemo.live/platform/apps/raw/branch/main/"
---
## Overview
The "Apps Workloads" system represents workloads deployed to the apps domain cluster (`bstage-cjot-dev-apps-aks`). It is part of the broader "Apps" domain, which encompasses various systems and resources supporting application deployments. This system is designed to manage and operate workloads within a dedicated Azure Kubernetes Service (AKS) cluster, ensuring scalability and reliability for applications in development, staging, and production environments.
The system is owned by the platform engineering team and serves as a critical component of the apps domain, providing infrastructure and operational support for multiple systems and resources.
## Ownership
| Owner | Domain | Namespace | Labels |
|---------------------------|--------|-----------|--------|
| group:default/platform-lead | apps | default | — |
## Components
_No components declared._
## APIs
_No APIs declared._
## Resources
- [Apps AKS Cluster](resource:default/apps-aks)
## Relationships
- **Part of**: [Apps Domain](domain:default/apps)
<!-- TODO: FILL IN -->
## Links
- [Domain Repository](https://gitea.kyndemo.live/platform/apps)
- [Humanitec Console](https://console.humanitec.dev/orgs/skillful-wild-chicken-2617/projects/domain-apps)
- [AKS in Azure Portal](https://portal.azure.com/#@/resource/subscriptions/1e06e3e6-7ab6-41c9-a29c-dd8f55646b7e/resourceGroups/bstage-cjot-dev/providers/Microsoft.ContainerService/managedClusters/bstage-cjot-dev-apps-aks/overview)

View File

@@ -0,0 +1,8 @@
{
"sourceShas": {
"catalog-info.yaml": "ba3cc3f5e6ab4e3ebdba8cf180963930bf465884"
},
"promptVersion": "1.0",
"generatedAt": "2026-06-08T16:25:04+00:00",
"contentHash": "ee802802fdef591cd5aff5ad1bf65e80019a3f3ebd24de58afee6b6970efeca9"
}

View File

@@ -0,0 +1,40 @@
---
title: "Crucible"
generated_by: documentor-agent
generated_at: "2026-06-08T16:25:14+00:00"
human_edited: false
source_entity: "System/default/crucible"
source_repo: "https://gitea.kyndemo.live/platform/apps/raw/branch/main/"
---
## Overview
Crucible is a system within the apps domain, designed to support workloads deployed to the dedicated AKS cluster for the domain. It plays a critical role in managing and orchestrating application components and APIs that are part of the broader apps ecosystem. The system is owned and maintained by the platform engineering team, ensuring alignment with organizational standards and practices.
This system is part of the "Apps" domain, which encompasses workloads deployed to the `bstage-cjot-dev-apps-aks` cluster. Crucible contributes to the domain's goal of providing scalable and reliable infrastructure for application development and deployment.
## Ownership
| Owner | Domain | Namespace | Labels |
|---------------------------|--------|-----------|--------|
| group:default/platform-lead | apps | default | — |
## Components
- `component:default/demo-crucible-1`
## APIs
- `api:default/demo-crucible-1-api`
## Resources
_No resources declared._
## Relationships
- Part of: `domain:default/apps`
## Links
_No links configured._

View File

@@ -0,0 +1,8 @@
{
"sourceShas": {
"catalog-info.yaml": "ba3cc3f5e6ab4e3ebdba8cf180963930bf465884"
},
"promptVersion": "1.0",
"generatedAt": "2026-06-08T16:25:22+00:00",
"contentHash": "900dbf8946d707df3f2d0e9c099c836c582aae95056eb3ce36d2ecc093815944"
}

View File

@@ -0,0 +1,41 @@
---
title: "Kpc"
generated_by: documentor-agent
generated_at: "2026-06-08T16:25:31+00:00"
human_edited: false
source_entity: "System/default/kpc"
source_repo: "https://gitea.kyndemo.live/platform/apps/raw/branch/main/"
---
## Overview
The **Kpc** system, short for Kyndryl Private Cloud, is a foundational system within the **apps** domain. It is designed to support workloads and services deployed across multiple environments, including development, staging, and production. This system plays a critical role in enabling private cloud capabilities for Kyndryl's platform, ensuring scalability, reliability, and integration with other systems in the domain.
As part of the **apps** domain, Kpc is closely integrated with other systems and resources, such as the dedicated AKS cluster for the domain. It is managed by the platform leadership team and adheres to the domain's standards and practices.
## Ownership
| Owner | Domain | Namespace | Labels |
|---------------------------|--------|-----------|---------------------------------|
| group:default/platform-lead | apps | default | app.kubernetes.io/part-of=kpc |
## Components
_No components declared._
## APIs
_No APIs declared._
## Resources
_No resources declared._
## Relationships
- **Owned By**: `group:default/platform-lead`
- **Part Of**: `domain:default/apps`
## Links
_No links configured._

View File

@@ -0,0 +1,8 @@
{
"sourceShas": {
"catalog-info.yaml": "ba3cc3f5e6ab4e3ebdba8cf180963930bf465884"
},
"promptVersion": "1.0",
"generatedAt": "2026-06-08T16:25:35+00:00",
"contentHash": "6b91a8a67df02d03addfe6ec04dbee5cc23a485c3cb771408373e25d668d66d2"
}

View File

@@ -0,0 +1,53 @@
---
title: "Petclinic Argo Documentation System"
generated_by: documentor-agent
generated_at: "2026-06-08T16:22:23+00:00"
human_edited: false
source_entity: "System/default/petclinic-argo-doc"
source_repo: "https://gitea.kyndemo.live/validate/petclinic-argo-doc"
---
## Overview
The **Petclinic Argo Documentation System** is a deployment system managed via ArgoCD, designed to support the **demo-apps** namespace. It integrates observability tools like OpenTelemetry and Grafana, along with load testing capabilities using K6 and chaos engineering via Chaos Mesh. This system is part of the broader **apps** domain and serves as a foundational platform for deploying and managing services such as **petclinic**, **demo-db**, and other related components.
The system is owned by the **platform-engineering** team and is configured to ensure high reliability and performance for applications deployed in the **demo-apps** namespace. It leverages Kubernetes for orchestration and includes monitoring and alerting capabilities to maintain operational excellence.
## Ownership
| Owner | Domain | Namespace | Labels |
|----------------------|--------|-----------|-------------------------------------|
| platform-engineering | apps | default | backstage.io/environment: dev<br>app.kubernetes.io/managed-by: backstage |
## Components
- **petclinic-argo-doc**: The main service deployed via ArgoCD.
- **demo-db**: A database service that is part of the system.
- **petclinic**: A Java-based service included in the system.
## APIs
_No APIs declared._
## Resources
- **k6-operator**: Load testing operator for K6.
- **otel-collector**: OpenTelemetry collector for observability.
- **otel-operator**: OpenTelemetry operator for managing observability configurations.
- **veterinary-platform**: A resource supporting the petclinic ecosystem.
## Relationships
- **Depends On**:
- **argocd-service**: A service for managing ArgoCD deployments.
- **k6-operator**: For load testing.
- **otel-collector**: For observability data collection.
- **otel-operator**: For managing observability configurations.
- **veterinary-platform**: Supporting resources for the petclinic ecosystem.
## Links
- [Live Application](https://petclinic-argo-doc.kyndemo.live)
- [Repository](https://gitea.kyndemo.live/validate/petclinic-argo-doc)
- [ArgoCD App](https://argocd.kyndemo.live/applications/petclinic-argo-doc)
- [Grafana Dashboard](https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-app=petclinic-argo-doc)

View File

@@ -0,0 +1,8 @@
{
"sourceShas": {
"catalog-info.yaml": "586b5ecff098a3a746c23e87a9d234513ae13e8b"
},
"promptVersion": "1.0",
"generatedAt": "2026-06-08T16:22:32+00:00",
"contentHash": "0038c5f87e64150770719113186bd41d0f4cddbd4680475dd1ffa3a27cfed250"
}