Skip to content

[BD-848] Production-ready Kubernetes deployment with CI/CD#22

Merged
Ranganathan-code-ops merged 1 commit intomainfrom
feature/orch-001/BD-848-kubernetes-deployment
Feb 13, 2026
Merged

[BD-848] Production-ready Kubernetes deployment with CI/CD#22
Ranganathan-code-ops merged 1 commit intomainfrom
feature/orch-001/BD-848-kubernetes-deployment

Conversation

@Ranganathan-code-ops
Copy link
Copy Markdown
Collaborator

@Ranganathan-code-ops Ranganathan-code-ops commented Feb 12, 2026

Summary

  • Added production-ready Kubernetes manifests with Kustomize overlays for staging and production environments
  • Implemented CI/CD deployment workflow with staging → production promotion gate
  • Added E2E smoke test scripts and manifest validation in CI pipeline

Changes

K8s Base Manifests (k8s/base/)

  • Deployment: 2 replicas, CPU 100m-500m, Memory 128Mi-512Mi, liveness/readiness/startup probes
  • Service: ClusterIP on port 8080
  • ConfigMap: Environment variables (ASPNETCORE_ENVIRONMENT, logging levels)
  • Secret: Base64 placeholder for connection string
  • Namespace: ordermonitor with standard labels
  • HPA: min 2, max 10 replicas, CPU target 70%, Memory target 80%
  • Ingress: nginx ingress with /api/*, /health, /swagger routes + TLS

Kustomize Overlays

  • Staging: Reduced resources (1 replica, CPU 50m-250m, Mem 64Mi-256Mi), debug logging
  • Production: Full resources (2 replicas, CPU 100m-500m, Mem 128Mi-512Mi)

CI/CD

  • deploy.yml: Tag-triggered deployment with staging → production promotion (manual gate)
  • ci.yml: Added validate-manifests job for YAML syntax and Kustomize validation

Scripts

  • smoke-test.sh: E2E smoke tests for health, orders API, alerts API, diagnostics, swagger
  • validate-manifests.sh: Local manifest validation script

Test Plan

  • Existing unit tests pass (115 tests)
  • Existing integration tests pass (35 tests)
  • Build succeeds with 0 warnings, 0 errors
  • Manual review of K8s manifests
  • Validate Kustomize overlays render correctly
  • Smoke tests execute against deployed environment

Related

🤖 Generated with Claude Code

- Add K8s base manifests: Deployment (2 replicas, probes), Service
  (ClusterIP:8080), ConfigMap, Secret, Namespace, HPA, Ingress
- Add Kustomize overlays for staging (reduced resources) and production
- Add deploy.yml workflow with staging → production promotion gate
- Add smoke test script covering health, orders, alerts, diagnostics
- Add manifest validation script and CI job
- Configure HPA: min 2, max 10 replicas, CPU 70%, Memory 80%
- Configure Ingress: /api/*, /health, /swagger with TLS

Closes BD-848

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Ranganathan-code-ops Ranganathan-code-ops merged commit aeb68d9 into main Feb 13, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants