Skip to content

Terraform provider for Converged Cloud extended OpenStack Services

License

Notifications You must be signed in to change notification settings

sapcc/terraform-provider-ccloud

Repository files navigation

Converged Cloud - Terraform Provider

Documentation: registry.terraform.io

Maintainers

This provider plugin is maintained by:

Requirements

  • Terraform 1.0.x
  • Go 1.22 (to build the provider plugin)

Usage

The CCloudEE provider is an extension to the OpenStack Terraform Provider. It provides resources that allow to use Terraform for Converged Cloud's additional services:

  • Kubernikus (Kubernetes as a Service)
  • Arc for Arc resources management
  • Lyra for Automation management
  • Billing for Billing management
  • Andromeda for GSLB / GTM (Global Server Load Balancing / Global Traffic Management)
  • Archer for Endpoint Services

The provider needs to be configured with the proper OpenStack credentials before it can be used. For details see the OpenStack provider.

Building The Provider

Clone the repository

$ git clone git@github.com:sapcc/terraform-provider-ccloud

Enter the provider directory and build the provider

$ cd terraform-provider-ccloud
$ make build

Installing the provider

To install this provider, copy and paste this code into your Terraform configuration. Then, run terraform init.

terraform {
  required_providers {
    ccloud = {
      source = "sapcc/ccloud"
    }
  }
}

provider "ccloud" {
  # Configuration options
}

Using the provider

Please see the documentation at registry.terraform.io.

Or you can browse the documentation within this repo here.

Developing the Provider

If you wish to work on the provider, you'll first need Go installed on your machine (version 1.20+ is required).

To compile the provider, run make build. This will build the provider and put the provider binary in the current directory.

$ make build

In order to test the provider, you can simply run make test.

$ make test

Releasing the Provider

This repository contains a GitHub Action configured to automatically build and publish assets for release when a tag is pushed that matches the pattern v* (ie. v0.1.0).

A Gorelaser configuration is provided that produce build artifacts matching the layout required to publish the provider in the Terraform Registry.

Releases will as drafts. Once marked as published on the GitHub Releases page, they will become available via the Terraform Registry.