https://github.com/opslevel/terraform-provider-opslevel
Terraform provider for OpsLevel.com
https://github.com/opslevel/terraform-provider-opslevel
go golang terraform terraform-provider
Last synced: about 1 year ago
JSON representation
Terraform provider for OpsLevel.com
- Host: GitHub
- URL: https://github.com/opslevel/terraform-provider-opslevel
- Owner: OpsLevel
- License: mit
- Created: 2021-07-10T16:52:12.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2025-04-17T06:54:32.000Z (about 1 year ago)
- Last Synced: 2025-04-17T21:16:48.748Z (about 1 year ago)
- Topics: go, golang, terraform, terraform-provider
- Language: Go
- Homepage: https://registry.terraform.io/providers/OpsLevel/opslevel/latest/docs
- Size: 2.6 MB
- Stars: 8
- Watchers: 8
- Forks: 4
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://app.opslevel.com/services/opslevel_terraform_provider/maturity-report)
Terraform Provider for [OpsLevel](https://opslevel.com)
===============================
## Minimum requirements
- Terraform 1.7.0 or newer. We recommend running the [latest version](https://developer.hashicorp.com/terraform/downloads?product_intent=terraform) for optimal compatibility with the OpsLevel provider.
# Migrating to v1.0.0
Notes on migrating to v1.0.0 and fixes to migration issues can be found in [./MIGRATION.md].
[Provider Documentation](https://registry.terraform.io/providers/OpsLevel/opslevel/latest/docs)
[Quickstart](https://www.opslevel.com/docs/terraform)
[Importing All Existing Account Data](https://www.opslevel.com/docs/terraform/#Importing)
## Example
```hcl
provider "opslevel" {
api_token = "XXX" // or environment variable OPSLEVEL_API_TOKEN
}
resource "opslevel_team" "foo" {
name = "foo"
responsibilities = "Responsible for foo frontend and backend"
member {
email = "foo@example.com"
role = "manager"
}
member {
email = "bar@example.com"
role = "contributor"
}
}
resource "opslevel_service" "foo-frontend" {
name = "foo-frontend"
description = "The foo frontend service"
framework = "rails"
language = "ruby"
lifecycle_alias = "beta"
tier_alias = "tier_3"
owner = opslevel_team.foo.alias
tags = [
"environment:production",
]
}
data "opslevel_rubric_category" "security" {
filter {
field = "name"
value = "Security"
}
}
data "opslevel_rubric_level" "bronze" {
filter {
field = "name"
value = "Bronze"
}
}
resource "opslevel_filter" "filter" {
name = "foo"
predicate {
key = "tier_index"
type = "equals"
value = "tier_3"
}
connective = "and"
}
resource "opslevel_check_repository_integrated" "foo" {
name = "foo"
enabled = true
category = data.opslevel_rubric_category.security.id
level = data.opslevel_rubric_level.bronze.id
owner = opslevel_team.foo.id
filter = opslevel_filter.filter.id
notes = "Optional additional info on why this check is run or how to fix it"
}
```
# Useful Terraform Snippets
Get a service's tag keys
```hcl
output "service_tag_keys" {
value = values({for entry in opslevel_service.example.tags : entry => split(":", entry)[0]})
}
```
Get a service's tag values
```hcl
output "service_tag_values" {
value = values({for entry in opslevel_service.example.tags : entry => split(":", entry)[1]})
}
```