mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
* docs: rework our "templates" section * wikistuff * fix formatting * add diagram * reorganize some things * docs: improve workspaces and templates doc (#9139) * Reorg, updated/new screenshots, consistent terminology * First pass * Another pass * Added integration section * New outline for template pages, small updates * Revised outline for templates, added tutorial * First pass at tutorial * Some feedback from Ben. * Update docs/workspaces.md Co-authored-by: Muhammad Atif Ali <matifali@live.com> * Update docs/workspaces.md Co-authored-by: Muhammad Atif Ali <matifali@live.com> * Update docs/workspaces.md Co-authored-by: Muhammad Atif Ali <matifali@live.com> * Fixed typos * Expanded tutorial I have read the CLA Document and I hereby sign the CLA * New screenshots, improved tutorial, revised anatomy * Improved tutorial. Anatomy is now a guided tour. * First pass at guided tour * Updated authentication info * Reorganized the guided tour * Edited more template pages * Update docs/templates/tour.md Co-authored-by: Muhammad Atif Ali <matifali@live.com> * Update docs/templates/tour.md Co-authored-by: Muhammad Atif Ali <matifali@live.com> * Update docs/templates/tour.md Co-authored-by: Muhammad Atif Ali <matifali@live.com> * Update docs/templates/tutorial.md Co-authored-by: Muhammad Atif Ali <matifali@live.com> * Update docs/templates/tour.md Co-authored-by: Muhammad Atif Ali <matifali@live.com> * Update docs/templates/tour.md Co-authored-by: Muhammad Atif Ali <matifali@live.com> * Update docs/templates/tour.md Co-authored-by: Muhammad Atif Ali <matifali@live.com> * Update docs/templates/tour.md Co-authored-by: Muhammad Atif Ali <matifali@live.com> * Update docs/templates/tour.md Co-authored-by: Muhammad Atif Ali <matifali@live.com> * Revised devcontainers and docker-in-workspaces * Edited and added screenshots * Prepared first draft, except docs/templates/open-in-coder.md * Fix typo * remove legacy parameters and migration guide * Use coder templates create * Added screenshot for workspace template variables * Made it prettier * Fixed minor typos and markdown problems * edits to repairing workspaces * fix broken links in product * Added troubleshooting, minor corrections. * fix terminal links * fmt --------- Co-authored-by: Muhammad Atif Ali <matifali@live.com> Co-authored-by: Ben Potter <me@bpmct.net> Co-authored-by: Atif Ali <atif@coder.com> * make fmt * fix merge conflict * make fmt * make gen * update * lint * Discard changes to coderd/database/queries.sql.go * Discard changes to cli/templates.go * Discard changes to cli/templateversionarchive.go * Discard changes to cli/templateversions.go * Update docker-in-workspaces.md * replace ```sh with ```shell * open-in-coder * fmt * mention coder_metadata in icons.md * resource_metadata * use shell * modules.md * mention coder registry module * workspace.md * resource_metadata * remove duplication * address comments * cleanup * fmt * fix broken links * fix numbering * mention module registry * add example * demote heading * remove top level entry from manifest * fmt --------- Co-authored-by: Ben <me@bpmct.net> Co-authored-by: Marc Paquette <22124737+marcpaq@users.noreply.github.com>
112 lines
2.7 KiB
Markdown
112 lines
2.7 KiB
Markdown
# Resource Metadata
|
|
|
|
Expose key workspace information to your users with
|
|
[`coder_metadata`](https://registry.terraform.io/providers/coder/coder/latest/docs/resources/metadata)
|
|
resources in your template code.
|
|
|
|
You can use `coder_metadata` to show Terraform resource attributes like these:
|
|
|
|
- Compute resources
|
|
- IP addresses
|
|
- [Secrets](../secrets.md#displaying-secrets)
|
|
- Important file paths
|
|
|
|

|
|
|
|
<blockquote class="info">
|
|
Coder automatically generates the <code>type</code> metadata.
|
|
</blockquote>
|
|
|
|
You can also present automatically updating, dynamic values with
|
|
[agent metadata](./agent-metadata.md).
|
|
|
|
## Example
|
|
|
|
Expose the disk size, deployment name, and persistent directory in a Kubernetes
|
|
template with:
|
|
|
|
```hcl
|
|
resource "kubernetes_persistent_volume_claim" "root" {
|
|
...
|
|
}
|
|
|
|
resource "kubernetes_deployment" "coder" {
|
|
# My deployment is ephemeral
|
|
count = data.coder_workspace.me.start_count
|
|
...
|
|
}
|
|
|
|
resource "coder_metadata" "pvc" {
|
|
resource_id = kubernetes_persistent_volume_claim.root.id
|
|
item {
|
|
key = "size"
|
|
value = kubernetes_persistent_volume_claim.root.spec[0].resources[0].requests.storage
|
|
}
|
|
item {
|
|
key = "dir"
|
|
value = "/home/coder"
|
|
}
|
|
}
|
|
|
|
resource "coder_metadata" "deployment" {
|
|
count = data.coder_workspace.me.start_count
|
|
resource_id = kubernetes_deployment.coder[0].id
|
|
item {
|
|
key = "name"
|
|
value = kubernetes_deployment.coder[0].metadata[0].name
|
|
}
|
|
}
|
|
```
|
|
|
|
## Hiding resources in the dashboard
|
|
|
|
Some resources don't need to be exposed in the dashboard's UI. This helps keep
|
|
the workspace view clean for developers. To hide a resource, use the `hide`
|
|
attribute:
|
|
|
|
```hcl
|
|
resource "coder_metadata" "hide_serviceaccount" {
|
|
count = data.coder_workspace.me.start_count
|
|
resource_id = kubernetes_service_account.user_data.id
|
|
hide = true
|
|
item {
|
|
key = "name"
|
|
value = kubernetes_deployment.coder[0].metadata[0].name
|
|
}
|
|
}
|
|
```
|
|
|
|
## Using a custom resource icon
|
|
|
|
To use custom icons for your resource metadata, use the `icon` attribute. It
|
|
must be a valid path or URL.
|
|
|
|
```hcl
|
|
resource "coder_metadata" "resource_with_icon" {
|
|
count = data.coder_workspace.me.start_count
|
|
resource_id = kubernetes_service_account.user_data.id
|
|
icon = "/icon/database.svg"
|
|
item {
|
|
key = "name"
|
|
value = kubernetes_deployment.coder[0].metadata[0].name
|
|
}
|
|
}
|
|
```
|
|
|
|
To make it easier for you to customize your resource we added some built-in
|
|
icons:
|
|
|
|
- Folder `/icon/folder.svg`
|
|
- Memory `/icon/memory.svg`
|
|
- Image `/icon/image.svg`
|
|
- Widgets `/icon/widgets.svg`
|
|
- Database `/icon/database.svg`
|
|
|
|
We also have other icons related to the IDEs. You can see more information on
|
|
how to use the builtin icons [here](./icons.md).
|
|
|
|
## Up next
|
|
|
|
- [Secrets](../secrets.md)
|
|
- [Agent metadata](./agent-metadata.md)
|