Octopus.Script exported 2026-05-29 by itsmebenwalker belongs to ‘Convex’ category.
Exports a snapshot of your Convex deployment’s data to a local file using the Convex CLI. Designed to be run before a production deployment as a data backup or rollback safety net.
The export file can optionally be captured as an Octopus build artifact for storage and auditing.
Parameters
When steps based on the template are included in a project’s deployment process, the parameters below can be set.
Deploy Key
ConvexExport.DeployKey =
The Convex deploy key for the target project. Store this as a sensitive Octopus variable.
See: Creating deploy keys
Output File Path
ConvexExport.OutputPath =
Optional. The local path where the export ZIP file should be written.
Defaults to convex-export-{timestamp}.zip in the current working directory if left blank.
Deployment Type
ConvexExport.DeploymentType = prod
The Convex deployment to export data from.
prod— production deployment (default)preview— preview deployment (requires a preview name)dev— development deployment
Preview Name
ConvexExport.PreviewName =
The name of the preview deployment. Only required when Deployment Type is preview.
Working Directory
ConvexExport.WorkingDirectory =
Optional. Path to the directory containing your Convex project. Defaults to the current working directory if left blank.
Capture as Octopus Artifact
ConvexExport.CaptureAsArtifact = True
When enabled, the exported file will be captured as an Octopus build artifact, making it available for download from the deployment details page.
Command Timeout (seconds)
ConvexExport.CommandTimeout = 600
Maximum number of seconds to wait for the export to complete. Defaults to 600 (10 minutes). Large datasets may require a higher value.
Script body
Steps based on this template will execute the following Bash script.
deployKey=$(get_octopusvariable "ConvexExport.DeployKey")
outputPath=$(get_octopusvariable "ConvexExport.OutputPath")
deploymentType=$(get_octopusvariable "ConvexExport.DeploymentType")
previewName=$(get_octopusvariable "ConvexExport.PreviewName")
workingDir=$(get_octopusvariable "ConvexExport.WorkingDirectory")
captureArtifact=$(get_octopusvariable "ConvexExport.CaptureAsArtifact")
cmdTimeout=$(get_octopusvariable "ConvexExport.CommandTimeout")
if [ -z "$deployKey" ]; then
echo "ERROR: ConvexExport.DeployKey is required."
exit 1
fi
if [ -z "$deploymentType" ]; then
deploymentType="prod"
fi
if [ -z "$cmdTimeout" ]; then
cmdTimeout="600"
fi
export CONVEX_DEPLOY_KEY="$deployKey"
if [ -n "$workingDir" ]; then
echo "Changing to working directory: $workingDir"
cd "$workingDir" || { echo "ERROR: Could not change to directory '$workingDir'"; exit 1; }
fi
timestamp=$(date +"%Y%m%d_%H%M%S")
if [ -z "$outputPath" ]; then
outputPath="convex-export-${timestamp}.zip"
fi
deploymentFlag=""
case "$deploymentType" in
prod)
deploymentFlag="--prod"
;;
preview)
if [ -z "$previewName" ]; then
echo "ERROR: ConvexExport.PreviewName is required when deployment type is 'preview'."
exit 1
fi
deploymentFlag="--preview-name $previewName"
;;
dev)
deploymentFlag=""
;;
esac
ensure_node() {
if command -v npx &>/dev/null; then
echo "Node.js found: $(node --version)"
return 0
fi
export NVM_DIR="${NVM_DIR:-$HOME/.nvm}"
if [ -s "$NVM_DIR/nvm.sh" ]; then
\. "$NVM_DIR/nvm.sh"
if command -v npx &>/dev/null; then
echo "Node.js loaded via nvm: $(node --version)"
return 0
fi
fi
echo "Node.js not found. Installing via nvm..."
curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
\. "$NVM_DIR/nvm.sh"
nvm install --lts
echo "Node.js installed: $(node --version)"
}
ensure_node
echo "Exporting Convex data from: $deploymentType"
echo "Output file: $outputPath"
timeout "$cmdTimeout" npx convex export $deploymentFlag --path "$outputPath"
exitCode=$?
if [ $exitCode -ne 0 ]; then
echo "ERROR: Convex export failed with exit code $exitCode."
exit $exitCode
fi
if [ ! -f "$outputPath" ]; then
echo "ERROR: Export completed but output file not found at '$outputPath'."
exit 1
fi
fileSize=$(du -sh "$outputPath" | cut -f1)
echo "Export complete. File: $outputPath ($fileSize)"
if [ "$captureArtifact" = "True" ]; then
new_octopusartifact "$outputPath"
echo "Export captured as Octopus artifact."
fi
Provided under the Apache License version 2.0.
To use this template in Octopus Deploy, copy the JSON below and paste it into the Library → Step templates → Import dialog.
{
"Id": "3f4519f7-78f6-4fb9-8bc5-97e138825bb8",
"Name": "Convex - Export Data",
"Description": "Exports a snapshot of your Convex deployment's data to a local file using the [Convex CLI](https://docs.convex.dev/cli). Designed to be run before a production deployment as a data backup or rollback safety net.\n\nThe export file can optionally be captured as an Octopus build artifact for storage and auditing.",
"Version": 1,
"ExportedAt": "2026-05-29T00:00:00.000Z",
"ActionType": "Octopus.Script",
"Author": "itsmebenwalker",
"Packages": [],
"Parameters": [
{
"Id": "ba76acd0-99e4-4aa1-8554-e0696b528ed7",
"Name": "ConvexExport.DeployKey",
"Label": "Deploy Key",
"HelpText": "The Convex deploy key for the target project. Store this as a sensitive Octopus variable.\n\nSee: [Creating deploy keys](https://docs.convex.dev/cli#deploy-keys)",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "Sensitive"
}
},
{
"Id": "17b1f813-7b43-4528-bafe-5b52eac6df1b",
"Name": "ConvexExport.OutputPath",
"Label": "Output File Path",
"HelpText": "Optional. The local path where the export ZIP file should be written.\n\nDefaults to `convex-export-{timestamp}.zip` in the current working directory if left blank.",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "e7002edd-eb0d-4c2b-979e-972c095eede5",
"Name": "ConvexExport.DeploymentType",
"Label": "Deployment Type",
"HelpText": "The Convex deployment to export data from.\n\n- `prod` — production deployment (default)\n- `preview` — preview deployment (requires a preview name)\n- `dev` — development deployment",
"DefaultValue": "prod",
"DisplaySettings": {
"Octopus.ControlType": "Select",
"Octopus.SelectOptions": "prod|Production\npreview|Preview\ndev|Development"
}
},
{
"Id": "81526834-4204-4696-bfc4-3e965dcb320d",
"Name": "ConvexExport.PreviewName",
"Label": "Preview Name",
"HelpText": "The name of the preview deployment. Only required when **Deployment Type** is `preview`.",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "690649ca-3801-45d1-9a59-45e561c127f5",
"Name": "ConvexExport.WorkingDirectory",
"Label": "Working Directory",
"HelpText": "Optional. Path to the directory containing your Convex project. Defaults to the current working directory if left blank.",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "036c1260-7b14-4c05-8948-858cc1b5c893",
"Name": "ConvexExport.CaptureAsArtifact",
"Label": "Capture as Octopus Artifact",
"HelpText": "When enabled, the exported file will be captured as an Octopus build artifact, making it available for download from the deployment details page.",
"DefaultValue": "True",
"DisplaySettings": {
"Octopus.ControlType": "Checkbox"
}
},
{
"Id": "186fac8e-92c9-482f-adea-551cb64dd999",
"Name": "ConvexExport.CommandTimeout",
"Label": "Command Timeout (seconds)",
"HelpText": "Maximum number of seconds to wait for the export to complete. Defaults to 600 (10 minutes). Large datasets may require a higher value.",
"DefaultValue": "600",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
}
],
"Properties": {
"Octopus.Action.Script.ScriptSource": "Inline",
"Octopus.Action.Script.Syntax": "Bash",
"Octopus.Action.Script.ScriptBody": "deployKey=$(get_octopusvariable \"ConvexExport.DeployKey\")\noutputPath=$(get_octopusvariable \"ConvexExport.OutputPath\")\ndeploymentType=$(get_octopusvariable \"ConvexExport.DeploymentType\")\npreviewName=$(get_octopusvariable \"ConvexExport.PreviewName\")\nworkingDir=$(get_octopusvariable \"ConvexExport.WorkingDirectory\")\ncaptureArtifact=$(get_octopusvariable \"ConvexExport.CaptureAsArtifact\")\ncmdTimeout=$(get_octopusvariable \"ConvexExport.CommandTimeout\")\n\nif [ -z \"$deployKey\" ]; then\n echo \"ERROR: ConvexExport.DeployKey is required.\"\n exit 1\nfi\n\nif [ -z \"$deploymentType\" ]; then\n deploymentType=\"prod\"\nfi\n\nif [ -z \"$cmdTimeout\" ]; then\n cmdTimeout=\"600\"\nfi\n\nexport CONVEX_DEPLOY_KEY=\"$deployKey\"\n\nif [ -n \"$workingDir\" ]; then\n echo \"Changing to working directory: $workingDir\"\n cd \"$workingDir\" || { echo \"ERROR: Could not change to directory '$workingDir'\"; exit 1; }\nfi\n\ntimestamp=$(date +\"%Y%m%d_%H%M%S\")\n\nif [ -z \"$outputPath\" ]; then\n outputPath=\"convex-export-${timestamp}.zip\"\nfi\n\ndeploymentFlag=\"\"\ncase \"$deploymentType\" in\n prod)\n deploymentFlag=\"--prod\"\n ;;\n preview)\n if [ -z \"$previewName\" ]; then\n echo \"ERROR: ConvexExport.PreviewName is required when deployment type is 'preview'.\"\n exit 1\n fi\n deploymentFlag=\"--preview-name $previewName\"\n ;;\n dev)\n deploymentFlag=\"\"\n ;;\nesac\n\nensure_node() {\n if command -v npx &>/dev/null; then\n echo \"Node.js found: $(node --version)\"\n return 0\n fi\n export NVM_DIR=\"${NVM_DIR:-$HOME/.nvm}\"\n if [ -s \"$NVM_DIR/nvm.sh\" ]; then\n \\. \"$NVM_DIR/nvm.sh\"\n if command -v npx &>/dev/null; then\n echo \"Node.js loaded via nvm: $(node --version)\"\n return 0\n fi\n fi\n echo \"Node.js not found. Installing via nvm...\"\n curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash\n \\. \"$NVM_DIR/nvm.sh\"\n nvm install --lts\n echo \"Node.js installed: $(node --version)\"\n}\nensure_node\n\necho \"Exporting Convex data from: $deploymentType\"\necho \"Output file: $outputPath\"\n\ntimeout \"$cmdTimeout\" npx convex export $deploymentFlag --path \"$outputPath\"\n\nexitCode=$?\nif [ $exitCode -ne 0 ]; then\n echo \"ERROR: Convex export failed with exit code $exitCode.\"\n exit $exitCode\nfi\n\nif [ ! -f \"$outputPath\" ]; then\n echo \"ERROR: Export completed but output file not found at '$outputPath'.\"\n exit 1\nfi\n\nfileSize=$(du -sh \"$outputPath\" | cut -f1)\necho \"Export complete. File: $outputPath ($fileSize)\"\n\nif [ \"$captureArtifact\" = \"True\" ]; then\n new_octopusartifact \"$outputPath\"\n echo \"Export captured as Octopus artifact.\"\nfi\n"
},
"Category": "Convex",
"HistoryUrl": "https://github.com/OctopusDeploy/Library/commits/master/step-templates/convex-export-data.json",
"Website": "/step-templates/3f4519f7-78f6-4fb9-8bc5-97e138825bb8",
"Logo": "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",
"$Meta": {
"Type": "ActionTemplate"
}
}
Page updated on Friday, May 29, 2026