Skip to main content
Version: 2203.1

Introduction to the CAF rover

What is CAF rover?

Although as a first approach it might seem more natural and simple to use Terraform on your laptop, the CAF rover is helping you managing your Terraform deployments on Microsoft Azure and has two dimensions:

  • A container

    • Allows consistent developer experience on PC, Mac, Linux, including the right tools, git hooks and DevOps tools.
    • Native integration with Visual Studio Code, GitHub Codespaces.
    • Contains the versioned tool set you need to apply landing zones.
    • Helps you switching components versions fast by separating the run environment and the configuration environment.
    • Ensure pipeline ubiquity and abstraction run the rover everywhere, whichever pipeline technology.
  • A Terraform wrapper

    • Helps you store and retrieve Terraform state files transparently on Azure storage account.
    • Facilitates the transition to CI/CD.
    • Enables seamless experience (state connection, execution traces, etc.) locally and inside pipelines.

Why using CAF rover?

  • Greatly simplifies secure state management on Azure storage accounts.
  • Helps testing different versions of binaries (new version of Terraform, Azure CLI, jq, tflint etc.)
  • Ubiquitous development environment: everyone works with the same versions of the DevOps toolchain, always up-to-date, running on laptop, pipelines, GitHub Codespaces, etc.
  • Facilitates the identity transition to any CI/CD: namely all CI/CD have container capabilities.
  • Allows easy transition from one DevOps environment to another (GitHub Actions, Azure DevOps, Jenkins, CircleCI etc.)
  • It's open-source and leveraging open-source projects that you often need with Terraform.

Where to find CAF rover?

It's an open-source project and you can find stable or preview builds directly from Docker Hub, or create your own, to match your organization's own DevOps toolkit. You can find the rover project here.

Do I have to use rover?

Nope, you can use all the tools here separately, but it means you will have to do manually everything rover does :)

How to use CAF rover?

Rover is already included in development environment for Azure Terraform SRE (the .devcontainer folder in the various projects).

asciicast