From fc28011537fd4acbb3ad3b641e0a77594cec8407 Mon Sep 17 00:00:00 2001 From: demo-bot Date: Fri, 15 May 2026 15:19:32 +0000 Subject: [PATCH] docs: generate README for component/default/sonar-test-nest4 [documentor-agent] --- .../default/sonar-test-nest4/README.md | 86 ++++++++++--------- 1 file changed, 44 insertions(+), 42 deletions(-) diff --git a/catalog/component/default/sonar-test-nest4/README.md b/catalog/component/default/sonar-test-nest4/README.md index 8c14006..ef66678 100644 --- a/catalog/component/default/sonar-test-nest4/README.md +++ b/catalog/component/default/sonar-test-nest4/README.md @@ -1,74 +1,76 @@ --- -title: "Sonar Test Nest4" +title: "sonar-test-nest4" generated_by: documentor-agent -generated_at: "2026-05-14T12:03:00+00:00" +generated_at: "2026-05-15T15:19:14+00:00" human_edited: false source_entity: "Component/default/sonar-test-nest4" source_repo: "https://gitea.kyndemo.live/validate/sonar-test-nest4" --- -# Sonar Test Nest4 - -> A stateless microservice built with TypeScript and NestJS, providing API endpoints for item management and Prometheus-based observability. - ## Overview -Sonar Test Nest4 is a stateless microservice scaffolded from the **Create Microservice** golden-path template on the Kyndryl Platform. It is designed to manage items through a RESTful API and includes built-in observability features such as health checks and Prometheus metrics. +`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 RESTful 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 is implemented using the `typescript-nestjs` runtime and follows a structured branch model (`dev`, `staging`, `prod`, and `main`) to ensure smooth CI/CD workflows. It is deployed to Azure Kubernetes Service (AKS) via Humanitec, with container images stored in Azure Container Registry (ACR). - -This service plays a key role in the broader system by providing item management capabilities and adhering to platform standards for observability, deployment, and runtime configuration. +This service plays a key role in the demo-apps domain, serving as a foundational component for item management. It is deployed on Azure Kubernetes Service (AKS) via Humanitec, with container images stored in Azure Container Registry (ACR). The CI/CD pipeline is managed through Gitea Actions, ensuring automated builds, tests, and deployments across environments (`dev`, `staging`, `prod`). ## Repository -| Field | Value | -|---|---| -| Source Repo | [Sonar Test Nest4 Repository](https://gitea.kyndemo.live/validate/sonar-test-nest4) | -| Branch | dev | -| ArgoCD App | — | -| Namespace | dev | +| Field | Value | +|----------------|-----------------------------------------------------------------------------------------------------------------| +| Source Repo | [validate/sonar-test-nest4](https://gitea.kyndemo.live/validate/sonar-test-nest4) | +| Branch | `dev` → `staging` → `prod` (→ `main` SoR) | +| ArgoCD App | — | +| Namespace | `dev` | ## Architecture -Sonar Test Nest4 is built using the `typescript-nestjs` runtime and deployed as a stateless service. Key architectural components include: +`sonar-test-nest4` follows a stateless architecture, leveraging the `typescript-nestjs` framework. Key components include: -- **Runtime**: TypeScript with NestJS framework. -- **Container Port**: `3000`. -- **Health Check Endpoint**: `/health`. -- **Metrics Endpoint**: `/metrics` (Prometheus format). -- **Image Repository**: Azure Container Registry (`bstagecjotdevacr`). +- **Runtime**: `typescript-nestjs` +- **Container Port**: `3000` +- **Health Check**: `/health` +- **Metrics Endpoint**: `/metrics` (Prometheus format) +- **Image Registry**: Azure Container Registry (`bstagecjotdevacr`) -The CI/CD pipeline is managed through Gitea Actions workflows: -- `build-push.yml`: Builds and tests the application, then pushes the container image to ACR. -- `deploy-humanitec.yml`: Deploys the service to AKS via Humanitec using Score files. +The deployment flow is managed through Gitea Actions CI/CD workflows: +1. **build-push.yml**: Builds and tests the application, then pushes the container image to ACR. +2. **deploy-humanitec.yml**: Deploys the service to AKS using Humanitec's API and Score configuration. -Promotions between environments (`dev`, `staging`, `prod`) are triggered through Backstage's CI/CD tab, ensuring controlled and gated deployments. +Promotions between environments (`dev`, `staging`, `prod`) are triggered via PRs, with CI gates and approval requirements ensuring quality control. ## Configuration -| Config Key | Value | -|---|---| -| runtime | typescript-nestjs | -| health_path | /health | -| container_port | 3000 | +| Config Key | Value | +|------------------|--------------------| +| `runtime` | `typescript-nestjs` | +| `health_path` | `/health` | +| `container_port` | `3000` | ## Operations -The service follows a structured branch model for development and deployment: +### Deployment Steps +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 before merging. +3. Use the Backstage CI/CD tab to trigger promotions between environments. -- **dev**: Active development branch; commits trigger automatic builds and deployments to the dev environment. -- **staging**: Pre-production environment; changes are promoted from `dev` via PR with CI gate and approval. -- **prod**: Production environment; changes are promoted from `staging` via PR with CI gate and approval. -- **main**: System of record; receives merges from `prod` after releases. - -Deployment workflows are runtime-agnostic and rely on `.platform/config.yaml` for configuration. +### Runbook Notes +- Monitor `/health` for service health status. +- Use `/metrics` for Prometheus-based observability. +- Refer to `.platform/config.yaml` for runtime-specific configurations. ## Observability -- [Grafana Dashboard](https://grafana.kyndemo.live/d/otel-app-observability-v2/opentelemetry-application-observability?orgId=1&var-app=sonar-test-nest4): OpenTelemetry-based application observability. -- Prometheus metrics exposed at `/metrics`. -- Health check endpoint at `/health`. +- **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 -_No declared dependencies._ \ No newline at end of file +- `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) \ No newline at end of file -- 2.49.1