Skip to content

vault config

Manage Vault configuration as code. Pull components, Vault Java SDK classes, and Custom Pages to a local workspace. Edit them, preview and push changes back to Vault.

The vault config subcommands are pull, push, and package. All accept --dir <DIR> to set the workspace root (default: current directory).


Pull components, Vault Java SDK classes, and Custom Pages from a Vault to the local workspace.

Only changed files are written. Unchanged files are left untouched. Components are written with large or structured attribute values extracted into typed sidecar files (.xml, .json, .txt, .js) for diff-friendly source control.

vault config pull [--dns <DNS>] [--dir <DIR>] [--type <TYPES>...] [--translations] [--dry-run]
OptionTypeRequiredDescription
--dns <DNS>stringOptionalVault DNS to pull from (default: the active vault)
--dir <DIR>stringOptionalWorkspace root. Default: current directory
--type <TYPES>...stringOptionalLimit to specific component types (repeatable). For example, --type Picklist --type ObjectType
--translationsflagOptionalAlso pull bulk translation CSVs
--dry-runflagOptionalReport what would change without writing to disk

This command also accepts the global options.

vault config pull
vault config pull --dry-run

Deploy local workspace changes to a Vault.

Computes the diff from local files, reassembles sidecar files into full MDL, and deploys only what changed. Runs a drift pre-check before deploying. Stops if the remote vault has been modified since your last pull.

vault config push [--dns <DNS>] [--dir <DIR>] [--dry-run] [--allow-deletes]
OptionTypeRequiredDescription
--dns <DNS>stringOptionalVault DNS to push to (default: the active vault)
--dir <DIR>stringOptionalWorkspace root. Default: current directory
--dry-runflagOptionalPrint the push plan without deploying. Shows an unvalidated diff of what would change.
--allow-deletesflagOptionalPermit component deletions from the Vault

This command also accepts the global options.

vault config push
vault config push --dry-run
vault config push --yes

Build a VPK package from locally changed components.

Only MDL components are included. Vault Java SDK classes and Custom Pages are not packaged.

vault config package create [--dns <DNS>] [--dir <DIR>] [--output <FILE>] [--description <TEXT>] [--author <NAME>]
OptionTypeRequiredDescription
--dns <DNS>stringOptionalVault DNS used to resolve component metadata (default: the active vault)
--dir <DIR>stringOptionalWorkspace root. Default: current directory
--output <FILE>stringOptionalOutput VPK path. Default: <workspace>/package.vpk
--description <TEXT>stringOptionalDescription to embed in the package manifest
--author <NAME>stringOptionalAuthor to embed in the manifest. Default: your stored username for the target vault, if any

This command also accepts the global options.

Build a package from changed components

Section link for Build a package from changed components
vault config package create

Build a package to a specific path

Section link for Build a package to a specific path
vault config package create --output ./releases/mypackage.vpk

Upload and import a VPK package into a Vault.

Runs a two-step import and deploy pipeline: uploads the VPK, polls the import job, then triggers and polls the deploy job.

vault config package deploy <VPK> [--dns <DNS>] [--dir <DIR>] [--dry-run]
OptionTypeRequiredDescription
<VPK>stringRequiredPath to the VPK archive to deploy
--dns <DNS>stringOptionalVault DNS to deploy to (default: the active vault)
--dir <DIR>stringOptionalWorkspace root. Default: current directory
--dry-runflagOptionalValidate the VPK without uploading

This command also accepts the global options.

Deploy a VPK to the active environment

Section link for Deploy a VPK to the active environment
vault config package deploy ./releases/mypackage.vpk
vault config package deploy ./releases/mypackage.vpk --dry-run
vault config package deploy ./releases/mypackage.vpk --yes