Skip to content

trendmicro/terraform-provider-conformity

Repository files navigation

Conformity Terraform Provider

How to set up local machine:

1. Navigate to project directory:

cd /path/terraform-provider-conformity

2. Install dependencies:

go mod tidy
go mod vendor

3. Update Makefile with your own values:

# ...
VERSION=0.6 # Set a new version
OS_ARCH=darwin_amd64 # Update to value that matches with your OS
# ...

4. Create the Artifact:

make install

5. Go to your terraform project, and update source set in your terraform provider block:

terraform {
  required_providers {
    conformity = {
      version = "YOUR_VERSION"

      # Set path to match with values in HOSTNAME/NAMESPACE/NAME defined in the Makefile
      source  = "trendmicro.com/cloudone/conformity" 
    }
  }
}

6. Now, you can test terraform code:

cd example/path-to-main/
terraform init
terraform apply

Notes:

  • for your own config, create a file name terraform.tfvars
  • add the following:
region  = "region"
apikey  = "apikey"

Turn on debug:

export TF_LOG_CORE=TRACE
export TF_LOG_PROVIDER=TRACE

How to protect API keys

1. with file

Create a file name terraform.tfvars and add all necessary variables here

Ensure terraform.tfvars is included in .gitignore so these secrets are not accidentally pushed to a remote git repository.

2. with environment variables

Terraform provides a way of reading variables from the environment: https://www.terraform.io/docs/cli/config/environment-variables.html#tf_var_name

Updating documentation

Use the Doc Preview Tool to understand how the markdown will look once released. The Provider Documentation can also provide further guidance.

How to release

Steps

2. Click "Draft a new release" button

3. Click "Choose a Tag" dropdown, provide tag with value “xxx”, then select "+ Create new Tag : xxx on publish" popup item below.

4. Choose the main branch as "Target"

5. Fill the release title “xxx”

6. Add the released changes to the description. Do avoid Jira Ticket's IDs as those are not publicly visible.

7. Click "Publish release" button at the bottom.

Check the release

After releasing, a webhook will be sent to Terraform registry automatically. Within about 10 minutes https://registry.terraform.io/providers/trendmicro/conformity/latest/docs should be updated with the new release from Github.