diff --git a/docs/admin/templates/extending-templates/prebuilt-workspaces.md b/docs/admin/templates/extending-templates/prebuilt-workspaces.md index 894a2a219a9cf..3fd82d62d1943 100644 --- a/docs/admin/templates/extending-templates/prebuilt-workspaces.md +++ b/docs/admin/templates/extending-templates/prebuilt-workspaces.md @@ -25,7 +25,7 @@ Prebuilt workspaces are tightly integrated with [workspace presets](./parameters ## Prerequisites - [**Premium license**](../../licensing/index.md) -- **Compatible Terraform provider**: Use `coder/coder` Terraform provider `>= 2.4.0`. +- **Compatible Terraform provider**: Use `coder/coder` Terraform provider `>= 2.4.1`. - **Feature flag**: Enable the `workspace-prebuilds` [experiment](../../../reference/cli/server.md#--experiments). ## Enable prebuilt workspaces for template presets @@ -75,7 +75,7 @@ Prebuilt workspaces follow a specific lifecycle from creation through eligibilit Prebuilt workspaces that fail during provisioning are retried with a backoff to prevent transient failures. -1. When a developer requests a new workspace, the claiming process occurs: +1. When a developer creates a new workspace, the claiming process occurs: 1. Developer selects a template and preset that has prebuilt workspaces configured. 1. If an eligible prebuilt workspace exists, ownership transfers from the `prebuilds` user to the requesting user. @@ -84,13 +84,17 @@ Prebuilt workspaces follow a specific lifecycle from creation through eligibilit [`coder_workspace_owner`](https://registry.terraform.io/providers/coder/coder/latest/docs/data-sources/workspace_owner) datasources (see [Preventing resource replacement](#preventing-resource-replacement) for further considerations). - The developer doesn't see the claiming process — the workspace will just be ready faster than usual. + The claiming process is transparent to the developer — the workspace will just be ready faster than usual. You can view available prebuilt workspaces in the **Workspaces** view in the Coder dashboard:  _Note the search term `owner:prebuilds`._ +Unclaimed prebuilt workspaces can be interacted with in the same way as any other workspace. +However, if a Prebuilt workspace is stopped, the reconciliation loop will not destroy it. +This gives template admins the ability to park problematic prebuilt workspaces in a stopped state for further investigation. + ### Template updates and the prebuilt workspace lifecycle Prebuilt workspaces are not updated after they are provisioned. @@ -169,6 +173,13 @@ For example, the [`ami`](https://registry.terraform.io/providers/hashicorp/aws/l has [`ForceNew`](https://github.com/hashicorp/terraform-provider-aws/blob/main/internal/service/ec2/ec2_instance.go#L75-L81) set, since the AMI cannot be changed in-place._ +#### Updating claimed prebuilt workspace templates + +Once a prebuilt workspace has been claimed, and if its template uses `ignore_changes`, users may run into an issue where the agent +does not reconnect after a template update. This shortcoming is described in [this issue](https://github.com/coder/coder/issues/17840) +and will be addressed before the next release (v2.23). In the interim, a simple workaround is to restart the workspace +when it is in this problematic state. + ### Current limitations The prebuilt workspaces feature has these current limitations: @@ -177,13 +188,13 @@ The prebuilt workspaces feature has these current limitations: Prebuilt workspaces can only be used with the default organization. - [coder/internal#364](https://github.com/coder/internal/issues/364) + [View issue](https://github.com/coder/internal/issues/364) - **Autoscaling** Prebuilt workspaces remain running until claimed. There's no automated mechanism to reduce instances during off-hours. - [coder/internal#312](https://github.com/coder/internal/issues/312) + [View issue](https://github.com/coder/internal/issues/312) ### Monitoring and observability
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: