isA Editions
How isA ships one product to multiple customers without maintaining forked repositories.
Overview
isA is a single product made available to different customers as editions — a brand and feature-set resolved from configuration at deploy time, not a separately maintained codebase. This replaced an earlier white-label model where each customer’s brand was shipped as its own forked repository.
Why editions, not forks
The earlier approach mirrored each isA_* repository into a customer-specific sn_*-style fork, mechanically rewriting brand strings (isa_ → sn_, ISA_* → SN_*, and so on) on a recurring sync. That worked, but every fork carried squashed history with no shared ancestry back to isA, and any customer-specific behavior that landed in a fork could never flow back upstream — the two codebases drifted by construction.
Editions collapse this to one codebase:
- One product, one repo set. All
isA_*repositories stay canonical; there is no fork to keep in sync. - Brand as config. Brand name, logo, color tokens, and enabled feature set are resolved from a Helm values profile at deploy time, the same way
runtime-modesresolvesNEXT_PUBLIC_RUNTIME_MODEfor local/edge/cloud. - Customer-specific behavior stays pluggable, not forked. Where a customer needs behavior the base product doesn’t have, it’s added as a plugin/entry-point consumed by the canonical SDK — never as a shadow copy of a platform repo.
How an edition is selected
An edition is a Helm profile applied at install/upgrade time — it sets the brand configuration and which optional services are enabled for that deployment, without changing any application code:
helm upgrade --install isa-platform ./deployments/charts/isa-service \
-f deployments/kubernetes/production/values/base.yaml \
-f deployments/kubernetes/production/values/editions/<edition>.yaml \
-n isa-cloud-productionThe edition values file overlays brand tokens and feature flags on top of the base values — see Deployment for the underlying Helm/ArgoCD mechanics that editions build on.
Status
Editions is the target model replacing the fork-based white-label approach; rollout is tracked in isA_Cloud#313. Until an edition is fully cut over, some customers may still be served from a legacy fork during the transition.
Next Steps
- Deployment - Helm chart and GitOps mechanics
- Runtime Modes - how local/edge/cloud resolve their own runtime configuration