Compare commits
29 Commits
documentor
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| af69afd157 | |||
| 5cc8af2fcc | |||
| 67f18ef3ce | |||
| fdd2acc891 | |||
| 3d4bc9c8a7 | |||
| e992796f47 | |||
| e8d0d0858a | |||
| 240cf4bf7b | |||
| 48252ebf69 | |||
| b4d38af557 | |||
| 3e01aa58d1 | |||
| 05d64f07a1 | |||
| 3559e1284c | |||
| 883a9c6c04 | |||
| ef3ed7a1b8 | |||
| 1181890685 | |||
| f519b44ed0 | |||
| 57b41b6142 | |||
| 5c41a29851 | |||
| dbb5e324a9 | |||
| c4d2e340da | |||
| b914c4b130 | |||
| 0b11e4cacc | |||
| 997127ef80 | |||
| 91ebb45436 | |||
| c4f7a688fa | |||
| 392e33493c | |||
| 22a65439a2 | |||
| f6263a01a3 |
104
catalog/component/default/demo-db/README.md
Normal file
104
catalog/component/default/demo-db/README.md
Normal 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)
|
||||
12
catalog/component/default/demo-db/_meta.json
Normal file
12
catalog/component/default/demo-db/_meta.json
Normal 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"
|
||||
}
|
||||
106
catalog/component/default/jonathan-demo-test/README.md
Normal file
106
catalog/component/default/jonathan-demo-test/README.md
Normal 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)
|
||||
14
catalog/component/default/jonathan-demo-test/_meta.json
Normal file
14
catalog/component/default/jonathan-demo-test/_meta.json
Normal 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"
|
||||
}
|
||||
92
catalog/component/default/petclinic-argo-doc/README.md
Normal file
92
catalog/component/default/petclinic-argo-doc/README.md
Normal 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)
|
||||
12
catalog/component/default/petclinic-argo-doc/_meta.json
Normal file
12
catalog/component/default/petclinic-argo-doc/_meta.json
Normal 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"
|
||||
}
|
||||
@@ -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)
|
||||
12
catalog/component/default/petclinic/_meta.json
Normal file
12
catalog/component/default/petclinic/_meta.json
Normal 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"
|
||||
}
|
||||
40
catalog/domain/default/apps/README.md
Normal file
40
catalog/domain/default/apps/README.md
Normal 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)
|
||||
8
catalog/domain/default/apps/_meta.json
Normal file
8
catalog/domain/default/apps/_meta.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"sourceShas": {
|
||||
"catalog-info.yaml": "ba3cc3f5e6ab4e3ebdba8cf180963930bf465884"
|
||||
},
|
||||
"promptVersion": "1.0",
|
||||
"generatedAt": "2026-06-08T16:24:58+00:00",
|
||||
"contentHash": "b6b61031e8da8d058e95f082d4a9ca5a2b6836ccff0f3221a8db363bccfd4a11"
|
||||
}
|
||||
@@ -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._
|
||||
44
catalog/resource/default/apps-aks/README.md
Normal file
44
catalog/resource/default/apps-aks/README.md
Normal 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)
|
||||
8
catalog/resource/default/apps-aks/_meta.json
Normal file
8
catalog/resource/default/apps-aks/_meta.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"sourceShas": {
|
||||
"catalog-info.yaml": "ba3cc3f5e6ab4e3ebdba8cf180963930bf465884"
|
||||
},
|
||||
"promptVersion": "1.0",
|
||||
"generatedAt": "2026-06-08T16:25:13+00:00",
|
||||
"contentHash": "9997c1535125f13452060aa7ace36d71398fab27c2379897715ca135bdd67cd8"
|
||||
}
|
||||
45
catalog/system/default/alex/README.md
Normal file
45
catalog/system/default/alex/README.md
Normal 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._
|
||||
8
catalog/system/default/alex/_meta.json
Normal file
8
catalog/system/default/alex/_meta.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"sourceShas": {
|
||||
"catalog-info.yaml": "ba3cc3f5e6ab4e3ebdba8cf180963930bf465884"
|
||||
},
|
||||
"promptVersion": "1.0",
|
||||
"generatedAt": "2026-06-08T16:25:29+00:00",
|
||||
"contentHash": "4876c47f63ebfb556a111658e28e39726ff676ec9248ffe50575cea4889b1b87"
|
||||
}
|
||||
44
catalog/system/default/apps/README.md
Normal file
44
catalog/system/default/apps/README.md
Normal 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)
|
||||
8
catalog/system/default/apps/_meta.json
Normal file
8
catalog/system/default/apps/_meta.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"sourceShas": {
|
||||
"catalog-info.yaml": "ba3cc3f5e6ab4e3ebdba8cf180963930bf465884"
|
||||
},
|
||||
"promptVersion": "1.0",
|
||||
"generatedAt": "2026-06-08T16:25:04+00:00",
|
||||
"contentHash": "ee802802fdef591cd5aff5ad1bf65e80019a3f3ebd24de58afee6b6970efeca9"
|
||||
}
|
||||
40
catalog/system/default/crucible/README.md
Normal file
40
catalog/system/default/crucible/README.md
Normal 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._
|
||||
8
catalog/system/default/crucible/_meta.json
Normal file
8
catalog/system/default/crucible/_meta.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"sourceShas": {
|
||||
"catalog-info.yaml": "ba3cc3f5e6ab4e3ebdba8cf180963930bf465884"
|
||||
},
|
||||
"promptVersion": "1.0",
|
||||
"generatedAt": "2026-06-08T16:25:22+00:00",
|
||||
"contentHash": "900dbf8946d707df3f2d0e9c099c836c582aae95056eb3ce36d2ecc093815944"
|
||||
}
|
||||
41
catalog/system/default/kpc/README.md
Normal file
41
catalog/system/default/kpc/README.md
Normal 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._
|
||||
8
catalog/system/default/kpc/_meta.json
Normal file
8
catalog/system/default/kpc/_meta.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"sourceShas": {
|
||||
"catalog-info.yaml": "ba3cc3f5e6ab4e3ebdba8cf180963930bf465884"
|
||||
},
|
||||
"promptVersion": "1.0",
|
||||
"generatedAt": "2026-06-08T16:25:35+00:00",
|
||||
"contentHash": "6b91a8a67df02d03addfe6ec04dbee5cc23a485c3cb771408373e25d668d66d2"
|
||||
}
|
||||
53
catalog/system/default/petclinic-argo-doc/README.md
Normal file
53
catalog/system/default/petclinic-argo-doc/README.md
Normal 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)
|
||||
8
catalog/system/default/petclinic-argo-doc/_meta.json
Normal file
8
catalog/system/default/petclinic-argo-doc/_meta.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"sourceShas": {
|
||||
"catalog-info.yaml": "586b5ecff098a3a746c23e87a9d234513ae13e8b"
|
||||
},
|
||||
"promptVersion": "1.0",
|
||||
"generatedAt": "2026-06-08T16:22:32+00:00",
|
||||
"contentHash": "0038c5f87e64150770719113186bd41d0f4cddbd4680475dd1ffa3a27cfed250"
|
||||
}
|
||||
Reference in New Issue
Block a user