The Rover v2 project undertakes re-writing the Rover command line tool in Go and redesigning the running and operation of the tool.
The high level goals & objectives of this project:
Note. This version is not backwards compatible with the previous Rover v1 tool
Rover is a command line tool to assist with the deployment and management of Azure CAF Landing zones. It provides a way to run Terraform and other tools in a structured way and simplify many of the operations. It was designed to be run by end users locally, but also inside of a CI/CD pipeline
Rover v2 provides a way to manage entire environments consisting of any number of CAF Landing zones across multiple CAF levels, this is done with YAML definitions describing your configuration (aka project Symphony) this is how it used
The easiest way to install Rover v2 is directly from GitHub using the install script.
To install into the current directory ./bin/
directory just run:
curl https://raw.githubusercontent.com/aztfmod/rovergo/main/install.sh | bash
Alternatively specify the install location, e.g. a directory on your system path:
export installPath=$HOME/.local/bin
curl https://raw.githubusercontent.com/aztfmod/rovergo/main/install.sh | bash -s -- -b $installPath
If you wish to fetch the binary yourself or install older versions, please refer to the GitHub releases page
This is a very basic introduction into running Rover v2
Firstly Rover v2 relies on some external tools and dependencies:
If you want to get up and running and try Rover out, please check out the minimal sample config which has a very simple sample CAF configuration to use, consisting of a level 0 launchpad and a level 1 with some simple resource groups for testing.
A more complex sample is found in the reference sample app
Otherwise:
Run rover with rover --help
to get information about the commands available, e.g.
Usage:
rover [command]
Available Commands:
apply Perform a terraform plan & apply
destroy Perform a terraform destroy
finder List all terraform (example custom action)
fmt Perform a terraform format
help Help about any command
init Perform a terraform init and no other action
landingzone Manage and deploy landing zones
lint Run tflint
plan Perform a terraform plan
validate Perform a terraform validate
Rover v2 is extensible with;
see the user guide for details for more details