Code Monkey home page Code Monkey logo

terraform-provider-sysdig's Introduction

Terraform logo

Terraform Provider for Sysdig

Contribute

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 [email protected]:draios/terraform-provider-sysdig
$ cd terraform-provider-sysdig
$ make build

If you're a rookie, check Official Terraform Provider development guides

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/

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 to run unit-tests. For acceptance tests, you can run make testacc, but note that

  • Sysdig Montir and/or Secure credentials are required, check /.envrc.template
  • acceptance tests rely on the creation of real infrastructure, you should execute them in an environment where you can remove the resources easily.

If you're a rookie, check Terraform acceptance test guidelines

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

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.