@flxbl-io/sfp
Version:
sfp is a CLI tool to help you manage your Salesforce projects in an artifact centric model
154 lines (153 loc) • 6.87 kB
JSON
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://raw.githubusercontent.com/flxblio/sfp/develop/packages/sfp-cli/resources/schemas/pooldefinition.schema.json",
"title": "pool definition",
"description": "The definition for creating a pool of scratch orgs in sfp",
"type": "object",
"required": ["tag", "maxAllocation"],
"additionalProperties": false,
"properties": {
"$schema": {
"description": "Support editors like vscode to help with IntelliSense",
"type": "string",
"default": "https://raw.githubusercontent.com/flxblio/sfp/develop/packages/sfp-cli/resources/schemas/pooldefinition.schema.json"
},
"tag": {
"title": "Tag of the pool",
"description": "Tag or name to identify the scratch org pool",
"type": "string"
},
"waitTime": {
"title": "wait time",
"description": "Time to wait for scratch org creation in minutes (default:6 mins)",
"type": "integer",
"default": 6
},
"expiry": {
"title": "expiry",
"description": "Duration of the scratch org (in days) (default:2)",
"type": "integer",
"default": 2
},
"maxAllocation": {
"title": "Max number of scratch orgs to be allocated",
"description": "Maximum number of scratch orgs to be allocated in the pool",
"type": "integer"
},
"batchSize": {
"title": "Batch Size",
"description": "Control the parallelism of the pool creation (default:5)",
"type": "integer",
"default": 5
},
"configFilePath": {
"title": "Path to config file",
"description": "Reference an external .json file to specify the features and org preferences required for the metadata of your package, such as the scratch org definition.",
"type": "string",
"default": "config/project-scratch-def.json"
},
"releaseConfigFile": {
"title": "Path to release config file",
"description": "Path to the config file which determines how a release definition should be generated, enable this for pools to use this release config to only utilize artifacts described the releae config",
"type": "string"
},
"succeedOnDeploymentErrors": {
"title": "Succeed on Deployment Errors",
"description": "In case of a deployment error, whether to keep that scratch org in the pool",
"type": "boolean",
"default": true
},
"installAll": {
"title": "Install all packages",
"description": "Install all package artifacts, in addition to the managed package dependencies",
"type": "boolean",
"default": false
},
"enableVlocity": {
"title": "Enable vlocity config deployment",
"description": "[alpha] Enable vlocity settings and config deployment. Please note it doesnt install vlocity managed package",
"type": "boolean",
"default": "false"
},
"enableSourceTracking": {
"title": "Enable source tracking",
"description": "Enable source tracking by deploying packages using source:push , and persisting local source tracking files",
"type": "boolean",
"default": true
},
"relaxAllIPRanges": {
"title": "Relax all IP Ranges",
"description": "Relax all IP addresses to enable developers to login to scratch orgs",
"type": "boolean",
"default": "false"
},
"ipRangesToBeRelaxed": {
"title": "IP ranges to be relaxed",
"description": "Relax IP address of developers to allow access to scratch orgs",
"type": "array"
},
"retryOnFailure": {
"title": "Retry on failure",
"description": "Retry installation of packages on failed deployment",
"type": "boolean",
"default": "false"
},
"maxRetryCount": {
"title": "Max Retry Count",
"description": "Maximum number of attempts sfp should retry installation of packages on failed deployment",
"type": "number",
"default": "2"
},
"snapshotPool": {
"title": "Snapshot Pool",
"description": "Use a pre-prepared pool to further add packages on top of it",
"type": "string"
},
"postDeploymentScriptPath": {
"title": "Post Script",
"description": "Execute a custom script after all the artifacts are deployed into a particular org",
"type": "string"
},
"preDependencyInstallationScriptPath": {
"title": "Pre Script",
"description": "Execute a custom script before denpendencies install into a particular org",
"type": "string"
},
"disableSourcePackageOverride": {
"title": "Disable installation of unlocked packages as source package",
"description": "Prepare by default utilizes source package for installing unlocked packages to the scratchorg, disabling this flag will allow to install it ",
"type": "boolean",
"default":false
},
"noAnchestors": {
"title": "Disable second-generation managed package (2GP) ancestors in the scratch org.",
"description": "Don't include second-generation managed package (2GP) ancestors in the scratch org when set to true",
"type": "boolean",
"default":false
},
"fetchArtifacts": {
"title": "Fetch Artifacts using below mechanism",
"description": "Fetch artifacts from artifact registry using below mechanism",
"type": "object",
"oneOf": [{ "required": ["artifactFetchScript"] }, { "required": ["npm"] }],
"properties": {
"artifactFetchScript": {
"title": "Path to the script for fetching artifacts",
"description": "Path to Shell script that handles fetching artifacts from a registry",
"type": "string"
},
"npm": {
"type": "object",
"required": ["scope"],
"properties": {
"scope": {
"title": "Scope of NPM packages",
"description": "Scope of NPM packages",
"type": "string"
}
}
}
}
}
}
}