Variants
A Variant is one complete copy of the configuration for a Component, adapted to a particular purpose. A component typically has several variants: one or more bases, which are not meant to be deployed, and deployments — one per target (region, cluster, or tenant) — which are. All variants of a component represent the same logical software and differ only in deployment-specific details.
A variant is implemented as a Space, named by the space's Variant label. The set of Config Units in the space is the totality of the configuration for the variant. Whether a variant is a base or a deployment is determined by whether it has a Target: no target means base.
Cloning
A variant is typically created by copying another variant of the same component — most often a base. This copy operation is called "clone"; at the API level it is a Create with an upstream source to copy. The new variant is said to be downstream of the upstream variant it was cloned from.
Cloning does more than copy. Each cloned Config Unit maintains a reference to the original, upstream Config Unit, at the specific Revision that was copied, in both Unit fields and with a Link of UpdateType UpgradeUnit. Later, after changes have been made to the upstream variant (and potentially to the downstream variant as well), the downstream variant may be upgraded to incorporate the upstream changes while preserving its own local customizations.
The upstream relationships among a component's variants form a tree: a variant can have at most one upstream, but many downstreams. A typical tree is a base at the root with deployments cloned from it, possibly through intermediate bases or environments (dev → staging → prod). This tree is what the Components view displays, and it is the path a change travels: see tracking and promoting changes.
Upstream relationships are not required. A variant can also be created independently, in which case propagating changes between it and its siblings is a manual exercise.
For creating, upgrading, and promoting variants in practice, see the guide.