From ea04340ef8b767543a4da1e312e571eb2d528077 Mon Sep 17 00:00:00 2001 From: demo-bot Date: Thu, 21 May 2026 08:46:08 +0000 Subject: [PATCH 1/2] docs: generate README for component/default/sonar-test-nest4 [documentor-agent] --- .../default/sonar-test-nest4/README.md | 59 +++++++++---------- 1 file changed, 27 insertions(+), 32 deletions(-) diff --git a/catalog/component/default/sonar-test-nest4/README.md b/catalog/component/default/sonar-test-nest4/README.md index 95193c3..c302d6c 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-21T07:55:31+00:00" +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" @@ -9,69 +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, including CRUD operations, and is instrumented with OpenTelemetry for observability. It is designed to integrate seamlessly into the platform's CI/CD pipeline, leveraging Humanitec for deployment orchestration and Azure Container Registry for image storage. +`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, showcasing best practices for microservice development, deployment, and observability. It is managed by the platform engineering team and adheres to a strict branch promotion model to ensure quality and stability across environments. +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 | [validate/sonar-test-nest4](https://gitea.kyndemo.live/validate/sonar-test-nest4) | +| 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: +`sonar-test-nest4` follows a modern microservice architecture with the following components: - **Runtime**: `typescript-nestjs` - **Container Port**: `3000` - **Endpoints**: - - `/api/items` for CRUD operations on items. - - `/health` for health checks. - - `/metrics` for Prometheus-compatible metrics. -- **Deployment Flow**: - - CI/CD pipelines in Gitea Actions handle build, test, and deployment. - - Images are pushed to Azure Container Registry (`bstagecjotdevacr`). - - Humanitec orchestrates deployments to AKS using Score files. - -The service is designed for scalability and observability, with OpenTelemetry instrumentation and Prometheus metrics exposed at `/metrics`. + - `/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 | -|------------------|------------------| +| Config Key | Value | +|------------------|--------------------| | `runtime` | `typescript-nestjs` | -| `health_path` | `/health` | -| `container_port` | `3000` | +| `health_path` | `/health` | +| `container_port` | `3000` | -Additional configuration details are managed via `.platform/config.yaml` and Humanitec Score files. +Additional configuration options are managed via `.platform/config.yaml` and Humanitec score files. ## Operations -### Deployment Steps +### Deployment Flow -1. Push changes to the `dev` branch for automatic deployment to the development environment. -2. Open a PR for promotion to `staging` or `prod`. Ensure CI tests pass and obtain one approval. -3. Merge PR to trigger deployment to the target environment. +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 at `/health`. -- **Metrics**: Monitor Prometheus metrics at `/metrics`. -- **Promotion Flow**: - - `dev → staging`: Requires CI gate and approval. - - `staging → prod`: Requires CI gate and approval. - - `prod → main`: Merge via PR after release. +- **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`. - -_Chaos Mesh and K6 load testing are enabled for this service._ +- **Prometheus Metrics**: Exposed at `/metrics` on port `3000`. ## Dependencies -- 2.49.1 From c05892070f9c38623e02095c4c1b24b5b7efaeaa Mon Sep 17 00:00:00 2001 From: demo-bot Date: Thu, 21 May 2026 08:46:10 +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 fa36abc..a3e9712 100644 --- a/catalog/component/default/sonar-test-nest4/_meta.json +++ b/catalog/component/default/sonar-test-nest4/_meta.json @@ -1,6 +1,6 @@ { "sourceShas": { - "catalog-info.yaml": "1dfa78366377f0f0c1d72669a551f44e90e8f6b1", + "catalog-info.yaml": "aa72b708c50b03b5dd454112e1f50ab88546e586", ".platform/initialized.md": "24a574f77ac17059b313a824398b9bb19263232e", "README.md": "393357c07b620a60ef22f449987d9195d533dd10", "docs/api.md": "86776bdd5e2fbe634709920102282ed589927c5b", @@ -8,6 +8,6 @@ "docs/index.md": "81f0ec2243665ad41daf93202c872cfc023eb21a" }, "promptVersion": "1.0", - "generatedAt": "2026-05-21T07:55:50+00:00", - "contentHash": "86c1649daaec999ba977c2baee3ad51bd3f679de80480fb0c830c0ef3626ece1" + "generatedAt": "2026-05-21T08:46:06+00:00", + "contentHash": "a82efb2e2e92a9bcb63354c3faab85a4f8438528764c04da61699539d261fa17" } \ No newline at end of file -- 2.49.1