9 Commits

2 changed files with 27 additions and 27 deletions

View File

@@ -1,7 +1,7 @@
---
title: "sonar-test-nest4"
generated_by: documentor-agent
generated_at: "2026-05-18T09:44:21+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"
@@ -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 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.
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.
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 | [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` follows a modern microservice architecture:
`sonar-test-nest4` follows a modern microservice architecture with the following components:
- **Runtime**: `typescript-nestjs`
- **Container Port**: `3000`
@@ -32,13 +32,12 @@ This service plays a key role in the demo-apps domain, serving as a foundational
- `/api/items` for CRUD operations
- `/health` for health checks
- `/metrics` for Prometheus metrics
- **Deployment**:
- **Deployment**:
- Images are built and pushed to Azure Container Registry (ACR).
- Humanitec manages deployments to AKS using Score files.
- 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.
- **Branch Model**:
- `dev``staging``prod``main` (system of record).
- Promotion between environments (`dev → staging → prod`) is gated by CI checks and manual approvals.
## Configuration
@@ -46,27 +45,28 @@ This service plays a key role in the demo-apps domain, serving as a foundational
|------------------|--------------------|
| `runtime` | `typescript-nestjs` |
| `health_path` | `/health` |
| `container_port` | `3000` |
| `container_port` | `3000` |
Additional configuration options are managed via `.platform/config.yaml` and Humanitec score files.
## Operations
### Deployment Flow
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.
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.
### Observability
### Runbook Notes
- **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).
- **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](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.
- **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` on port `3000`.
## Dependencies

View File

@@ -1,13 +1,13 @@
{
"sourceShas": {
"catalog-info.yaml": "5c2be634ddfec05ec6fed8c7b85cb2c8b9ab3c13",
"catalog-info.yaml": "aa72b708c50b03b5dd454112e1f50ab88546e586",
".platform/initialized.md": "24a574f77ac17059b313a824398b9bb19263232e",
"README.md": "4b5a7f83a6729688266ef621748367cbd556ddfe",
"README.md": "393357c07b620a60ef22f449987d9195d533dd10",
"docs/api.md": "86776bdd5e2fbe634709920102282ed589927c5b",
"docs/architecture.md": "00364872501f36d455a6597502481c8422368746",
"docs/index.md": "81f0ec2243665ad41daf93202c872cfc023eb21a"
},
"promptVersion": "1.0",
"generatedAt": "2026-05-18T09:44:33+00:00",
"contentHash": "f915ebba47688cb37836b549477a2d11ff8d46d82974a7d6cba92f5e2090ca32"
"generatedAt": "2026-05-21T08:46:06+00:00",
"contentHash": "a82efb2e2e92a9bcb63354c3faab85a4f8438528764c04da61699539d261fa17"
}