Coder powers secure, scalable development across key industries — automotive, finance, government, and technology — enabling faster builds, tighter compliance, and seamless AI adoption in enterprise-grade cloud environments.
In Coder templates, managing the order of UI elements is crucial for a seamless
user experience. This page outlines how resources can be aligned using the
order Terraform property or inherit the natural order from the file.
The resource with the lower order is presented before the one with greater
value. A missing order property defaults to 0. If two resources have the same
order property, the resources will be ordered by property name (or key).
Using "order" property
Coder parameters
The order property of coder_parameter resource allows specifying the order
of parameters in UI forms. In the below example, project_id will appear
beforeaccount_id:
data "coder_parameter" "project_id" {
name = "project_id"
display_name = "Project ID"
description = "Specify cloud provider project ID."
order = 2
}
data "coder_parameter" "account_id" {
name = "account_id"
display_name = "Account ID"
description = "Specify cloud provider account ID."
order = 1
}
Agents
Agent resources within the UI left pane are sorted based on the order
property, followed by name, ensuring a consistent and intuitive arrangement.
resource "coder_agent" "primary" {
...
order = 1
}
resource "coder_agent" "secondary" {
...
order = 2
}
The agent with the lowest order is presented at the top in the workspace view.
Agent metadata
The coder_agent exposes metadata to present operational metrics in the UI.
Metrics defined with Terraform metadata blocks can be ordered using additional
order property; otherwise, they are sorted by key.
Similarly to Coder agents, coder_app resources incorporate the order
property to organize button apps in the app bar within a coder_agent in the
workspace view.
Only template defined applications can be arranged. VS Code or Terminal
buttons are static.
The options for Coder parameters maintain the same order as in the file
structure. This simplifies management and ensures consistency between
configuration files and UI presentation.
data "coder_parameter" "database_region" {
name = "database_region"
display_name = "Database Region"
icon = "/icon/database.svg"
description = "These are options."
mutable = true
default = "us-east1-a"
// The order of options is stable and inherited from .tf file.
option {
name = "US Central"
description = "Select for central!"
value = "us-central1-a"
}
option {
name = "US East"
description = "Select for east!"
value = "us-east1-a"
}
...
}
Coder metadata items
In cases where multiple item properties exist, the order is inherited from the
file, facilitating seamless integration between a Coder template and UI
presentation.
resource "coder_metadata" "attached_volumes" {
resource_id = docker_image.main.id
// Items will be presented in the UI in the following order.
item {
key = "disk-a"
value = "60 GiB"
}
item {
key = "disk-b"
value = "128 GiB"
}
}