Compare commits
60 Commits
documentor
...
883a9c6c04
| Author | SHA1 | Date | |
|---|---|---|---|
| 883a9c6c04 | |||
| ef3ed7a1b8 | |||
| 1181890685 | |||
| f519b44ed0 | |||
| 57b41b6142 | |||
| 5c41a29851 | |||
| dbb5e324a9 | |||
| c4d2e340da | |||
| b914c4b130 | |||
| 0b11e4cacc | |||
| 997127ef80 | |||
| 91ebb45436 | |||
| c4f7a688fa | |||
| 392e33493c | |||
| 22a65439a2 | |||
| f6263a01a3 | |||
| 0527720ef5 | |||
| 823a05daf7 | |||
| 16e8a8cd36 | |||
| 4aa5c46eee | |||
| bab34ff3f8 | |||
| 73a01ffebb | |||
| 3577ca78cf | |||
| c05892070f | |||
| ea04340ef8 | |||
| 5d2e668c68 | |||
| 841a34877b | |||
| e4f1f8c9cb | |||
| 753a1fcb44 | |||
| 8483ca9768 | |||
| 040a26578d | |||
| a91b1fcf59 | |||
| b6af57adef | |||
| da4ea18d47 | |||
| 5d00f2af4c | |||
| 8179b94c8d | |||
| 27da605859 | |||
| 7529b38918 | |||
| 2d230146e7 | |||
| a47b057727 | |||
| 9f3fd7cd45 | |||
| 79ad2b2ed7 | |||
| 069ac897b2 | |||
| fc28011537 | |||
| 3b72673506 | |||
| 79621c8048 | |||
| d078fb4a95 | |||
| 04ac04d90a | |||
| 1c0e9de289 | |||
| eb74b27324 | |||
| 1e4eb91c10 | |||
| 66328cc005 | |||
| 9c74ca2ad1 | |||
| 2c64d74218 | |||
| 0aba4ac987 | |||
| 33b5b4506d | |||
| 13426e0f99 | |||
| 2cc073baf5 | |||
| 49c0442fff | |||
| e6065b0c5f |
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"
|
||||
}
|
||||
90
catalog/component/default/petclinic-demo-andrej4/README.md
Normal file
90
catalog/component/default/petclinic-demo-andrej4/README.md
Normal file
@@ -0,0 +1,90 @@
|
||||
---
|
||||
title: "Petclinic Demo Application"
|
||||
generated_by: documentor-agent
|
||||
generated_at: "2026-05-28T09:07:15+00:00"
|
||||
human_edited: false
|
||||
source_entity: "Component/default/petclinic-demo-andrej4"
|
||||
source_repo: "https://gitea.kyndemo.live/validate/petclinic-demo-andrej4"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
The **Petclinic Demo Application** is a deployment of the Spring PetClinic sample application, tailored for demonstration purposes. It showcases a modern Java-based microservice architecture, leveraging Spring Boot for rapid development and deployment. The application is deployed via ArgoCD into the `demo-apps` namespace and includes integrations for observability, load testing, and chaos engineering.
|
||||
|
||||
This service plays a critical role in demonstrating best practices for application lifecycle management, including CI/CD workflows, OpenTelemetry instrumentation, and Kubernetes-based deployments. It serves as a reference implementation for teams adopting similar technologies and workflows.
|
||||
|
||||
## Repository
|
||||
|
||||
| Property | Value |
|
||||
|----------------|---------------------------------------------------------------------------------------------------------|
|
||||
| **Source Repo**| [Petclinic Demo Repository](https://gitea.kyndemo.live/validate/petclinic-demo-andrej4) |
|
||||
| **Branch** | `main` |
|
||||
| **ArgoCD App** | [petclinic-demo-andrej4](https://argocd.kyndemo.live/applications/petclinic-demo-andrej4) |
|
||||
| **Namespace** | `demo-apps` |
|
||||
|
||||
## Architecture
|
||||
|
||||
The Petclinic Demo Application is built on the Spring Boot framework and deployed as a containerized service in Kubernetes. Key architectural components include:
|
||||
|
||||
- **Spring Boot Application**: The core service, providing RESTful APIs and a web interface.
|
||||
- **Database**: Configurable to use H2 (in-memory), MySQL, or PostgreSQL, depending on the active profile.
|
||||
- **OpenTelemetry Integration**: Auto-instrumentation for tracing, metrics, and logs, exported to an OTel Collector.
|
||||
- **ArgoCD**: Continuous deployment and synchronization from the `main` branch.
|
||||
- **K6 Load Testing**: Configured for performance testing.
|
||||
- **Chaos Mesh**: Enabled for chaos engineering experiments.
|
||||
|
||||
Data flows through the application from user interactions to backend services, with observability tools providing insights into performance and reliability.
|
||||
|
||||
## Configuration
|
||||
|
||||
| Configuration Item | Description |
|
||||
|--------------------------|----------------------------------------------------------------------------------------------|
|
||||
| `spring.profiles.active` | Sets the active profile (`default`, `mysql`, `postgres`). |
|
||||
| `OTel Collector URL` | `http://otel-collector.monitoring.svc.cluster.local:4318` |
|
||||
| `Database URL` | Configurable for H2, MySQL, or PostgreSQL. |
|
||||
| `K6 ConfigMap` | `k6-test-petclinic-demo-andrej4` |
|
||||
|
||||
## Operations
|
||||
|
||||
### Deployment
|
||||
|
||||
1. Clone the repository:
|
||||
```bash
|
||||
git clone https://gitea.kyndemo.live/validate/petclinic-demo-andrej4.git
|
||||
cd petclinic-demo-andrej4
|
||||
```
|
||||
2. Push changes to the `main` branch:
|
||||
```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-demo-andrej4).
|
||||
2. Click **History and Rollback**.
|
||||
3. Select the desired revision and click **Rollback**.
|
||||
|
||||
Alternatively, revert the commit in Git and push — ArgoCD will auto-sync the rollback.
|
||||
|
||||
## Observability
|
||||
|
||||
This service is fully instrumented with OpenTelemetry. Observability data is visualized in Grafana.
|
||||
|
||||
- **Grafana Dashboard**: [View Dashboard](https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-app=petclinic-demo-andrej4)
|
||||
- **Alerting**: Configured via Grafana with label selector `app.kubernetes.io/instance=petclinic-demo-andrej4`.
|
||||
|
||||
_Not configured — see platform observability docs for additional details._
|
||||
|
||||
## Dependencies
|
||||
|
||||
- `component:default/argocd-service`
|
||||
- `resource:default/k6-operator`
|
||||
- `resource:default/otel-collector`
|
||||
|
||||
## Links
|
||||
|
||||
- [Live Application](https://petclinic-demo-andrej4.kyndemo.live)
|
||||
- [Repository](https://gitea.kyndemo.live/validate/petclinic-demo-andrej4)
|
||||
- [ArgoCD App](https://argocd.kyndemo.live/applications/petclinic-demo-andrej4)
|
||||
- [Grafana Dashboard](https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-app=petclinic-demo-andrej4)
|
||||
12
catalog/component/default/petclinic-demo-andrej4/_meta.json
Normal file
12
catalog/component/default/petclinic-demo-andrej4/_meta.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"sourceShas": {
|
||||
"catalog-info.yaml": "7f8e08e4d71a45033f49d9190e35fd08ebbb7645",
|
||||
"README.md": "ef9b745ac26efecf8340b75eea18b8151ba7a86e",
|
||||
"docs/adr/index.md": "b9a0b93743cf579be35101bbc63b29356be2849f",
|
||||
"docs/index.md": "f7bef9b17f650992e3a89fbecf37eb0ea948b8e0",
|
||||
"docs/runbooks/index.md": "f9796c4d1a113b786df89cd74dee0f50d98d6025"
|
||||
},
|
||||
"promptVersion": "1.0",
|
||||
"generatedAt": "2026-05-28T09:07:25+00:00",
|
||||
"contentHash": "625799bc84a8ff7004d26604e1d76286e95b9a3617abf6c014146a04202ff719"
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: "Petclinic Demo Jonathan Scaf 2"
|
||||
generated_by: documentor-agent
|
||||
generated_at: "2026-05-05T10:49:39+00:00"
|
||||
generated_at: "2026-05-05T11:02:41+00:00"
|
||||
human_edited: false
|
||||
source_entity: "Component/default/petclinic-demo-jonathan-scaf-2"
|
||||
source_repo: "https://gitea.kyndemo.live/validate/petclinic-demo-jonathan-scaf-2"
|
||||
@@ -9,72 +9,61 @@ source_repo: "https://gitea.kyndemo.live/validate/petclinic-demo-jonathan-scaf-2
|
||||
|
||||
# Petclinic Demo Jonathan Scaf 2
|
||||
|
||||
> A deployment of the Spring PetClinic application, scaffolded via Backstage and integrated with OpenTelemetry, ArgoCD, and Chaos Mesh.
|
||||
> A Spring Boot–based veterinary clinic application deployed via ArgoCD into the demo-apps namespace.
|
||||
|
||||
## Overview
|
||||
|
||||
Petclinic Demo Jonathan Scaf 2 is a deployment of the Spring PetClinic application, a sample Spring Boot project designed to showcase best practices in Java application development. This deployment integrates modern DevOps tools and practices, including ArgoCD for continuous delivery, OpenTelemetry for observability, and Chaos Mesh for chaos engineering experiments.
|
||||
Petclinic Demo Jonathan Scaf 2 is a deployment of the Spring PetClinic application, a sample project showcasing Spring Boot capabilities. This service provides a web-based interface for managing veterinary clinic operations, including scheduling appointments, managing pet records, and tracking visits. It is designed to demonstrate modern application deployment practices, including GitOps workflows, OpenTelemetry instrumentation, and integration with Kubernetes.
|
||||
|
||||
The application provides a web interface for managing veterinary clinics, including features for scheduling appointments, managing pet records, and tracking veterinary staff. It is deployed in the `demo-apps` namespace and continuously synced from the `main` branch of its source repository. Observability is enabled via OpenTelemetry, with metrics and traces visualized in Grafana.
|
||||
The application is scaffolded using the Backstage Application Migration Factory template, which overlays CI/CD workflows and observability configurations. It is continuously deployed via ArgoCD, ensuring that changes pushed to the repository are automatically synced to the Kubernetes cluster.
|
||||
|
||||
## Repository
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Source Repo | [https://gitea.kyndemo.live/validate/petclinic-demo-jonathan-scaf-2](https://gitea.kyndemo.live/validate/petclinic-demo-jonathan-scaf-2) |
|
||||
| Source Repo | [Petclinic Demo Jonathan Scaf 2](https://gitea.kyndemo.live/validate/petclinic-demo-jonathan-scaf-2) |
|
||||
| Branch | main |
|
||||
| ArgoCD App | petclinic-demo-jonathan-scaf-2 |
|
||||
| Namespace | demo-apps |
|
||||
|
||||
## Architecture
|
||||
|
||||
- The application is based on the Spring PetClinic project, cloned from [https://github.com/spring-projects/spring-petclinic](https://github.com/spring-projects/spring-petclinic).
|
||||
- OpenTelemetry auto-instrumentation is applied via Kustomize overlays, enabling detailed observability.
|
||||
- The application is based on the Spring PetClinic project, cloned from `https://github.com/spring-projects/spring-petclinic`.
|
||||
- OpenTelemetry auto-instrumentation is applied via Kustomize overlays, enabling detailed observability for traces, metrics, and logs.
|
||||
- ArgoCD manages the deployment, continuously syncing changes from the `main` branch to the `demo-apps` namespace.
|
||||
- Chaos Mesh is enabled for chaos engineering experiments, allowing resilience testing of the application.
|
||||
|
||||
Deployment flow:
|
||||
1. Source code is cloned and scaffolded using Backstage templates.
|
||||
2. OpenTelemetry instrumentation is injected.
|
||||
3. ArgoCD syncs the application from the repository to the Kubernetes cluster.
|
||||
- The deployment flow includes CI workflows, Kubernetes manifests, and observability configurations integrated into the repository.
|
||||
|
||||
## Configuration
|
||||
|
||||
| Configuration | Description |
|
||||
|---|---|
|
||||
| Environment Variables | `spring.profiles.active` for database configuration (`mysql`, `postgres`, or `default` for H2). |
|
||||
| Database | Default is H2; supports MySQL and PostgreSQL with Docker or Docker Compose. |
|
||||
| Observability | OpenTelemetry endpoint: `http://otel-collector.monitoring.svc.cluster.local:4318`. |
|
||||
| `spring.profiles.active` | Specifies the active Spring profile (`mysql`, `postgres`, or default `h2`). |
|
||||
| Database URLs | `jdbc:h2:mem:<uuid>` for H2, or Docker-based MySQL/PostgreSQL configurations. |
|
||||
| OpenTelemetry Endpoint | `http://otel-collector.monitoring.svc.cluster.local:4318` |
|
||||
|
||||
## Operations
|
||||
|
||||
### Deployment Workflow
|
||||
1. Clone the repository:
|
||||
- **Development Workflow**:
|
||||
```bash
|
||||
git clone https://gitea.kyndemo.live/validate/petclinic-demo-jonathan-scaf-2.git
|
||||
cd petclinic-demo-jonathan-scaf-2
|
||||
```
|
||||
2. Make changes and push:
|
||||
```bash
|
||||
# make changes, then:
|
||||
git add . && git commit -m "your change" && git push origin main
|
||||
```
|
||||
3. ArgoCD automatically syncs changes to the `demo-apps` namespace.
|
||||
ArgoCD automatically syncs changes to the `demo-apps` namespace.
|
||||
|
||||
### Rollback
|
||||
1. Open the [ArgoCD UI](https://argocd.kyndemo.live/applications/petclinic-demo-jonathan-scaf-2).
|
||||
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.
|
||||
- **Rollback**:
|
||||
1. Open the [ArgoCD UI](https://argocd.kyndemo.live/applications/petclinic-demo-jonathan-scaf-2).
|
||||
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.
|
||||
|
||||
<!-- TODO: FILL IN -->
|
||||
|
||||
## Observability
|
||||
|
||||
- **Grafana Dashboard**: [https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-app=petclinic-demo-jonathan-scaf-2](https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-app=petclinic-demo-jonathan-scaf-2)
|
||||
- OpenTelemetry instrumentation is enabled, exporting traces, metrics, and logs to the OTel Collector.
|
||||
|
||||
_Not configured — see platform observability docs._
|
||||
- **Grafana Dashboard**: [OpenTelemetry Application Observability](https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-app=petclinic-demo-jonathan-scaf-2)
|
||||
- **Alerting**: Configured via Grafana with label selector `app.kubernetes.io/instance=petclinic-demo-jonathan-scaf-2`.
|
||||
|
||||
## Dependencies
|
||||
|
||||
|
||||
@@ -1,72 +1,95 @@
|
||||
---
|
||||
title: "Petclinic Service"
|
||||
generated_by: documentor-agent
|
||||
generated_at: "2026-05-05T10:41:37+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-jonathan-scaf-2"
|
||||
source_repo: "https://gitea.kyndemo.live/validate/petclinic"
|
||||
---
|
||||
|
||||
# Petclinic Service
|
||||
|
||||
> A Spring Boot–based application for managing veterinary clinic operations, including scheduling, customer management, and pet records.
|
||||
|
||||
## Overview
|
||||
|
||||
The Petclinic service is a Java-based application built using Spring Boot. It provides a comprehensive solution for managing veterinary clinic operations, including scheduling appointments, managing customer and pet records, and handling clinic workflows. Originally developed as a sample application by the Spring community, this service has been adapted and deployed as part of the `petclinic-demo-jonathan-scaf-2` system.
|
||||
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 is designed to be easily deployable in containerized environments. It includes OpenTelemetry instrumentation for observability and integrates with ArgoCD for continuous deployment. The service plays a critical role in the broader veterinary platform, serving as the primary interface for clinic management.
|
||||
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-jonathan-scaf-2) |
|
||||
| Branch | main |
|
||||
| ArgoCD App | petclinic-demo-jonathan-scaf-2 |
|
||||
| Namespace | demo-apps |
|
||||
|----------------|-----------------------------------------------------------------------------------------------------------------|
|
||||
| **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 Petclinic service is scaffolded using the Application Migration Factory Backstage template.
|
||||
- Deployment flow:
|
||||
1. Source code cloned from the original Spring Petclinic repository.
|
||||
2. Backstage overlays applied for catalog entity creation and CI workflows.
|
||||
3. OpenTelemetry auto-instrumentation injected via Kustomize overlays.
|
||||
4. ArgoCD Application created targeting the `demo-apps` namespace.
|
||||
5. Continuous sync from the `main` branch via ArgoCD.
|
||||
- Observability is enabled through OpenTelemetry, with metrics and traces visualized in Grafana.
|
||||
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.
|
||||
|
||||
## Configuration
|
||||
|
||||
| Configuration | Description |
|
||||
|---|---|
|
||||
| `spring.profiles.active` | Sets the active Spring profile (`mysql`, `postgres`, or default `h2`). |
|
||||
| Database URL | For H2: `jdbc:h2:mem:<uuid>` (printed at startup). |
|
||||
| MySQL Docker | `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 Docker | `docker run -e POSTGRES_USER=petclinic -e POSTGRES_PASSWORD=petclinic -e POSTGRES_DB=petclinic -p 5432:5432 postgres:18.3` |
|
||||
|
||||
## Operations
|
||||
|
||||
- **Local Development**:
|
||||
1. Clone the repository: `git clone https://gitea.kyndemo.live/validate/petclinic-demo-jonathan-scaf-2.git`.
|
||||
2. Start the application using Maven: `./mvnw spring-boot:run` or Gradle: `./gradlew bootRun`.
|
||||
3. Access the application at `http://localhost:8080`.
|
||||
|
||||
- **Container Build**:
|
||||
Use the Spring Boot build plugin: `./mvnw spring-boot:build-image`.
|
||||
|
||||
- **Rollback**:
|
||||
1. Open the [ArgoCD UI](https://argocd.kyndemo.live/applications/petclinic-demo-jonathan-scaf-2).
|
||||
2. Use the "History and Rollback" feature to revert to a previous version.
|
||||
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 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
|
||||
|
||||
### 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).
|
||||
|
||||
### 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.
|
||||
- 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**: [OpenTelemetry Application Observability](https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-service=petclinic).
|
||||
- **OTel Collector Endpoint**: `http://otel-collector.monitoring.svc.cluster.local:4318`.
|
||||
- **Alerts**: Configured via Grafana with label selector `app=petclinic`.
|
||||
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
|
||||
|
||||
@@ -74,3 +97,10 @@ The application supports multiple database configurations, including in-memory H
|
||||
- `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=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"
|
||||
}
|
||||
79
catalog/component/default/sonar-test-nest4/README.md
Normal file
79
catalog/component/default/sonar-test-nest4/README.md
Normal file
@@ -0,0 +1,79 @@
|
||||
---
|
||||
title: "sonar-test-nest4"
|
||||
generated_by: documentor-agent
|
||||
generated_at: "2026-05-21T08:45:51+00:00"
|
||||
human_edited: false
|
||||
source_entity: "Component/default/sonar-test-nest4"
|
||||
source_repo: "https://gitea.kyndemo.live/validate/sonar-test-nest4"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
`sonar-test-nest4` is a stateless microservice built using the `typescript-nestjs` runtime. It was scaffolded from the **Create Microservice** golden-path template on the Kyndryl Platform. The service provides a REST API for managing items, including endpoints for CRUD operations. It is designed to be lightweight, scalable, and observable, with integrated OpenTelemetry instrumentation and Prometheus metrics.
|
||||
|
||||
This service plays a critical role in the demo-apps domain, serving as a testbed for platform capabilities such as CI/CD pipelines, observability, and load testing. It is managed via Humanitec and deployed to Azure Kubernetes Service (AKS) using Score-based configurations.
|
||||
|
||||
## Repository
|
||||
|
||||
| Field | Value |
|
||||
|----------------|------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| Source Repo | [sonar-test-nest4](https://gitea.kyndemo.live/validate/sonar-test-nest4) |
|
||||
| Branch | `dev` |
|
||||
| ArgoCD App | — |
|
||||
| Namespace | `dev` |
|
||||
|
||||
## Architecture
|
||||
|
||||
`sonar-test-nest4` follows a modern microservice architecture with the following components:
|
||||
|
||||
- **Runtime**: `typescript-nestjs`
|
||||
- **Container Port**: `3000`
|
||||
- **Endpoints**:
|
||||
- `/api/items` for CRUD operations
|
||||
- `/health` for health checks
|
||||
- `/metrics` for Prometheus metrics
|
||||
- **Deployment**:
|
||||
- Images are built and pushed to Azure Container Registry (ACR).
|
||||
- Humanitec API triggers deployments to AKS using Score-based configurations.
|
||||
- **CI/CD**:
|
||||
- Gitea Actions workflows (`build-push.yml` and `deploy-humanitec.yml`) automate build, test, and deployment processes.
|
||||
- Promotion between environments (`dev → staging → prod`) is gated by CI checks and manual approvals.
|
||||
|
||||
## Configuration
|
||||
|
||||
| Config Key | Value |
|
||||
|------------------|--------------------|
|
||||
| `runtime` | `typescript-nestjs` |
|
||||
| `health_path` | `/health` |
|
||||
| `container_port` | `3000` |
|
||||
|
||||
Additional configuration options are managed via `.platform/config.yaml` and Humanitec score files.
|
||||
|
||||
## Operations
|
||||
|
||||
### Deployment Flow
|
||||
|
||||
1. Push changes to the `dev` branch to trigger automatic builds and deployments to the dev environment.
|
||||
2. Promote changes to `staging` or `prod` via PRs, requiring CI checks and one approval.
|
||||
3. Use Backstage's CI/CD tab to monitor and trigger promotions between environments.
|
||||
|
||||
### Runbook Notes
|
||||
|
||||
- **Health Check**: Verify service health via `/health`.
|
||||
- **Metrics**: Access Prometheus metrics at `/metrics`.
|
||||
- **Load Testing**: K6 is enabled for load testing, with configurations stored in the `k6-test-sonar-test-nest4` ConfigMap.
|
||||
|
||||
## Observability
|
||||
|
||||
- **Grafana Dashboard**: [OpenTelemetry Application Observability](https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-app=sonar-test-nest4)
|
||||
- **Prometheus Metrics**: Exposed at `/metrics` on port `3000`.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- `api:default/sonar-test-nest4-api`
|
||||
|
||||
## Links
|
||||
|
||||
- [Humanitec Console](https://console.humanitec.dev/orgs/skillful-wild-chicken-2617/projects/domain-demo-apps)
|
||||
- [Grafana Dashboard](https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-app=sonar-test-nest4)
|
||||
- [Source Repository](https://gitea.kyndemo.live/validate/sonar-test-nest4)
|
||||
13
catalog/component/default/sonar-test-nest4/_meta.json
Normal file
13
catalog/component/default/sonar-test-nest4/_meta.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"sourceShas": {
|
||||
"catalog-info.yaml": "aa72b708c50b03b5dd454112e1f50ab88546e586",
|
||||
".platform/initialized.md": "24a574f77ac17059b313a824398b9bb19263232e",
|
||||
"README.md": "393357c07b620a60ef22f449987d9195d533dd10",
|
||||
"docs/api.md": "86776bdd5e2fbe634709920102282ed589927c5b",
|
||||
"docs/architecture.md": "00364872501f36d455a6597502481c8422368746",
|
||||
"docs/index.md": "81f0ec2243665ad41daf93202c872cfc023eb21a"
|
||||
},
|
||||
"promptVersion": "1.0",
|
||||
"generatedAt": "2026-05-21T08:46:06+00:00",
|
||||
"contentHash": "a82efb2e2e92a9bcb63354c3faab85a4f8438528764c04da61699539d261fa17"
|
||||
}
|
||||
@@ -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.
|
||||
```
|
||||
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