Configuration
This topic describes the ways in which you can control OrgFlow's various options and settings.
Passthrough arguments
Passthrough arguments are a way to provide advanced configuration options to OrgFlow. They can be provided to every command, even if they might not affect every command (for example, Git specific options would not affect the operation of a command that does not interact with Git).
You can provide a passthrough argument either as an environment variable, or as a command line argument (for example orgflow <command> <passthrough argument>
). The following passthrough arguments are available:
Git
Control the way that OrgFlow interacts with Git.
Environment Variable | Command Option | Description | Default Value |
---|---|---|---|
ORGFLOW__GIT__EXECUTABLEPATH |
--c:git:executablePath |
The location of the Git executable on disk. | git |
ORGFLOW__GIT__UNKNOWNAUTHORNAME |
--c:git:unknownAuthorName |
The name to use in the commit signature for changes where OrgFlow is unable to determine the author (for example, deletes). | Unknown Author |
ORGFLOW__GIT__UNKNOWNAUTHOREMAIL |
--c:git:unknownAuthorEmail |
The email address to use in the commit signature for changes where OrgFlow is unable to determine the author (for example, deletes). | unknownauthor@orgflow.io |
ORGFLOW__GIT__COMMITTERNAME |
--c:git:committerName |
The name to use in the committer's commit signature. | OrgFlow |
ORGFLOW__GIT__COMMITTEREMAIL |
--c:git:committerEmail |
The email address to use in the committer's commit signature. | orgflow@orgflow.io |
ORGFLOW__GIT__MERGESTRATEGY |
--c:git:mergeStrategy |
The merge strategy option passed to Git. | recursive |
ORGFLOW__GIT__MERGESTRATEGYOPTIONS |
--c:git:mergeStrategyOptions |
The merge strategy specific options passed to Git. | diff-algorithm=patience |
Metadata API
Control the way that OrgFlow interacts with Salesforce's Metadata API.
This includes options to change how many metadata items are included in a single retrieve batch, the composition of retrive batches, and and how many concurrent calls OrgFlow will make to the Metadata API. You may be able to reduce the time that retrieves take by tweaking these values to better suit your org size and compute resources.
Environment Variable | Command Option | Description | Default Value |
---|---|---|---|
ORGFLOW__METADATAPI__MAXNUMBERCONCURRENTLISTCALLS |
--c:metadataapi:maxnumberconcurrentlistcalls |
The maximum number of concurrent API calls to Salesforce's metadata list API endpoint. | 8 |
ORGFLOW__METADATAPI__MAXNUMBERCONCURRENTRETRIEVEOPERATIONS |
--c:metadataapi:maxnumberconcurrentretrieveoperations |
The maximum number of retrieve batches to be concurrently retrieved from Salesforce's metadata retrieve API. | 16 |
ORGFLOW__METADATAPI__MINRETRIEVEBATCHSIZE |
--c:metadataapi:minretrievebatchsize |
The minimum number of metadata items that OrgFlow should aim to include in each retrieve batch. | 200 |
ORGFLOW__METADATAPI__MAXRETRIEVEBATCHSIZE |
--c:metadataapi:maxretrievebatchsize |
The maximum number of metadata items that OrgFlow should aim to include in each retrieve batch. | 1000 |
ORGFLOW__METADATAPI__MINNUMBERRETRIEVEBATCHES |
--c:metadataapi:minnumberretrievebatches |
The minimum number of retrieve batches that OrgFlow should aim to create. This value does not impact the minimum number of metadata items that OrgFlow should aim to include in each retrieve batch, but it can impact the maximum number of metadata items that OrgFlow should aim to include in each retrieve batch. For example, if there aren't enough metadata items to fill each batch, OrgFlow will lower the maximum number of metadata items in each batch in order to try and hit the minimum number of retrieve batches target. However, if there aren't enough metadata items to hit the minimum number of retrieve batches target, then OrgFlow will favor reducing the number of batches that it creates as opposed to lowering the minimum number of metadata items that OrgFlow should aim to include in each retrieve batch. | 16 |
ORGFLOW_METADATAPI__MAXDEPENDENTSBATCHUTILIZATIONPERCENT |
--c:metadataapi:maxdependentsbatchutilizationpercent |
Metadata items such as Profiles (which depend on CustomObjects, CustomTabs, and ApexClasses among others) and Translations (which depend on CustomLabels, CustomTabs, and QuickActions among others) can be included in more than one batch because they need to be retrieved in that same batches as their dependencies. This value aims to reduce the duplication of these items between batches by increasing the maximum number of metadata items that OrgFlow should aim to include in each retrieve batch if the number of dependent items is too large compared to their dependencies. For example: if the target retrieve batch size is 1,000 items, a batch contains 600 Profiles, and this value is set to 50%, then OrgFlow will add more items to the retrieve batch to in order to ensure that the retrieve batch is made up of no more than 50% Profiles (i.e. OrgFlow will aim to put 1,200 items in this batch). | 50 |
Metadata Archives
Environment Variable | Command Option | Description | Default Value |
---|---|---|---|
ORGFLOW__METADATARCHIVE__DISALLOWCASEONLYRENAMES |
--c:metadataarchive:disallowcaseonlyrenames |
Whether or not OrgFlow will allow case-ony renames of metadata files1. | true |
Notes
1 OrgFlow disallows this by default because case-only renames can confuse Git on a case-insensitive file system. If you encounter this situation (and OrgFlow is configured to disallow it) then OrgFlow will error with a message like Cannot apply archive changes: The file '[...]' has changed in case only (to '[...]]')
.