Skip to Content

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-modes resolves NEXT_PUBLIC_RUNTIME_MODE for 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-production

The 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