Complimentary Gartner® Report! 'A CTO's Guide to Open-Source Software: Answering the Top 10 FAQs.'Read more

Multi Project Migration

How to migrate resources from one project to another, on the same system or a different system

Multi Project

Multi-Project BindPlane is an Enterprise feature that allows users to create multiple tenants (projects). Each project can have its own users, configurations, and managed agents. Multi-Project supports user invitations in order to support collaboration between multiple users.

Objective

Export resources from an individual BindPlane OP project and import them into another project on the same system or a different BindPlane OP system.

Prerequisites

The following requirements must be met:

  • You are running BindPlane OP Enterprise. Contact the observIQ sales team for more information about upgrading to BindPlane OP Enterprise.
  • BindPlane OP v1.25.0 or newer. If on an older version, upgrade before attempting a migration.
  • BindPlane OP is configured with multi-project enabled.

Procedure

The migration procedure has the following steps:

  1. Create API Keys
  2. Configure BindPlane CLI profiles
  3. Export resources from an project
  4. Import resources to the new project
  5. Validate
  6. Migrate Agents

Create API Keys

Following the API Keys documentation, create an API key for your source and destination projects. We are going to refer to them as "export" and "import".

Note the API keys, but do not create their profiles. Follow the next section for profile instructions.

Configure CLI Profiles

Configure your BindPlane CLI with two profiles. One for the source project and server, and another for the target project and server.

Create export profile:

bash
1bindplane profile set "export" \
2  --server-url "http://192.168.1.9:3001" \
3  --api-key "xxxx-xxxx-xxxx-xxxx-xxxxxx"

Create the import profile:

bash
1bindplane profile set "import" \
2  --server-url "http://192.168.1.10:3001" \
3  --api-key "xxxx-xxxx-xxxx-xxxx-xxxxxx"

Replace the values for the remote URL and API key with your BindPlane OP server remote URL(s) and API keys.

Export Resources

Switch to the export profile:

bash
1bindplane profile use "export"

Export destinations, sources, processors, and configurations from the project:

bash
1touch migration-resources.yaml
2bindplane get destination -o yaml --export > "migration-resources.yaml"
3bindplane get source -o yaml --export >> "migration-resources.yaml"
4bindplane get processor -o yaml --export >> "migration-resources.yaml"
5bindplane get extension -o yaml --export >> "migration-resources.yaml"
6bindplane get configuration -o yaml --export >> "migration-resources.yaml"

Import Resources

Switch to the import profile:

bash
1bindplane profile use "import"

Import destinations, sources, processors, and configurations using the apply command:

bash
1bindplane apply -f "migration-resources.yaml"

Validate

Log into the BindPlane OP project and ensure the configurations and destinations are present. If everything looks right, the migration is finished.

Migrate Agents

Previously connected agents will need to be updated with the new project's secret key. Follow the Migrate Agents documentation.