2 Commits

View File

@@ -1,7 +1,7 @@
---
title: "sonar-test-nest4"
generated_by: documentor-agent
generated_at: "2026-05-15T15:19:14+00:00"
generated_at: "2026-05-15T15:19:48+00:00"
human_edited: false
source_entity: "Component/default/sonar-test-nest4"
source_repo: "https://gitea.kyndemo.live/validate/sonar-test-nest4"
@@ -11,20 +11,20 @@ source_repo: "https://gitea.kyndemo.live/validate/sonar-test-nest4"
`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.
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`).
This service plays a critical role in the demo-apps domain, serving as a foundational component for item management workflows. It is deployed via Humanitec and runs on Azure Kubernetes Service (AKS), leveraging Azure Container Registry for image storage. 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 | [validate/sonar-test-nest4](https://gitea.kyndemo.live/validate/sonar-test-nest4) |
| Branch | `dev` `staging``prod` (→ `main` SoR) |
| Branch | `dev` |
| ArgoCD App | — |
| Namespace | `dev` |
## Architecture
`sonar-test-nest4` follows a stateless architecture, leveraging the `typescript-nestjs` framework. Key components include:
`sonar-test-nest4` follows a stateless architecture and is deployed as a containerized service. Key components include:
- **Runtime**: `typescript-nestjs`
- **Container Port**: `3000`
@@ -32,38 +32,41 @@ This service plays a key role in the demo-apps domain, serving as a foundational
- **Metrics Endpoint**: `/metrics` (Prometheus format)
- **Image Registry**: Azure Container Registry (`bstagecjotdevacr`)
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.
The deployment flow is managed through Gitea Actions workflows:
1. **build-push.yml**: Builds and tests the application, then pushes the container image to Azure Container Registry.
2. **deploy-humanitec.yml**: Deploys the service to AKS via Humanitec using Score files.
Promotions between environments (`dev`, `staging`, `prod`) are triggered via PRs, with CI gates and approval requirements ensuring quality control.
Promotions between environments (`dev`, `staging`, `prod`) are triggered through Backstage's CI/CD tab, ensuring controlled and gated deployments.
## Configuration
| Config Key | Value |
|------------------|--------------------|
| Config Key | Value |
|------------------|----------------|
| `runtime` | `typescript-nestjs` |
| `health_path` | `/health` |
| `container_port` | `3000` |
| `health_path` | `/health` |
| `container_port` | `3000` |
Environment-specific configurations are managed via Humanitec and Score files. Additional configuration details can be found in `.platform/config.yaml`.
## Operations
### 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.
3. Use Backstage's CI/CD tab to trigger environment promotions.
### Runbook Notes
- Monitor `/health` for service health status.
- Monitor the `/health` endpoint for service health.
- Use `/metrics` for Prometheus-based observability.
- Refer to `.platform/config.yaml` for runtime-specific configurations.
- Refer to `.gitea/workflows/` for CI/CD pipeline configurations.
<!-- TODO: FILL IN -->
## 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.
- **Prometheus Metrics**: Enabled (`/metrics` endpoint)
- **Alerting**: Configured via Grafana with label selector `app=sonar-test-nest4`
## Dependencies