Resources

How to backup and recover Bindplane resources using Bindplane command line

Bindplane resources can be backed up using the CLI. This method should be used in addition to backing up Bolt Store or PostgreSQL.

Prerequisites

  • Bindplane v1.25.0 or newer. If on an older version, upgrade before attempting a migration.

Profile

The backup and restore process will require that you have configured your Bindplane CLI profile. The profile allows you to connect to the Bindplane server.

In this example, the Bindplane server has a remote URL of http://192.168.1.10:3001 and the profile name is "example".

Configure Profile with username and password:

bindplane profile set "example" \
 --remote-url "http://192.168.1.10:3001" \
 --username "user" \
 --password "pass"

bindplane profile use "example"

If using Bindplane Enterprise with multi-project, you can use an API key instead of username and password:

bindplane profile set "example" \
 --remote-url "http://192.168.1.10:3001" \
 --api-key "xxx-xxx-xxx-xxx"

bindplane profile use "example"

Backup

backup_file="migration-resources-$(date '+%Y-%m-%d_%H:%M:%S').yaml"

touch "$backup_file"

bindplane get destination -o yaml --export > "$backup_file"
bindplane get source -o yaml --export >> "$backup_file"
bindplane get processor -o yaml --export >> "$backup_file"
bindplane get configuration -o yaml --export >> "$backup_file"

After running the CLI commands, a file with the name migration-resources-<date suffix>.yaml will exist in your working directory.

It is recommended that the resource yaml file be moved to a remote system, such as a backup server or a secure object storage service like Google Cloud Storage or Amazon S3.

Restore

Bindplane resources can be restored by using the apply command. After configuring your CLI profile, run the following command:

bindplane apply -f <path to resource yaml file>

Bindplane will create new resources, or update existing resources if they already exist.

NOTE

If applying resources to an in-use system, configurations that are updated will have pending rollouts that must be triggered by the user.

Last updated

Was this helpful?