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.
em-service (v0.0.16) 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.
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:
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.
# Chart renders cleanly with the production overlayhelm template <solution> ./charts/<solution> \ -f ./charts/<solution>/values.yaml \ -f ./charts/<solution>/values.prod.yaml | head -50# All declared components have running podskubectl -n em-<solution> get deploymentskubectl -n em-<solution> get pods# Image tags match what you intended to deploykubectl -n em-<solution> get pods -o jsonpath='{.items[*].spec.containers[*].image}' | tr ' ' '\n' | sort -u