From da4ea18d47a0524c1c547aa614b2b49c490f1e8b Mon Sep 17 00:00:00 2001 From: demo-bot Date: Mon, 18 May 2026 09:44:35 +0000 Subject: [PATCH 1/2] docs: generate README for component/default/sonar-test-nest4 [documentor-agent] --- .../default/sonar-test-nest4/README.md | 65 ++++++++++--------- 1 file changed, 34 insertions(+), 31 deletions(-) diff --git a/catalog/component/default/sonar-test-nest4/README.md b/catalog/component/default/sonar-test-nest4/README.md index c849998..3ed5495 100644 --- a/catalog/component/default/sonar-test-nest4/README.md +++ b/catalog/component/default/sonar-test-nest4/README.md @@ -1,7 +1,7 @@ --- title: "sonar-test-nest4" generated_by: documentor-agent -generated_at: "2026-05-18T09:31:41+00:00" +generated_at: "2026-05-18T09:44:21+00:00" human_edited: false source_entity: "Component/default/sonar-test-nest4" source_repo: "https://gitea.kyndemo.live/validate/sonar-test-nest4" @@ -9,61 +9,64 @@ 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, exposing endpoints for CRUD operations. It is designed to be lightweight, scalable, and integrates seamlessly with the platform's CI/CD pipeline and observability stack. +`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. -The service plays a critical role in the demo-apps domain, serving as a foundational component for showcasing platform capabilities such as OpenTelemetry instrumentation, Prometheus metrics, and automated load testing with k6. It is managed by the platform engineering group and follows a strict branch promotion model to ensure stability across environments. +This service plays a key role in the demo-apps domain, serving as a foundational component for item management workflows. It is deployed via Humanitec to an AKS cluster, with CI/CD pipelines managed through Gitea Actions. Observability is enabled through Grafana dashboards and Prometheus metrics, ensuring operational insights and performance monitoring. ## Repository -| Field | Value | -|----------------|-----------------------------------------------------------------------------------------------------------------------------| -| Source Repo | [sonar-test-nest4](https://gitea.kyndemo.live/validate/sonar-test-nest4) | -| Branch | `dev` | -| ArgoCD App | — | -| Namespace | `dev` | +| 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` is deployed as a containerized service on Azure Kubernetes Service (AKS) via Humanitec's Score-based deployment. The CI/CD pipeline is powered by Gitea Actions, which automates the build, test, and deployment processes. The service communicates with other components through its REST API and exposes Prometheus metrics for monitoring. +`sonar-test-nest4` follows a modern microservice architecture: -Key architectural details: - **Runtime**: `typescript-nestjs` - **Container Port**: `3000` - **Endpoints**: - `/api/items` for CRUD operations - `/health` for health checks - `/metrics` for Prometheus metrics -- **Image Registry**: Azure Container Registry (`bstagecjotdevacr`) -- **Deployment Flow**: - - Push to `dev` triggers automatic build and deployment to the dev environment. - - Promotion to `staging` and `prod` requires PR approval and passing CI gates. +- **Deployment**: + - Images are built and pushed to Azure Container Registry (ACR). + - Humanitec manages deployments to AKS using Score files. +- **CI/CD**: + - Gitea Actions workflows (`build-push.yml` and `deploy-humanitec.yml`) automate build, test, and deployment processes. +- **Branch Model**: + - `dev` → `staging` → `prod` → `main` (system of record). ## Configuration -| Config Key | Value | -|------------------|----------------| +| Config Key | Value | +|------------------|--------------------| | `runtime` | `typescript-nestjs` | -| `health_path` | `/health` | -| `container_port` | `3000` | +| `health_path` | `/health` | +| `container_port` | `3000` | ## Operations -### Deployment Steps -1. Push changes to the `dev` branch for automatic deployment to the dev environment. -2. Open a PR for promotion to `staging` or `prod`. Ensure CI tests pass and obtain one approval. -3. Merge the PR to trigger deployment to the target environment. +### Deployment Flow -### Runbook Notes -- Monitor the `/health` endpoint for service status. -- Use the `/metrics` endpoint for Prometheus-based observability. -- Refer to `.platform/config.yaml` for runtime-specific configurations. +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 gate and approval. +3. Merge production-ready code to the `main` branch as the system of record. + +### Observability + +- **Health Check**: `/health` endpoint returns `{"status":"UP"}`. +- **Metrics**: `/metrics` endpoint exposes Prometheus metrics. +- **Grafana Dashboard**: [Opentelemetry Application Observability](https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-app=sonar-test-nest4). ## 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**: Enabled (`/metrics` endpoint) -- **Chaos Mesh**: Enabled for resilience testing -- **k6 Load Testing**: Configured (`k6-test-sonar-test-nest4` in `dev` namespace) +- [Grafana Dashboard](https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-app=sonar-test-nest4) +- Prometheus metrics enabled (`/metrics`). +- OpenTelemetry instrumentation integrated. ## Dependencies From b6af57adefad8f91c62cf79ad24a37c63ed457f2 Mon Sep 17 00:00:00 2001 From: demo-bot Date: Mon, 18 May 2026 09:44:38 +0000 Subject: [PATCH 2/2] docs: update _meta.json for component/default/sonar-test-nest4 [documentor-agent] --- catalog/component/default/sonar-test-nest4/_meta.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/catalog/component/default/sonar-test-nest4/_meta.json b/catalog/component/default/sonar-test-nest4/_meta.json index 475e01c..fb60b5a 100644 --- a/catalog/component/default/sonar-test-nest4/_meta.json +++ b/catalog/component/default/sonar-test-nest4/_meta.json @@ -4,10 +4,10 @@ ".platform/initialized.md": "24a574f77ac17059b313a824398b9bb19263232e", "README.md": "4b5a7f83a6729688266ef621748367cbd556ddfe", "docs/api.md": "86776bdd5e2fbe634709920102282ed589927c5b", - "docs/architecture.md": "6d022a6fee34ee24f7274bb18396d1c107be0c17", + "docs/architecture.md": "00364872501f36d455a6597502481c8422368746", "docs/index.md": "81f0ec2243665ad41daf93202c872cfc023eb21a" }, "promptVersion": "1.0", - "generatedAt": "2026-05-18T09:31:57+00:00", - "contentHash": "2d6860fb20532f67f7eb90613079f2b89ae234dc7b7593245c284ea8ff736676" + "generatedAt": "2026-05-18T09:44:33+00:00", + "contentHash": "f915ebba47688cb37836b549477a2d11ff8d46d82974a7d6cba92f5e2090ca32" } \ No newline at end of file