Feature flags
zPodFactory stores feature flags in the global Setting table. Each flag is a row named with the ff_ prefix and a string value. Operators manage them with the CLI or API:
zcli setting create -n <flag> -v <value> [-d "<description>"]
zcli setting update <flag> --value <value>
zcli setting list
zcli setting delete <flag>
Flags are read at the point of use — changes take effect on the next operation, with no restart required. If a flag is absent, the default behavior applies.
Truthiness
Most boolean flags require the literal string "true" (lowercase). Anything else ("True", "1", "yes") is treated as off. A few flags (noted below) treat any non-empty string as on.
zPod creation
ff_unique_zpod_password
Forces every new zPod to use this exact password instead of a randomly generated one.
- Value: any non-empty string (the literal password)
- Example:
zcli setting create -n ff_unique_zpod_password -v "VMware1!"
VMware password requirements
When this flag is unset, zPodFactory generates random 16-character passwords designed to work across all VMware products deployed in a zPod (uppercase, lowercase, digit, and special character).
Setting a personal or shared password here may break provisioning if a product rejects it — for example VCF now enforces a 15-character minimum, or policies that disallow passwords that are too short, too simple, or missing required character classes.
ff_reuse_zpod_password
When creating a zPod whose name matches a previously deleted one, reuse that zPod's password.
- Value:
"true"to enable - Example:
zcli setting create -n ff_reuse_zpod_password -v true
ff_restrict_zpod_with_username_prefix
Non-superadmin users must name their zPods <username>-<anything>. Superadmins are exempt.
- Value:
"true"to enable - Example:
zcli setting create -n ff_restrict_zpod_with_username_prefix -v true
ff_default_config_scripts
Comma-separated list of config-script names auto-applied to new zPods that do not supply their own config-scripts feature.
- Value: comma-separated string, no spaces (e.g.
vdsnsx,sample) - Example:
zcli setting create -n ff_default_config_scripts -v "vdsnsx" - See Config scripts for details.
ff_zpod_default_profile
Default profile for zcli zpod create when --profile/-p is omitted. If unset, the CLI requires a profile.
- Value: profile name
- Example:
zcli setting create -n ff_zpod_default_profile -v base
ff_max_zpods_per_user
Cap on how many active zPods a non-superadmin user can own. 0, missing, or non-numeric means unlimited. Superadmins are exempt. Counts only zPods where the user has OWNER permission and status is not DELETED.
- Value: positive integer
- Example:
zcli setting create -n ff_max_zpods_per_user -v 3
ff_max_zpods_<username>
Per-user override of ff_max_zpods_per_user. When set, it fully replaces the global value for that user — including 0/invalid, which means unlimited for that user. Superadmins are still exempt.
- Value: positive integer;
0/invalid ⇒ unlimited for this user - Example:
zcli setting create -n ff_max_zpods_alice -v 10
zPod networking
ff_zpod_<zpod_name>_subnet
Pin a specific zPod to a custom primary /24 subnet instead of letting the engine allocate one. Must match the configured public-network prefix length (default /24).
- Value: CIDR string (e.g.
10.96.42.0/24) - Example:
zcli setting create -n ff_zpod_lab01_subnet -v 10.96.42.0/24
Component deployment
ff_esxi_hostname_is_fqdn
For ESXi components, set the hostname to the full FQDN (<short>.<domain>) instead of the short name during OVF deploy.
Set this to true when using William Lam VMware ESXi templates — they expect the deployed hostname to be the FQDN.
- Value: any non-empty string is on (no
"true"requirement) - Example:
zcli setting create -n ff_esxi_hostname_is_fqdn -v true
ff_component_wait_for_status
During post-script execution, block until the component reports a healthy status before continuing.
- Value:
"true"to enable - Example:
zcli setting create -n ff_component_wait_for_status -v true
ff_endpoint_ova_staging
Stage L1 OVAs once as VM templates on the endpoint vCenter and clone them for each deployment instead of re-uploading the full OVA every time. Off by default.
- Value:
"true"to enable - Example:
zcli setting create -n ff_endpoint_ova_staging -v true -d "Stage L1 OVAs as templates and clone per deployment"
See Endpoint OVA staging for architecture and operating notes.