Skip to content

Commit

Permalink
feat: PC-10671 Add Terraform for Honeycomb (#141)
Browse files Browse the repository at this point in the history
  • Loading branch information
BSski authored Feb 7, 2024
1 parent 2520f39 commit 09b9865
Show file tree
Hide file tree
Showing 77 changed files with 914 additions and 571 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ HOSTNAME=nobl9.com
NAMESPACE=nobl9
NAME=nobl9
BINARY=terraform-provider-${NAME}
VERSION=0.22.0
VERSION=0.23.0-beta
BUILD_FLAGS="-X github.com/nobl9/terraform-provider-nobl9/nobl9.Version=$(VERSION)"
OS_ARCH?=linux_amd64

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ terraform {
required_providers {
nobl9 = {
source = "nobl9/nobl9"
version = "0.22.0"
version = "0.23.0-beta"
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion codefresh.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ steps:
lint:
title: Lint
working_directory: "${{clone}}"
image: golangci/golangci-lint:v1.46.0
image: golangci/golangci-lint:v1.51.2
environment:
- GOPATH=/codefresh/volume/go
commands:
Expand Down
2 changes: 1 addition & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ terraform {
required_providers {
nobl9 = {
source = "nobl9/nobl9"
version = "0.22.0"
version = "0.23.0-beta"
}
}
}
Expand Down
8 changes: 6 additions & 2 deletions docs/resources/agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ resource "nobl9_project" "this" {
resource "nobl9_agent" "this" {
name = "${nobl9_project.this.name}-prom-agent"
project = nobl9_project.this.name
source_of = ["Metrics", "Services"]
agent_type = "prometheus"
release_channel = "stable"
prometheus_config {
Expand All @@ -41,7 +40,6 @@ resource "nobl9_agent" "this" {
- `agent_type` (String) The type of the Agent. Check [Supported Agent types | Nobl9 Documentation](https://docs.nobl9.com/Sources/)
- `name` (String) Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).
- `project` (String) Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).
- `source_of` (List of String) Source of Metrics and/or Services.

### Optional

Expand All @@ -59,6 +57,7 @@ resource "nobl9_agent" "this" {
- `grafana_loki_config` (Block Set, Max: 1) [Configuration documentation](https://docs.nobl9.com/Sources/grafana-loki#grafana-loki-agent) (see [below for nested schema](#nestedblock--grafana_loki_config))
- `graphite_config` (Block Set, Max: 1) [Configuration documentation](https://docs.nobl9.com/Sources/graphite#graphite-agent) (see [below for nested schema](#nestedblock--graphite_config))
- `historical_data_retrieval` (Block List, Max: 1) [Replay configuration documentation](https://docs.nobl9.com/replay) (see [below for nested schema](#nestedblock--historical_data_retrieval))
- `honeycomb_config` (Block Set, Max: 1) [Configuration documentation](https://docs.nobl9.com/Sources/honeycomb#hc-agent) (see [below for nested schema](#nestedblock--honeycomb_config))
- `influxdb_config` (Block Set, Max: 1) [Configuration documentation](https://docs.nobl9.com/Sources/influxdb#influxdb-agent) (see [below for nested schema](#nestedblock--influxdb_config))
- `instana_config` (Block Set, Max: 1) [Configuration documentation](https://docs.nobl9.com/Sources/instana#instana-agent) (see [below for nested schema](#nestedblock--instana_config))
- `lightstep_config` (Block Set, Max: 1) [Configuration documentation](https://docs.nobl9.com/Sources/lightstep#lightstep-agent) (see [below for nested schema](#nestedblock--lightstep_config))
Expand All @@ -69,6 +68,7 @@ resource "nobl9_agent" "this" {
- `query_delay` (Block Set, Max: 1) [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. (see [below for nested schema](#nestedblock--query_delay))
- `redshift_config` (Block Set, Max: 1) [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Redshift/?_highlight=redshift#amazon-redshift-agent) (see [below for nested schema](#nestedblock--redshift_config))
- `release_channel` (String) Release channel of the created datasource [stable/beta]
- `source_of` (List of String, Deprecated) This value indicated whether the field was a source of metrics and/or services. 'source_of' is deprecated and not used anywhere; however, it's kept for backward compatibility.
- `splunk_config` (Block Set, Max: 1) [Configuration documentation](https://docs.nobl9.com/Sources/splunk#splunk-agent) (see [below for nested schema](#nestedblock--splunk_config))
- `splunk_observability_config` (Block Set, Max: 1) [Configuration documentation](https://docs.nobl9.com/Sources/splunk-observability/#splunk-observability-agent) (see [below for nested schema](#nestedblock--splunk_observability_config))
- `sumologic_config` (Block Set, Max: 1) [Configuration documentation](https://docs.nobl9.com/Sources/sumo-logic#sumo-logic-agent) (see [below for nested schema](#nestedblock--sumologic_config))
Expand Down Expand Up @@ -185,6 +185,10 @@ Required:



<a id="nestedblock--honeycomb_config"></a>
### Nested Schema for `honeycomb_config`


<a id="nestedblock--influxdb_config"></a>
### Nested Schema for `influxdb_config`

Expand Down
4 changes: 2 additions & 2 deletions docs/resources/alert_method_email.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,11 @@ resource "nobl9_alert_method_email" "this" {
### Optional

- `bcc` (List of String) Blind carbon copy recipients. The maximum number of recipients is 10.
- `body` (String, Deprecated) Deprecated value that was used as the body template of email alert. It's not used anywhere but kept for backward compatibility.
- `body` (String, Deprecated) This value was used as the template for the email alert's body. 'body' is deprecated and not used anywhere; however, its' kept for backward compatibility.
- `cc` (List of String) Carbon copy recipients. The maximum number of recipients is 10.
- `description` (String) Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.
- `display_name` (String) User-friendly display name of the resource.
- `subject` (String, Deprecated) Deprecated value that was used as the subject of email alert. It's not used anywhere but kept for backward compatibility.
- `subject` (String, Deprecated) This value was used as the email alert's subject. 'subject' is deprecated and not used anywhere; however, its' kept for backward compatibility.

### Read-Only

Expand Down
5 changes: 2 additions & 3 deletions docs/resources/direct_appdynamics.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: |-

# nobl9_direct_appdynamics (Resource)

AppDynamics is a performance management program for applications. It helps users to gain a comprehensive understanding of the impact of technical difficulties on business goals, allowing IT teams to prioritize their efforts in a way that improves ROI. Nobl9 connects with AppDynamics to collect SLI measurements and compare them to SLO targets.
AppDynamics is a performance management program for applications. It helps users to gain a comprehensive understanding of the impact of technical difficulties on business goals, allowing IT teams to prioritize their efforts in a way that improves ROI. Nobl9 connects to AppDynamics for SLI measurement collection and comparison with SLO targets.

For more information, refer to [AppDynamics Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/appdynamics#appdynamics-direct)

Expand All @@ -17,7 +17,6 @@ resource "nobl9_direct_appdynamics" "test-appdynamics" {
name = "test-appdynamics"
project = "terraform"
description = "desc"
source_of = ["Metrics", "Services"]
url = "https://web.net"
account_name = "account name"
client_secret = "secret"
Expand All @@ -36,7 +35,6 @@ resource "nobl9_direct_appdynamics" "test-appdynamics" {
- `client_name` (String) AppDynamics Client Name.
- `name` (String) Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).
- `project` (String) Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).
- `source_of` (List of String) Source of Metrics and/or Services.
- `url` (String) Base URL to the AppDynamics Controller.

### Optional
Expand All @@ -48,6 +46,7 @@ resource "nobl9_direct_appdynamics" "test-appdynamics" {
- `log_collection_enabled` (Boolean) [Logs documentation](https://docs.nobl9.com/Features/SLO_troubleshooting/event-logs)
- `query_delay` (Block Set, Max: 1) [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. (see [below for nested schema](#nestedblock--query_delay))
- `release_channel` (String) Release channel of the created datasource [stable/beta]
- `source_of` (List of String, Deprecated) This value indicated whether the field was a source of metrics and/or services. 'source_of' is deprecated and not used anywhere; however, it's kept for backward compatibility.

### Read-Only

Expand Down
5 changes: 2 additions & 3 deletions docs/resources/direct_bigquery.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: |-

# nobl9_direct_bigquery (Resource)

Google BigQuery is a serverless data warehouse that enables scalable analysis over petabytes of data. It is a Platform as a Service that supports querying using ANSI SQL. BigQuery integration with Nobl9 enables users to turn their big data into valuable business insights. Nobl9 connects with BigQuery to collect SLI measurements and compare them to SLO targets.
Google BigQuery is a serverless data warehouse that enables scalable analysis over petabytes of data. It is a Platform as a Service that supports querying using ANSI SQL. BigQuery integration with Nobl9 enables users to turn their big data into valuable business insights. Nobl9 connects to BigQuery for SLI measurement collection and comparison with SLO targets.

For more information, refer to [BigQuery Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/bigquery#bigquery-direct)

Expand All @@ -17,7 +17,6 @@ resource "nobl9_direct_bigquery" "test-bigquery" {
name = "test-bigquery"
project = "terraform"
description = "desc"
source_of = ["Metrics", "Services"]
service_account_key = "secret"
log_collection_enabled = true
}
Expand All @@ -30,7 +29,6 @@ resource "nobl9_direct_bigquery" "test-bigquery" {

- `name` (String) Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).
- `project` (String) Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).
- `source_of` (List of String) Source of Metrics and/or Services.

### Optional

Expand All @@ -40,6 +38,7 @@ resource "nobl9_direct_bigquery" "test-bigquery" {
- `query_delay` (Block Set, Max: 1) [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. (see [below for nested schema](#nestedblock--query_delay))
- `release_channel` (String) Release channel of the created datasource [stable/beta]
- `service_account_key` (String, Sensitive) [required] | Service Account Key.
- `source_of` (List of String, Deprecated) This value indicated whether the field was a source of metrics and/or services. 'source_of' is deprecated and not used anywhere; however, it's kept for backward compatibility.

### Read-Only

Expand Down
5 changes: 2 additions & 3 deletions docs/resources/direct_cloudwatch.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: |-

# nobl9_direct_cloudwatch (Resource)

Amazon CloudWatch is a monitoring and observability service and a repository that aggregates data from more than 70 AWS data sources. CloudWatch also allows users to publish custom metrics from their services. Creating SLOs using this data is a powerful tool to monitor large portfolios of products. Nobl9 connects with Amazon CloudWatch to collect SLI measurements and compare them to SLO targets.
Amazon CloudWatch is a monitoring and observability service and a repository that aggregates data from more than 70 AWS data sources. CloudWatch also allows users to publish custom metrics from their services. Creating SLOs using this data is a powerful tool to monitor large portfolios of products. Nobl9 connects to Amazon CloudWatch for SLI measurement collection and comparison with SLO targets.

For more information, refer to [Amazon CloudWatch Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/Amazon_CloudWatch/#cloudwatch-direct)

Expand All @@ -17,7 +17,6 @@ resource "nobl9_direct_cloudwatch" "test-cloudwatch" {
name = "test-cloudwatch"
project = "terraform"
description = "desc"
source_of = ["Metrics", "Services"]
role_arn = "secret"
log_collection_enabled = true
historical_data_retrieval {
Expand All @@ -40,7 +39,6 @@ resource "nobl9_direct_cloudwatch" "test-cloudwatch" {

- `name` (String) Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).
- `project` (String) Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).
- `source_of` (List of String) Source of Metrics and/or Services.

### Optional

Expand All @@ -51,6 +49,7 @@ resource "nobl9_direct_cloudwatch" "test-cloudwatch" {
- `query_delay` (Block Set, Max: 1) [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. (see [below for nested schema](#nestedblock--query_delay))
- `release_channel` (String) Release channel of the created datasource [stable/beta]
- `role_arn` (String, Sensitive) [required] | ARN of the AWS IAM Role to assume.
- `source_of` (List of String, Deprecated) This value indicated whether the field was a source of metrics and/or services. 'source_of' is deprecated and not used anywhere; however, it's kept for backward compatibility.

### Read-Only

Expand Down
5 changes: 2 additions & 3 deletions docs/resources/direct_datadog.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: |-

# nobl9_direct_datadog (Resource)

Datadog is a cloud-scale application observability solution that monitors servers, databases, tools, and services. Nobl9 connects with Datadog to collect SLI measurements and compare them to SLO targets.
Datadog is a cloud-scale application observability solution that monitors servers, databases, tools, and services. Nobl9 connects to Datadog for SLI measurement collection and comparison with SLO targets.

For more information, refer to [Datadog Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/datadog#datadog-direct).

Expand All @@ -17,7 +17,6 @@ resource "nobl9_direct_datadog" "test-datadog" {
name = "test-datadog"
project = "terraform"
description = "desc"
source_of = ["Metrics", "Services"]
site = "eu"
api_key = "secret"
application_key = "secret"
Expand All @@ -43,7 +42,6 @@ resource "nobl9_direct_datadog" "test-datadog" {
- `name` (String) Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).
- `project` (String) Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).
- `site` (String) `com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union).
- `source_of` (List of String) Source of Metrics and/or Services.

### Optional

Expand All @@ -55,6 +53,7 @@ resource "nobl9_direct_datadog" "test-datadog" {
- `log_collection_enabled` (Boolean) [Logs documentation](https://docs.nobl9.com/Features/SLO_troubleshooting/event-logs)
- `query_delay` (Block Set, Max: 1) [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. (see [below for nested schema](#nestedblock--query_delay))
- `release_channel` (String) Release channel of the created datasource [stable/beta]
- `source_of` (List of String, Deprecated) This value indicated whether the field was a source of metrics and/or services. 'source_of' is deprecated and not used anywhere; however, it's kept for backward compatibility.

### Read-Only

Expand Down
6 changes: 2 additions & 4 deletions docs/resources/direct_dynatrace.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@ description: |-

# nobl9_direct_dynatrace (Resource)

Dynatrace is a software intelligence platform that monitors and optimizes application performance, development and security, IT infrastructure, and user experience. The Dynatrace Software Intelligence Platform maps, and monitors applications, microservices, container orchestration platforms such as Kubernetes, and IT infrastructure running in multi-cloud and hybrid-cloud environments, and provides automated problem remediation. Nobl9 connects with Dynatrace to collect SLI measurements and compare them to SLO targets.

Dynatrace is a software intelligence platform that monitors and optimizes application performance, development and security, IT infrastructure, and user experience. The Dynatrace Software Intelligence Platform maps, and monitors applications, microservices, container orchestration platforms such as Kubernetes, and IT infrastructure running in multi-cloud and hybrid-cloud environments, and provides automated problem remediation. Nobl9 connects to Dynatrace for SLI measurement collection and comparison with SLO targets.
For more information, refer to [Dynatrace Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/dynatrace#dynatrace-direct).

## Example Usage
Expand All @@ -17,7 +16,6 @@ resource "nobl9_direct_dynatrace" "test-dynatrace" {
name = "test-dynatrace"
project = "terraform"
description = "desc"
source_of = ["Metrics", "Services"]
url = "https://web.net"
dynatrace_token = "secret"
log_collection_enabled = true
Expand All @@ -41,7 +39,6 @@ resource "nobl9_direct_dynatrace" "test-dynatrace" {

- `name` (String) Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).
- `project` (String) Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).
- `source_of` (List of String) Source of Metrics and/or Services.
- `url` (String) Dynatrace API URL.

### Optional
Expand All @@ -53,6 +50,7 @@ resource "nobl9_direct_dynatrace" "test-dynatrace" {
- `log_collection_enabled` (Boolean) [Logs documentation](https://docs.nobl9.com/Features/SLO_troubleshooting/event-logs)
- `query_delay` (Block Set, Max: 1) [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. (see [below for nested schema](#nestedblock--query_delay))
- `release_channel` (String) Release channel of the created datasource [stable/beta]
- `source_of` (List of String, Deprecated) This value indicated whether the field was a source of metrics and/or services. 'source_of' is deprecated and not used anywhere; however, it's kept for backward compatibility.

### Read-Only

Expand Down
Loading

0 comments on commit 09b9865

Please sign in to comment.