- Use the Honeycomb UI to migrate Boards individually.
- Update your Honeycomb API payload for Boards managed via the Honeycomb API.
- Modify your Terraform configurations to use the
honeycombio_flexible_boardresource.
Migrate an Individual Board in the UI
The UI is the easiest option if you manage Boards manually. To migrate a Board using the Honeycomb UI:- Open the Board in the Honeycomb UI.
- Select Preview as Flexible Board in the banner to review the updated layout.
- If the preview looks correct, select Migrate board now to complete the migration.
If your Board is managed via Terraform or the Honeycomb API, you must also update your API payload or Terraform configuration to use the Flexible Board format.
Migrate Boards Using the Honeycomb API
If you use the API to create or update Boards, you need to update your request payload to match the Flexible Board format. The Flexible Board format introduces two key changes:-
The
panelsfield replaces thequeriesandslosfields. To learn more about thepanelsfield, visit the Honeycomb API documentation. -
The
typefield, which represents the Board type, must be set toflexible. To learn more about thetypefield, visit the Honeycomb API documentation.
- Set
type:flexiblein your request payload. - Remove these deprecated fields:
column_layoutstyle
- Replace
queriesandslosfields withpanels. - Add
layout_generationand set it toauto. This helps automate panel positions.
Example: Convert a Legacy Board Payload to Flexible Format
In this example, we show you how to migrate a legacy Board API payload containing thequeries and slos fields to a Flexible Board payload.
The example legacy Board payload is as follows:
-
Start with an empty
panelsarray: -
Add your SLOs as panels.
Each
slomaps to a panel, so each SLO requires its own panel: -
Add your queries as panels.
Each
queryalso requires its own panel: -
Add
layout_generationand set it toauto. This helps automate panel positions.
Migrate Boards Managed by HashiCorp Terraform
To migrate Boards defined in Terraform, update your Terraform configuration:- Upgrade to v0.37.0 or later of the Honeycomb.io Terraform provider.
- Replace
honeycombio_boardblocks withhoneycombio_flexible_boardblocks. - Convert
queryandsloblocks topanelblocks.
Example: Manually Convert Legacy Board to Flexible Board in Terraform
In this example, we show you how to update a Terraform configuration file to convert a legacy Board to a Flexible Board. The example legacy Board Terraform configuration file is as follows:-
Create a
honeycombio_flexible_boardresource: -
Add your Board’s name and description to your new resource:
-
Add SLO panels.
For each of your
sloblocks inhoneycombio_boardresource, create an equivalentpanelblock: -
Add query panels.
For each of your
queryblocks in thehoneycombio_boardresource:-
Create an equivalent
panelblock -
Replace
graph_settingsblocks withvisualization_settingsblocks
-
Create an equivalent
-
Replace your old
honeycombio_boardblock with your newhoneycombio_flexible_boardblock. Your final configuration should look similar to:
Example: Manually Convert Legacy Board to Flexible Board Without Recreating IDs in Terraform
This example requires manual migration steps using the Honeycomb UI, and relies onimport/removed blocks in Terraform.
The described migration process below will generate an initial configuration file that then can be adapted to replace your legacy Boards configuration file.
This approach will generate most Terraform elements for you, but you can refer to the previous example’s migration guide to change your honeycombio_board to honeycombio_flexible_board resource.
Before You Begin
Before you begin, you will need:- One or more existing legacy Boards that were created through a Terraform configuration.
- The ability to commit the newly created Terraform configuration.
Migration Process
This example legacy Board Terraform configuration file includes four different Boards:Step 1: Locate Your Board Information via the Honeycomb UI
To start your migration process, locate and copy the board ID located in each Board’s URL, which is formatted similarly to:Step 2: Update your Terraform Configuration
Manually update your Terraform configuration with animport block and a remove block for each Board.
For our example, our updated Terraform configuration looks like:
Step 3: Generate the Terraform Configuration Based on the Migrated Boards
Use the following command (and replace with your relevant variables) to generate your Terraform configuration:-generate-config-outflag is an option that allows Terraform an auto-generated configuration file to dump at the specified path. In the above example, the new Terraform configuration will be dumped inmigrated.tf.
Results
After running the command, the output for our example looks like:Step 4: Run terraform apply to Ensure Proper Syncing
Use the following terraform apply command (and replace with your relevant variables):
- remove the
honeycombio_boardresource from the state and prevent their deletion - add the
honeycombio_flexible_boardresources to the state and enable them