Terraform examples for deploying Pure Cloud Block Store (CBS) with all the associated pre-requisites
Note: This repo only supports deploying Cloud Block Store in Azure
You can learn more information about Pure Cloud Block Store Terraform deployment from this KB: https://support.purestorage.com/Pure_Cloud_Block_Store/Pure_Cloud_Block_Store_on_Azure_Implementation_Guide/Deploy_CBS_using_Terraform
Or read more about it here in the blog post: https://adammazouz.com/post/2023/7/reusable-terraform-modules-for-pure-cloud-block-store/
- Deploy an Azure VM in the same subscription where you are planning to deploy CBS.
- SSH to the VM, then install Terraform.
- Authenticate to Azure.
- Clone this repo.
- Navigate to the desired example, and edit
terraform.tfvars
with your own parameters and input. (terraform.tfvars
file has a basic example on the required input required for the deployment ) - Run
terraform init
, thenterraform apply
#___
The content of this repo is mostly Azure and CBS Terraform Provider Code. It is split into:
-
Example dir:
Depoly-*
where you would need to navigate and excite the terraform commands.Example Name Cloud Provider Modules Used Deploy-CBS-Prerequisites-Only Azure CBS-VNET,CBS-NAT-GW, VM-JUMPBOX Deploy-CBS-Array-with-all-Prerequisites Azure CBS-Array,CBS-VNET,CBS-NAT-GW, VM-JUMPBOX -
Modules files:
Module Name CBS-VNET Creates an Azure VNet with four Subnet CBS-NAT-GW Creates an Azure NAT GW and associate it with CBS System Subnet CBS-Key-Vault Creates an Azure KeyValut that is used by CBS Terraform Provider to perform management operations CBS-Identity Creates an Azure Custom Role and Assign it to a User Managed Identity VM-JUMPBOX Creates an Azure VM on the same CBS VNet, it can be used as a Jump Host or repurpose as an storage initiator CBS-Array Creates a Cloud Block Store Array CBS-VNET-Peering Creates a peering link between the Terraform VM to the new created CBS VNET