- Terraform Registry - Sysdig Provider Docs
- Blog on how to use this provider with Sysdig Secure
- Terraform
- Website https://www.terraform.io
- Mailing list on Google Groups
- Terraform > 0.12.x
- Go > Go version specified in go.mod
- Correctly setup a GOPATH, as well as adding
$GOPATH/binto your$PATH.
- Correctly setup a GOPATH, as well as adding
First clone source repository to: $GOPATH/src/github.com/draios/terraform-provider-sysdig
$ git clone [email protected]:draios/terraform-provider-sysdig
$ cd terraform-provider-sysdig
$ make buildTo 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 testIf you want to execute the acceptance tests, you can run make testacc.
- Follow Terraform acceptance test guideliness
- Please note that you need a token for Sysdig Monitor and another one for Sysdig Secure, and since the acceptance tests create real infrastructure you should execute them in an environment where you can remove the resources easily.
- Acceptance tests are launched in Sysdig production
+kubelabtest environment
$ make testaccTo use the local provider you just built, follow the instructions to install it as a plugin. in your machine with:
$ make installThat 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 uninstallTL;DR;
- Create the resource/data source item
- Add the created item into the
provider.goresource or datasource map with its wiring - With its acceptance test
- Add its documentation page on
./website/docs/
Interesting resources
-
if it's your first time, validate you're taking into account every aspect of the
./github/pull_request_template -
on pull-requests some validations are enforced.
- Defined in
/.pre-commit-config.yaml - You can work on this before even pushing to remote, using pre-commit plugin
- Defined in
-
for the PR title use conventional commit format so when the branch is squashed to main branch it follows a convention
-
for Acceptance Tests
testaccsome credentials are required, check/.envrc.template
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!

