From 357f59ecdf69968820bc271fe33bb8657d02cb22 Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Tue, 15 Oct 2024 14:17:58 +0100 Subject: [PATCH 1/4] chore(docs): add notes regarding provisioner tags and untagged jobs --- docs/admin/provisioners.md | 20 +++++++++++++++++- .../extending-templates/workspace-tags.md | 12 +++++++++++ docs/images/admin/provisioner-tags.png | Bin 0 -> 35624 bytes 3 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 docs/images/admin/provisioner-tags.png diff --git a/docs/admin/provisioners.md b/docs/admin/provisioners.md index 5b66fdeb08a8e..27b080085d803 100644 --- a/docs/admin/provisioners.md +++ b/docs/admin/provisioners.md @@ -148,9 +148,19 @@ coder templates push on-prem-chicago \ --provisioner-tag datacenter=chicago ``` +This can also be done in the UI when building a template: + +> ![template tags](../images/admin/provisioner-tags.png) + Alternatively, a template can target a provisioner via [workspace tags](https://github.com/coder/coder/tree/main/examples/workspace-tags) -inside the Terraform. +inside the Terraform. See the +[workspace tags documentation](../admin/templates/extending-templates/workspace-tags.md) +for more information. + +> [!NOTE] Workspace tags defined with the `coder_workspace_tags` data source +> template **do not** automatically apply to the template import job! You may +> need to specify the desired tags when importing the template. A provisioner can run a given build job if one of the below is true: @@ -170,6 +180,14 @@ However, it will not pick up any build jobs that do not have either of the `environment` or `datacenter` tags set. It will also not pick up any build jobs from templates with the tag `scope=user` set. +> [!NOTE] If you only run tagged provisioners, you will need to specify a set of +> tags that matches at least one provisioner for _all_ template import jobs and +> workspace build jobs. +> +> You may wish to run at least one additional provisioner with no additional +> tags so that provisioner jobs with no additional tags defined will be picked +> up instead of potentially remaining in the Pending state indefinitely. + This is illustrated in the below table: | Provisioner Tags | Job Tags | Can Run Job? | diff --git a/docs/admin/templates/extending-templates/workspace-tags.md b/docs/admin/templates/extending-templates/workspace-tags.md index 88eb636551714..68cffef110d29 100644 --- a/docs/admin/templates/extending-templates/workspace-tags.md +++ b/docs/admin/templates/extending-templates/workspace-tags.md @@ -17,6 +17,7 @@ specified: ```tf data "coder_workspace_tags" "custom_workspace_tags" { tags = { + "az" = var.az "zone" = "developers" "runtime" = data.coder_parameter.runtime_selector.value "project_id" = "PROJECT_${data.coder_parameter.project_name.value}" @@ -50,6 +51,9 @@ added that can handle its combination of tags. Before releasing the template version with configurable workspace tags, ensure that every tag set is associated with at least one healthy provisioner. +> [!NOTE] It may be useful to run at least one provisioner with no additional +> tag restrictions that is able to take on any job. + ### Parameters types Provisioners require job tags to be defined in plain string format. When a @@ -66,6 +70,14 @@ the workspace owner to change a provisioner group (due to different tags). In most cases, `coder_parameter`s backing `coder_workspace_tags` should be marked as immutable and set only once, during workspace creation. +**We recommend only using the following as inputs for `coder_workspace_tags`:** + +- Static values (e.g. `"developers"`), +- Template variables (e.g. `var.az`), +- Coder parameters (e.g. `data.coder_parameter.runtime_selector.value`). + +Passing template tags in from other data sources may have undesired effects! + ### HCL syntax When importing the template version with `coder_workspace_tags`, the Coder diff --git a/docs/images/admin/provisioner-tags.png b/docs/images/admin/provisioner-tags.png new file mode 100644 index 0000000000000000000000000000000000000000..1d8249e5c9c74492faa3b1fa0403a68fbe949a0a GIT binary patch literal 35624 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 literal 0 HcmV?d00001 From 964e2b7c698b4a0bbdc6791f38ea99442a724fb1 Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Tue, 15 Oct 2024 17:48:59 +0100 Subject: [PATCH 2/4] Apply suggestions from code review Co-authored-by: Edward Angert --- .../templates/extending-templates/workspace-tags.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/docs/admin/templates/extending-templates/workspace-tags.md b/docs/admin/templates/extending-templates/workspace-tags.md index 68cffef110d29..2c906c90bd77c 100644 --- a/docs/admin/templates/extending-templates/workspace-tags.md +++ b/docs/admin/templates/extending-templates/workspace-tags.md @@ -70,13 +70,15 @@ the workspace owner to change a provisioner group (due to different tags). In most cases, `coder_parameter`s backing `coder_workspace_tags` should be marked as immutable and set only once, during workspace creation. -**We recommend only using the following as inputs for `coder_workspace_tags`:** +We recommend using only the following as inputs for `coder_workspace_tags`: -- Static values (e.g. `"developers"`), -- Template variables (e.g. `var.az`), -- Coder parameters (e.g. `data.coder_parameter.runtime_selector.value`). +| | Example | +|:-------------------|:--------| +| Static values | `developers` | +| Template variables | `var.az` | +| Coder parameters | `data.coder_parameter.runtime_selector.value` | -Passing template tags in from other data sources may have undesired effects! +Passing template tags in from other data sources may have undesired effects. ### HCL syntax From e858d0d4afe990db5ad54b533b645a5a70155391 Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Tue, 15 Oct 2024 17:50:49 +0100 Subject: [PATCH 3/4] fmt --- .../admin/templates/extending-templates/workspace-tags.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/admin/templates/extending-templates/workspace-tags.md b/docs/admin/templates/extending-templates/workspace-tags.md index 2c906c90bd77c..4062b86312fa5 100644 --- a/docs/admin/templates/extending-templates/workspace-tags.md +++ b/docs/admin/templates/extending-templates/workspace-tags.md @@ -72,10 +72,10 @@ as immutable and set only once, during workspace creation. We recommend using only the following as inputs for `coder_workspace_tags`: -| | Example | -|:-------------------|:--------| -| Static values | `developers` | -| Template variables | `var.az` | +| | Example | +| :----------------- | :-------------------------------------------- | +| Static values | `developers` | +| Template variables | `var.az` | | Coder parameters | `data.coder_parameter.runtime_selector.value` | Passing template tags in from other data sources may have undesired effects. From 9e93f73df5a27ada04f806e267490bd9b7169d41 Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Tue, 15 Oct 2024 17:51:19 +0100 Subject: [PATCH 4/4] fixup! fmt --- docs/admin/templates/extending-templates/workspace-tags.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/admin/templates/extending-templates/workspace-tags.md b/docs/admin/templates/extending-templates/workspace-tags.md index 4062b86312fa5..2f7df96cba681 100644 --- a/docs/admin/templates/extending-templates/workspace-tags.md +++ b/docs/admin/templates/extending-templates/workspace-tags.md @@ -74,7 +74,7 @@ We recommend using only the following as inputs for `coder_workspace_tags`: | | Example | | :----------------- | :-------------------------------------------- | -| Static values | `developers` | +| Static values | `"developers"` | | Template variables | `var.az` | | Coder parameters | `data.coder_parameter.runtime_selector.value` |