2026-03-24 10:31:01 +02:00

3.8 KiB

Ora Map Helm Chart

Helm chart for deploying Ora Map application in Kubernetes with microservices architecture.

Architecture

This chart deploys two main components:

  • Backend: Node.js Express API server (Port 3000)
  • Frontend: Nginx serving static files (Port 80)

Installation

Prerequisites

  • Kubernetes cluster 1.19+
  • Helm 3.0+
  • Docker images built and pushed to Harbor registry

Install Chart

# From the repository root
helm install oramap ./oramap

# Or with custom values
helm install oramap ./oramap -f custom-values.yaml

# Install in a specific namespace
helm install oramap ./oramap -n my-namespace --create-namespace

Upgrade Chart

helm upgrade oramap ./oramap

Uninstall Chart

helm uninstall oramap

Configuration

The following table lists the configurable parameters and their default values:

Parameter Description Default
backend.image.repository Backend image repository harbor.dvirlabs.com/my-apps/oramap-backend
backend.image.tag Backend image tag latest
backend.replicaCount Number of backend replicas 1
backend.containerPort Backend container port 3000
backend.resources.limits.cpu Backend CPU limit 500m
backend.resources.limits.memory Backend memory limit 512Mi
frontend.image.repository Frontend image repository harbor.dvirlabs.com/my-apps/oramap-frontend
frontend.image.tag Frontend image tag latest
frontend.replicaCount Number of frontend replicas 1
frontend.containerPort Frontend container port 80
service.type Kubernetes service type ClusterIP
ingress.enabled Enable ingress true
ingress.className Ingress class name traefik
ingress.hosts[0].host Ingress hostname oramap.dvirlabs.com

Example Custom Values

# custom-values.yaml
backend:
  image:
    tag: "v1.0.0"
  replicaCount: 3

frontend:
  image:
    tag: "v1.0.0"
  replicaCount: 2

ingress:
  hosts:
    - host: oramap.example.com
      paths:
        - path: /
          pathType: Prefix
  tls:
    - secretName: oramap-tls
      hosts:
        - oramap.example.com

Deployment Components

Backend Deployment

  • Runs Express.js API server
  • Health checks on /api/health
  • Configurable resources and replicas

Frontend Deployment

  • Runs Nginx serving static files
  • Proxies /api/* requests to backend service
  • Uses ConfigMap for nginx configuration
  • Health checks on /

Services

  • Backend Service: Internal ClusterIP service on port 3000
  • Frontend Service: ClusterIP service on port 80 (exposed via Ingress)

Ingress

  • Routes external traffic to frontend service
  • TLS/SSL termination support
  • Configurable hostname and paths

CI/CD Integration

The Woodpecker CI pipeline automatically:

  1. Builds backend and frontend Docker images
  2. Tags with branch name and commit SHA
  3. Pushes to Harbor registry
  4. Updates this chart's values in the GitOps repository

Accessing the Application

After installation, the application will be available at:

Troubleshooting

Check Pod Status

kubectl get pods -l release=oramap

View Logs

# Backend logs
kubectl logs -l app=oramap-backend

# Frontend logs
kubectl logs -l app=oramap-frontend

Check Services

kubectl get svc -l release=oramap

Test Backend Health

kubectl port-forward svc/oramap-backend 3000:3000
curl http://localhost:3000/api/health

Version History

  • 0.2.0: Microservices architecture with separate backend and frontend
  • 0.1.0: Initial monolithic deployment