Skip to content

Add order to coder_metadata #325

Open
@stirby

Description

@stirby

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!
  }
}

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions