terraform-controller icon indicating copy to clipboard operation
terraform-controller copied to clipboard

support multiple provider

Open novboy opened this issue 3 years ago • 0 comments

  1. define any provider via hcl and variable
apiVersion: terraform.core.oam.dev/v1beta1
kind: Provider
metadata:
  name: alibaba-sample
spec:
  hcl: |
    terraform {
        required_providers {
          alicloud = {
              source = "aliyun/alicloud"
              version = "1.124.3"
         }
      }
    }
    provider "alicloud" {
      access_key = "${var.access_key}"
      secret_key = "${var.secret_key}"
      region     = "${var.region}"
    }
    variable "access_key" {
      default = ""
      type = string
    }

    variable "secret_key" {
      default = ""
      type = string
    }
    variable "region" {
      default = "beijing"
      type = string
    }
  variable:
    # credentials binding
    -  name: access_key: 
        valueFrom:
          secretKeyRef:
            name: mysecret
            key: "access_key"
    -  name: secret_key: 
        valueFrom:
          secretKeyRef:
            name: mysecret
            key: "secret_key"
    -  name: region
        value: "beijing"
  1. choose provider by name
apiVersion: terraform.core.oam.dev/v1beta1
kind: Configuration
metadata:
  name: alibaba-oss
spec:
  hcl: |
    resource "alicloud_oss_bucket" "bucket-acl" {
      bucket = var.bucket
      acl = var.acl
    }

    output "BUCKET_NAME" {
      value = "${alicloud_oss_bucket.bucket-acl.bucket}.${alicloud_oss_bucket.bucket-acl.extranet_endpoint}"
    }

    variable "bucket" {
      description = "OSS bucket name"
      default = "vela-website"
      type = string
    }

    variable "acl" {
      description = "OSS bucket ACL, supported 'private', 'public-read', 'public-read-write'"
      default = "private"
      type = string
    }

  variable:
    bucket: "vela-website"
    acl: "private"
  provider: "alibaba-sample"
  writeConnectionSecretToRef:
    name: oss-conn
    namespace: default

novboy avatar Jul 30 '21 03:07 novboy