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.
- Terraform v1.x+
- 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.
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
See DEVELOPMENT.md
.
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:
$ export LIGHTSTEP_API_KEY=....
$ export LIGHTSTEP_ORG=your-org
$ export LIGHTSTEP_API_BASE_URL='https://api.lightstep.com'
# exports to console dashboard id = rZbPJ33q from project terraform-shop
$ go run github.com/lightstep/terraform-provider-lightstep exporter lightstep_dashboard terraform-shop rZbPJ33q