Skip to content

Terraform Module to install PX-Backup on a kubernetes cluster

License

Notifications You must be signed in to change notification settings

portworx/terraform-px-backup

Repository files navigation

Terraform Module for Portworx Backup

This terraform module helps you provision Portworx Backup on Kubernetes Clusters.This repository hosts the terraform module which can be used in conjunction with existing terraform scripts to provision Portworx Backup on Kubernetes.

Getting Started

This guide is intended to provide a quick start to users who want to manage Portworx Backup Installation on their existing Kubernetes Clusters using Terraform.

Pre-requisites

  • Terraform >= 0.13
  • Already Provisioned Kubernetes Cluster
  • kubectl installed and pointed to the correct Kubernetes Cluster
  • jq, curl, wget installed on the local machine

Examples

The below hyperlinks guide you to understand and demonstrate the features and capabilities of this Terraform module:

Requirements

Name Version
terraform >= 1.2.8
helm ~> 2.7.1
kubernetes ~> 2.14.0
null >= 3.1.1

Providers

Name Version
helm ~> 2.7.1
kubernetes ~> 2.14.0
null >= 3.1.1

Modules

No modules.

Resources

Name Type
helm_release.portworx resource
helm_release.portworx_backup resource
kubernetes_manifest.storageclass_default resource
null_resource.label_nodes_px_license_server resource
null_resource.validate_portworx_backup_installation resource
null_resource.validate_portworx_installation resource

Inputs

Name Description Type Default Required
custom_image_registry Configuration for Custom Image Registry: Image Registry, Image Repository, Image Pull Secrets
object({
image_registry = string
image_repository = string
image_pull_secrets = list(string)
})
null no
enable_portworx Enable Portworx Storage Cluster bool true no
enable_px_license_server Enable Portworx License Server bool false no
external_oidc_provider Configuration for external OIDC Provider: Endpoint, Client ID and Client Secret
object({
endpoint = string
client_id = string
client_secret = string
})
null no
external_storage_class_name Name of the already existing Storage Class to be used in-place of portworx_storage_class_config string "" no
kubecontext Name of the kubecontext string n/a yes
namespace Namespace to deploy PX-Central string "central" no
portworx_storage_class_config Configuration for Default Portworx Storage Class: Name, Replications, Provisioner
object({
name = string
replication = number
provisioner = string
})
null no
px_backup_version Portworx Backup Image Version string "2.3.1" no
px_monitor_config Configuration for Portworx Monitor: enable, Px-Central UI's Endpoint
object({
enable = bool
px_central_ui_endpoint = string
})
{
"enable": false,
"px_central_ui_endpoint": ""
}
no
px_operator_version Portworx Operator Image Version string "1.10.0" no
px_version Portworx Image Version (OCI Monitor Image) string "2.12.0" no

Outputs

Name Description
portworx_backup_status value
portworx_operator_status value

License

Apache License 2.0 - Copyright 2023 Pure Storage, Inc.