Skip to content

Rafay terraform provider

Rafay's Terraform Provider

Terraform is today one of the most popular tools to provision resources on all major cloud platforms, such as Amazon Web Services, Google Cloud Platform, and Microsoft Azure. It uses Infrastructure as a Code (IaC) to automate infrastructure provisioning. This blog will discuss the Terraform provider for Rafay.

The Rafay Terraform provider Terraform Provider is a plugin that allows Terraform to manage resources in the Rafay platform. It enables users to automate the creation, configuration, and deletion of Rafay resources such as clusters, projects, policies, and environments. It is available as an open-source project on GitHub, and it can be installed using the standard Terraform plugin installation process Terraform installation

Using the Rafay Terraform Provider

To use the Rafay Terraform provider, you need to configure the provider block in your Terraform configuration file. You can download the provider file from the Rafay console.

  • Login into the Rafay console
  • Click on “My Tools” and download the config file

cli config

Here's an example of a provider block:

    "profile": "",
    "api_key": "<api_key>",
    "api_secret": "<api_secret>",
    "project_id": "<my_project_Id>",
    "rest_endpoint": "",
    "ops_endpoint": ""

Once the provider block is configured, you can start defining your Rafay resources using Terraform. For example, you can import a Kubernetes cluster using the Terraform code rafay_import_cluster.

resource "rafay_import_cluster" "terraform-importcluster" {
 clustername = "terraform-importcluster"
 projectname = "terraform"
 blueprint = "default"
 location = "losangeles-us"
kubeconfig_path = "<file-path/kubeconfig.yaml>" }

The Rafay Terraform provider supports a wide range of resources, including clusters, environments, policies, projects, and more. You can find a complete list of supported resources in the provider's documentation Terraform Provider.

Benefits of the Rafay Terraform Provider

Using the Rafay Terraform provider offers several benefits, including:

  1. Increased efficiency: By using Terraform to automate the creation and management of Rafay resources, you can save time and increase efficiency. You can easily create and manage multiple resources at once, which is especially useful for large-scale deployments.

  2. Standardization: Terraform provides a standardized way of defining infrastructure as code. This makes it easier to ensure consistency across multiple environments, reducing the risk of configuration errors.

  3. Version control: Terraform configuration files can be stored in version control systems such as Git, allowing you to track changes and revert to previous versions if necessary.

  4. Collaboration: Terraform configuration files can be shared among team members, making it easier to collaborate on infrastructure changes.

  5. Flexibility: Terraform is a flexible tool that can be used with a wide range of cloud providers and services. This means that you can use the same tool to manage infrastructure across different clouds and platforms.


The Rafay Terraform provider is a powerful tool that enables users to automate the creation and management of resources on the Rafay platform. By using Terraform to define infrastructure as code, you can save time, reduce errors, and increase efficiency. With the Rafay Terraform provider, you can easily manage multiple Kubernetes clusters across different environments, making the lives of the engineers easy and allowing them to focus on what’s most important.

If you are interested in trying this out yourself, sign Up for a Free Rafay Org.