Objective
Now that you’ve gathered your source and destination credentials, you need to make them available to Warp so that it can perform migrations. You also need to ensure that these credentials are secured so that only Warp can use them. You’ll do this by setting up a Vault — an encrypted file containing the credentials. To decrypt these credentials, you’ll provide Warp with the Vault key, the decryption key for the Vault file. In this section, you will:- Set up your Project’s Vault by creating the Vault file
- Push the Vault file to Migration HQ, and
- Installing the Vault key as a secret in Migration HQ.
Search for the 🛠️ emoji if you’d like to skim through this content while focusing on the steps you need to follow.
Before You Begin
If you haven’t already, you’ll need to install Warp Vault on your local machine before proceeding with the following steps.Looking for a quick tour of Warp Vault’s features and interface? Check out this demo.
Create Your Vault
🛠️ To kick things off, you’ll need to create a Vault for your Migration Project. Open the Warp Vault application on your machine, expand the Add Menu, and choose “Create Vault”.Creating a New Vault
Selecting a Vault's Location on Disk
Filling in a Vault's Name and Description
Unlocking a Vault with its Master Key
Add Credentials to Your Vault
Your Vault has been created— congratulations! The next step is to add credentials to it. In order to migrate your repositories, you must provide Warp with two key sets of credentials:- Credentials authorizing access to the repositories at the source.
- Credentials authorizing the creation of new repositories at the destination organization in GitHub.
Adding Credentials to Warp Vault
Test Your Credentials
Now that you’ve added credentials to your Vault, the next step is to test them. This process ensures your credentials are ready to use with Warp, and that you’ll be able to perform migrations successfully. Luckily, Warp Vault has an integrated credential testing feature that makes this process a breeze. An example of how to use this feature is shown in the video snippet below, and you can walk through the process in detail through the Warp Vault demo. 🛠️ Use the Credential Testing feature of Warp Vault to test the credentials you’ve configured. When each credential you’ve configured has a Green Check, you can save your changes and proceed.Testing Credentials in Warp Vault
Commit and Push Your Vault File
Next, you’ll need to commit and push your encrypted Vault to your Migration HQ repository. 🛠️ Open your local clone of Migration HQ in your favorite Git client. Then add, commit, and push the file to your Migration HQ.Committing and Pushing a Vault to Migration HQ from VS Code
Confirm That the Vault Was Pushed to Migration HQ
Just to be certain, let’s take a look at Migration HQ to make sure that the Vault was actually pushed there. 🛠️ Open Migration HQ in a browser tab or panel and select the Code tab:.png?fit=max&auto=format&n=l0V83cTRF3ti5K9q&q=85&s=0a5e3b3e064eafb8e52aacfc6334b2b0)
Migration HQ.
config directory’s last commit message: “Update Vault.”
Also, take note that its commit time is more recent than any of the other items in the repository.
🛠️ Open the config directory:
.png?fit=max&auto=format&n=l0V83cTRF3ti5K9q&q=85&s=6afc524e6dcfc9e69cb508ea02f3f410)
Migration HQ’s config directory.
vault.age. Its last commit message and last commit date confirm that it was pushed to Migration HQ at the end of the Vault creation process.
Store the Vault Key in Migration HQ’s Secrets
The next step is to store the key for the Vault in the Migration HQ repository. This will allow Warp’s GitHub Actions to access the personal access tokens you encrypted into the Vault, which in turn will allow them to migrate your repositories from Azure DevOps to GitHub. You can do this manually by copying the Vault key and pasting it into the Migration HQ repository’s Secrets settings.Adding Your Master Key as a Migration-HQ Repository Secret
Confirm that that Vault and Key are in Migration HQ
You should confirm that your Vault key was successfully stored in Migration HQ by checking the repository’s Secrets section in GitHub. 🛠️ Open a browser tab or window to the Migration HQ repository in GitHub and click the Settings tab..png?fit=max&auto=format&n=l0V83cTRF3ti5K9q&q=85&s=1e3f4b08cb0d9df1de9b7219b6c0e1cd)
Migration HQ’s Settings page.
.png?fit=max&auto=format&n=l0V83cTRF3ti5K9q&q=85&s=f5038dfc530ae6f41b7763316a821c87)
The Secrets and variables menu.
.png?fit=max&auto=format&n=l0V83cTRF3ti5K9q&q=85&s=c0c2d1346821446137538aa1b38370c8)
Migration HQ’s repository secrets.
PKFS_MASTER_KEY.
If you see the PKFS_MASTER_KEY secret, you have successfully stored the Vault key in Migration HQ. If not, you should run the gh warp vault place command again.