IBM Cloud provides an option to provision PX-Backup for Kubernetes on IKS cluster through IBM Catalog. This repo hosts the terraform module which can be used in conjunction with existing terraform scripts to provision PX-Backup for Kubernetes on IKS.
Include the below module definition in a .tf
file to deploy Portworx Enterprise with the default values.
Please take a look at the default values in the Input Variables section to understand the default behavior of this module.
module "portworx_backup" {
source = "portworx/portworx-backup/ibm"
cluster_name = "my-iks-cluster"
resource_group = "my-resource-group"
ibmcloud_api_key = "my-api-key"
}
This terraform module provides the following features for seamless adoption:
- Declarative Installation/Uninstallation
- Easy Integration with existing Terraform Scripts
- Built-in Post Installation Validation
Please refer to the Getting Started Guide to install PX-Backup for Kubernetes on an IKS using IBM Catalog. This guide outlines the steps to set up an environment and deploy on IBM Cloud.
The below hyperlinks guide you to understand and demonstrate the features and capabilities of this Terraform module:
The following are requirements needed to be installed on the host machine where the terraform commands will be issued.
terraform
, kubectl
and ibmcloud
libraries are needed as some bash scripts are required for validation checks.
Refer to the table below for more details:
Name | Version |
---|---|
terraform | 0.13 and above |
kubectl | 1.22.0 and above |
ibmcloud | 2.10.0 and above |
Following providers are used by our modules, to manage resources on IBM Cloud:
Name | Version |
---|---|
ibm-cloud/ibm | 1.48.0 and above |
hashicorp/random | 3.4.3 and above |
hashicorp/null | 3.1.1 and above |
Below resources and data sources are created to manage the resources of terraform module:
Name | Type |
---|---|
ibm_resource_instance.portworx_backup | resource |
null_resource.validate_portworx_backup_installation | resource |
random_uuid.unique_id | resource |
ibm_resource_group.resource_group | data source |
Below list of input variables can be provided to the Terraform module. There are some default values already set for this module which can be overridden otherwise. Please read through the description and default values before handling advanced scenarios of using this module.
Name | Description | Type | Default | Required |
---|---|---|---|---|
cluster_name | Name of existing IKS cluster | string |
n/a | yes |
ibmcloud_api_key | Get the ibmcloud api key from https://cloud.ibm.com/iam/apikeys | string |
n/a | yes |
portworx_service_name | Name to be provided to the PX-Backup for Kubernetes service to be deployed | string |
"px-backup" |
no |
pwx_backup_plan | Portworx plan type | string |
"px-backup-enterprise" |
no |
region | The region PX-Backup for Kubernetes will be installed in: us-south, us-east, eu-gb, eu-de, jp-tok, au-syd, etc. | string |
"us-east" |
no |
resource_group | Resource group of existing IKS Cluster | string |
n/a | yes |
tags | Optional Tags to be added, if required. | list(string) |
[] |
no |
namespace | Namespace to deploy PX-Backup for Kubernetes in the IKS | string |
"px-backup-namespace" |
no |
Table below lists out the output variables to be read or referred after successful application/execution of the Terraform module.
Name | Description |
---|---|
portworx_backup_name | Name of the service deployed |
portworx_backup_state | State of the service deployed |
Apache License 2.0 - Copyright 2023 Pure Storage, Inc.