terraform-provider-coder icon indicating copy to clipboard operation
terraform-provider-coder copied to clipboard

Add `order` to `coder_metadata`

Open stirby opened this issue 11 months ago • 0 comments

Agent metadata currently does not support ordering in the same way users can order apps or agents. We should use the existing syntax to allow ordering metadata items on any resource. Each resource should have an independent index.

Agent metadata ordering

The existing implementation:

resource "coder_agent" "dev" {
  os   = "linux"
  ...
  metadata {
    display_name = "CPU Usage"
    key          = "cpu_usage"
    script       = "coder stat cpu"
    interval     = 10
    timeout      = 1
    order        = 2
  }
  metadata {
    display_name = "RAM Usage"
    key          = "ram_usage"
    script       = "coder stat mem"
    interval     = 10
    timeout      = 1
    order        = 1
  }

  order = 1
}

Resource Metadata ordering

Proposal:

resource "coder_metadata" "pod_info" {
  count       = data.coder_workspace.me.start_count
  resource_id = kubernetes_pod.dev[0].id
  # (Enterprise-only) this resource consumes 200 quota units
  daily_cost = 200
  item {
    key   = "pod_uid"
    value = kubernetes_pod.dev[0].uid
    order = 2    # new!
  }
  item {
    key   = "description"
    value = "This description will show up in the Coder dashboard."
    order = 1    # new!
  }
  item {
    key   = "public_key"
    value = tls_private_key.example_key_pair.public_key_openssh
    order = 3     # new!
  }
}

stirby avatar Jan 07 '25 17:01 stirby