--- title: "sonar-test-nest4" generated_by: documentor-agent generated_at: "2026-05-18T10:03:38+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 CRUD operations, and exposes observability endpoints for health checks and Prometheus metrics. This service plays a key role in the broader system by offering a scalable and observable backend for item management. It is deployed using Humanitec's API-driven deployment model, leveraging Azure Kubernetes Service (AKS) and Azure Container Registry (ACR). The CI/CD pipeline automates builds, tests, and deployments across development, staging, and production environments. ## Repository | Field | Value | |----------------|------------------------------------------------------------------------------------------------------------------------------------| | Source Repo | [validate/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 Flow**: - Push to `dev`, `staging`, or `prod` triggers CI/CD workflows: - `build-push.yml`: Builds and tests the service, then pushes the container image to Azure Container Registry. - `deploy-humanitec.yml`: Deploys the service to AKS using Humanitec's Score-based deployment model. - **Branch Model**: - `dev`: Active development, auto-deploys to the dev environment. - `staging`: Pre-production, promoted from `dev` via PR. - `prod`: Production, promoted from `staging` via PR. - `main`: System of record, receives merges from `prod`. ## Configuration | Config Key | Value | |------------------|-------------------| | `runtime` | `typescript-nestjs` | | `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 to promote changes from `dev` to `staging`. Ensure CI tests pass and obtain one approval. 3. Open a PR to promote changes from `staging` to `prod`. Ensure CI tests pass and obtain one approval. 4. Merge changes from `prod` to `main` for system-of-record updates. ### Observability Endpoints - `/health`: Returns `{"status":"UP"}` for health checks. - `/metrics`: Exposes Prometheus metrics for monitoring. ## 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 via `k6-test-sonar-test-nest4` in the `dev` namespace. ## 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)