Skip to content

adcharre/terraform-provider-lightstep

 
 

Repository files navigation

Lightstep Terraform Provider

In August 2023, Lightstep became ServiceNow Cloud Observability. To ease the transition, all code artifacts will continue to use the Lightstep name. You don't need to do anything to keep using this provider.

Requirements

Using the provider

  • Install Terraform
  • Write some code to initialize the provider with your Lightstep organization and API Key with member permissions:
terraform {
  required_providers {
    lightstep = {
      source = "lightstep/lightstep"
      version = "1.77.2"
    }
  }
}

provider "lightstep" {
  api_key         = "your-lightstep-org-api-key"
  organization    = "your-lightstep-organization"
}

# Example: Create AWS EC2 Dashboard
module "aws-dashboards" {
  source            = "lightstep/aws-dashboards/lightstep//modules/ec2-dashboard"
  lightstep_project = "your-lightstep-project"
}
  • Run terraform init
  • Add some code to define dashboards, streams, alerts, and more. See documentation for examples or use pre-built Lightstep Terraform modules.
  • After setting an environment variable with your API Key that matches the name in the provider configuration above, run terraform plan to preview changes.

⚠️ If you're creating many Lightstep resources at once, we recommend running the apply with the parallelism flag set to a low value to avoid API 500 errors:

   # Avoids 500 errors when creating many resources.
   terraform apply -parallelism=1

Development

See DEVELOPMENT.md.

Exporter

It's possible to export an existing Lightstep dashboard to HCL code using the provider. This allows you to generate terrform code for a dashboard you created in the Lightstep UI ("reverse terraform").

The exporter utility is built-in to the provider binary and requires certain environment variables to be set:

For the LIGHTSTEP_ENV variable:

  • public = app.lightstep.com
  • meta = app-meta.lightstep.com
  • staging = app-staging.lightstep.com
$ export LIGHTSTEP_API_KEY=....
$ export LIGHTSTEP_ORG=your-org
$ export LIGHTSTEP_ENV=public

# exports to console dashboard id = rZbPJ33q from project terraform-shop
$ go run github.com/lightstep/terraform-provider-lightstep exporter lightstep_dashboard terraform-shop rZbPJ33q

About

Terraform Lightstep provider

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 98.9%
  • Other 1.1%