Skip to main content

em-service Chart

em-service is the base Helm chart for deploying any containerised CRAFT service to a Kubernetes cluster. Every CRAFT solution chart wraps it as a subchart — one instance per component, differentiated by alias.

Features

  • Deployment with configurable replicas, update strategy and pod annotations
  • Three-layer environment variable model with deduplication (see below)
  • Secret injection via envFrom or individual envVars entries with valueFrom
  • Ingress with flexible routing (standard Kubernetes Ingress and Gateway API)
  • Horizontal Pod Autoscaler
  • Liveness, readiness and startup probes
  • PersistentVolumeClaim support
  • Init containers and sidecars
  • RuntimeClass for specialised runtimes

Installation

Version pin: 0.0.15, not 0.0.16. Only 0.0.15 is currently published to the OCI registry (helm pull --version 0.0.16 returns “manifest unknown”). Bump this page when a newer tag is published. The registry is private — run helm registry login ghcr.io before pulling; access is granted to the Emergence team and Solution/Agent design partners.

Environment variable model

Three layers, applied in order, with deduplication:
LayerFormatPurpose
envmap[string]stringPlain-text variables. Always wins over envVars/extraEnvVars with the same name
envVarsKubernetes env object listFull env spec — use valueFrom for secrets, ConfigMaps, field refs
extraEnvVarsKubernetes env object listAdditional variables appended after envVars
Deduplication rule: if a key in env matches the name of an envVars or extraEnvVars entry, the list entry is suppressed. This allows parent charts to define secret-backed defaults while letting operators override with plain values without creating duplicate env entries.

Key values

ValueDefaultDescription
replicaCount1Number of replicas
image.repository""Container image repository
image.tag""Image tag
image.pullPolicyIfNotPresentPull policy
imagePullSecrets[]Image pull secret names
env{}Plain-text environment variables
envVars[]Kubernetes env object list (supports valueFrom)
service.typeClusterIPKubernetes service type
service.port8000Service port
ingress.enabledfalseEnable Kubernetes Ingress
resources{}CPU/memory requests and limits
autoscaling.enabledfalseEnable HPA
The full values reference is in charts/em-service/values.yaml in the em-charts repository.

Using as a subchart

For the how-to flavour (multi-component packaging, env overlays, build-and-publish, GitOps), see Solution Developer Guide › Package and Deploy. This page is the values reference; that page is the workflow.
Service charts declare em-service as a subchart dependency in Chart.yaml:
Configure each instance under its alias in values.yaml:

em-core Chart

Core platform chart using em-service for platform components.

em-data-insights Chart

Data insights solution chart extending em-core.

Helm Configuration

em-runtime chart configuration and deployment modes.