/addon-terraform

Primary LanguageGoMozilla Public License 2.0MPL-2.0

addon-terraform

Build Status codecov

Description

OpenNebula provider for Terraform.

Development

Bug reports and pull requests are welcome on GitHub at https://github.com/OpenNebula/addon-terraform/issues.

Please follow How to Contribute rules for any pull request.

Authors

  • Leaders:

Compatibility

This provider has been initiated to use official Goca from OpenNebula

For Older OpenNebula and Terraform releases, you can use non official provider from Runtastic and enhanced by BlackBerry.

Features

Data sources

Current definition of these data sources are supported:

  • Groups
  • Image
  • Security Groups
  • Template
  • Virtual Data Center
  • Virtual Network

Resources

Current definition of these resources are supported:

Limitations

Following OpenNebula Objects are not currently supported:

Requirements

Terraform

Because this Add-On is the OpenNebula Terraform Provider, it requires to have Terraform installed on your machine. Instructions to install terraform are accessible here

Please note that this version is indended to be used with Terraform version 0.12+

Golang

The only way to use this add-on is to compile it from source code. OpenNebula Terraform provider is written in Golang, you must have a Golang environment to compile the provider.

A Golang dependency management tool is also required. This README is based on goland/dep

Installation

From Source

Compilation

  1. Get the code of the OpenNebula provider.
  2. Get provider dependencies (if you use go dep)
repopath$ dep init
  1. Compile
repopath$ go build -o terraform-provider-opennebula

Warning: this provider is a "Third party" provider. It must follow these rules for the binary name.

Integration with Terraform

Create a terraform file to use OpenNebula provider (follow instructions on Wiki page of the project) and run terraform init. This will initialize terraform to use OpenNebula Provider.

With Terraform

Work In Progress

Configuration

Opennebula provider has the following supports parameters:

Parameter Description
endpoint URL to the OpenNebula XML-RPC API
username OpenNebula username
password OpenNebula password OR token
version Version of the provider (optional)

Usage

Lots of Examples and details of data sources and resources parameters are available on the Wiki.

References

Other Projects about Terraform provider exists. This project has been inspired by Runtastic and BlackBerry projects

License

This project is under MPL v2.0 License. For more details about the License, please read LICENCE file.