Skip to content

dbonf/terraform-provider-sysdig

 
 

Repository files navigation

Terraform logo

Terraform Provider for Sysdig

Contribute

- Building

Requirements

  • Terraform > 0.12.x
  • Go > 1.15 (to build the provider plugin)
    • If you wish to work on the provider, you'll first need Go installed on your machine (version 1.15+ is required). You'll also need to correctly setup a GOPATH, as well as adding $GOPATH/bin to your $PATH.

- Developing

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

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
...

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

$ make test

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

$ make testacc

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


⚠️Please note that you need a token for Monitor and Secure, and since the acceptance tests create real infrastructure you should execute them in an environment where you can remove the resorces easily.

- 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

About

Sysdig Terraform provider. Allow to handle Sysdig Secure policies as code.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 98.6%
  • Other 1.4%