Skip to main content

Package and Deploy

The Quickstart deploys a single-component solution. This page extends to multi-component (api + worker + scheduler + agent…), per-environment overlays, image-publish workflows, and where ArgoCD picks up from there.

Single vs multi-component

em-service (v0.0.15) is the base chart for one deployable workload — one Deployment, one Service, one set of probes. Solutions that need more than one workload include em-service multiple times as subchart dependencies, each with a unique alias. Read top-down: one umbrella chart per solution; one em-service instance per workload (api / worker / scheduler / agent); per-environment values overlay-merge with the defaults. Add a fourth alias and you’ve added a fourth deployable component — no other moving parts change. See em-service Chart › Using as a subchart for the canonical reference.

Multi-component layout

A typical “API + worker” solution:
charts/<solution>/Chart.yaml
Each alias has its own values block in values.yaml:
charts/<solution>/values.yaml

Per-environment overlays

Use one values.yaml for shared defaults, plus values.<env>.yaml overlays for things that change between environments (image tags, replica counts, host names, log levels). Apply with helm -f:
Example dev overlay:
charts/<solution>/values.dev.yaml
Production overlay (just the deltas):
charts/<solution>/values.prod.yaml

Build and publish images

Per-component, multi-stage Dockerfile (one image per workload). Use the same Dockerfile parametrized via --target if your components share a build base; or one Dockerfile per component if they diverge significantly.
For private registries, configure imagePullSecrets in values.yaml:

Versioning

Keep the Helm chart version and the image tag independent:
WhatBumped when
Chart version (in Chart.yaml)Chart structure changes (added/removed/renamed values, alias changes)
appVersionDefault app version this chart targets — informational
Image tag (in values.yaml)Application code changes
Use semver for both. See Helm › Upgrades for the upgrade policy (which chart-version bumps are breaking, how to roll back, etc.).

Deploy

Local

Verify all components are running and probes are passing.

CI/CD

For automated deploys, use whatever CI/CD your team prefers; the chart itself is environment-agnostic.

Air-gapped deployments

If the target cluster has no internet access (some customer environments), pre-stage:
  1. The chart tarball (helm pull oci://ghcr.io/emergenceai/em-charts/em-service --version 0.0.15)
  2. All component images (docker save | docker load on the air-gapped side)
  3. The pull-secret pointing at the customer’s internal registry

Verification

Next steps

em-service Chart

Full values reference for the base chart.

Helm › Configuration

Platform-wide chart configuration.

Helm › Upgrades

Upgrade and rollback policy.

Starter templates

Pre-built scaffolds for common solution shapes.