Skip to content

Telemetry link can not be creted (health check failure) #1715

Description

@human4115

Description

Creating a stackit_telemetrylink fails with 400: "failed to perform health check: unsupported health-check identifier: []". The referenced
router and its destination are both active and reachable - I verified
this by pushing a real OTLP payload straight to the destination with the
same bearer token, which returned 422 (payload error), not 401/404. The
error is identical whether there's no destination, a broken one, or a
working one, which makes me doubt the health check is even looking at the
destination.

Steps to reproduce

resource "stackit_telemetryrouter_instance" "router" {
  project_id   = var.project_id
  region       = "eu01"
  display_name = "demo-telemetry-router"
}

resource "stackit_telemetryrouter_access_token" "router_token" {
  project_id   = var.project_id
  region       = "eu01"
  instance_id  = stackit_telemetryrouter_instance.router.instance_id
  display_name = "demo-telemetry-router-token"
}

resource "stackit_logs_instance" "logs" {
  project_id     = var.project_id
  region         = "eu01"
  display_name   = "demo-logs-instance"
  retention_days = 30
}

resource "stackit_logs_access_token" "logs_ingest" {
  project_id   = var.project_id
  region       = "eu01"
  instance_id  = stackit_logs_instance.logs.instance_id
  display_name = "demo-logs-access-token"
  permissions  = ["write"]
}

resource "stackit_telemetryrouter_destination" "logs" {
  project_id   = var.project_id
  region       = "eu01"
  instance_id  = stackit_telemetryrouter_instance.router.instance_id
  display_name = "demo-telemetry-destination"

  config = {
    config_type = "OpenTelemetry"
    opentelemetry = {
      uri          = "https://${trimprefix(stackit_logs_instance.logs.ingest_otlp_url, "https://")}"
      bearer_token = stackit_logs_access_token.logs_ingest.access_token
    }
  }
}

resource "stackit_telemetrylink" "link" {
  depends_on = [stackit_telemetryrouter_destination.logs]

  resource_type       = "project"
  resource_id         = var.project_id
  region              = "eu01"
  display_name        = "demo-telemetry-link"
  telemetry_router_id = stackit_telemetryrouter_instance.router.instance_id
  access_token        = stackit_telemetryrouter_access_token.router_token.access_token
}
  1. terraform apply - everything up to stackit_telemetrylink creates fine.
  2. The link fails.

Actual behavior

Error: Error creating TelemetryLink
Calling API: 400 Bad Request, status code 400,
Body: {"message":"failed to perform health check: unsupported health-check identifier: []"}

Expected behavior

The link gets created.

Environment

  • OS: macOS (arm64)
  • Terraform version: v1.15.8
  • STACKIT provider version: v0.113.0 (latest)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions