Skip to content

sysdiglabs/terraform-provider-sysdig

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code
Terraform logo

Terraform Provider for Sysdig

Contribute

Initial Setup

Building

Requirements

  • Terraform > 0.12.x
  • Go > Go version specified in go.mod
    • Correctly setup a GOPATH, as well as adding $GOPATH/bin to your $PATH.

Develop

First clone source repository to: $GOPATH/src/github.com/draios/terraform-provider-sysdig

$ git clone git@github.com:draios/terraform-provider-sysdig
$ cd terraform-provider-sysdig
$ make build

Compile

To compile the provider, run make build. This will build the provider and put the provider binary in the $GOPATH/bin directory.

$ make build
...
$ $GOPATH/bin/terraform-provider-sysdig
...

Tests

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

$ make test

Acceptance Tests

If you want to execute the acceptance tests, you can run make testacc.

$ make testacc

Install (local)

To use the local provider you just built, follow the instructions to install it as a plugin. in your machine with:

$ make install

That will add the provider to the terraform plugins dir. Then just set source and version values appropriately:

provider "aws" {
  region = my_region
}

terraform {
  required_providers {
    sysdig = {
      source = "local/sysdiglabs/sysdig"
      version = "~> 1.0.0"
    }
  }
}

To uninstall the plugin:

$ make uninstall

Creating new resource / data sources

TL;DR;

  • Create the resource/data source item
  • Add the created item into the provider.go resource or datasource map with its wiring
  • With its acceptance test
  • Add its documentation page on ./website/docs/

Interesting resources

Proposing PR's

Release

To create a new release, create and push a new tag, and it will be released following /. github/workflows/release.yml.

  • Before releasing check the diff between previous tag and master branch, to spot major changes
  • For tag, use semver
  • Review Released Draft Note, and make it as clear as possible.
  • Notify Sysdig teams on our internal #release-announcements slack channel and optionally in #terraform-provider

Mange takk!

giphy