You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/admin/integrations/opentofu.md
+14-8Lines changed: 14 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -2,16 +2,22 @@
2
2
3
3
<!-- Keeping this in as a placeholder for supporting OpenTofu. We should fix support for custom terraform binaries ASAP. -->
4
4
5
-
> ⚠️ This guide is a work in progress. We do not officially support using custom Terraform binaries in your Coder deployment. To track progress on the work, see this related [Github Issue](https://github.com/coder/coder/issues/12009).
6
-
7
-
Coder deployments support any custom Terraform binary, including [OpenTofu](https://opentofu.org/docs/) - an open source alternative to Terraform.
8
-
9
-
> You can read more about OpenTofu and Hashicorp's licensing in our [blog post](https://coder.com/blog/hashicorp-license) on the Terraform licensing changes.
5
+
> ⚠️ This guide is a work in progress. We do not officially support using custom
6
+
> Terraform binaries in your Coder deployment. To track progress on the work,
7
+
> see this related [Github Issue](https://github.com/coder/coder/issues/12009).
10
8
9
+
Coder deployments support any custom Terraform binary, including
10
+
[OpenTofu](https://opentofu.org/docs/) - an open source alternative to
11
+
Terraform.
11
12
13
+
> You can read more about OpenTofu and Hashicorp's licensing in our
14
+
> [blog post](https://coder.com/blog/hashicorp-license) on the Terraform
15
+
> licensing changes.
12
16
13
17
## Using a custom Terraform binary
14
18
15
-
You can change your deployment custom Terraform binary as long as it is in `PATH` and is within the [supported versions](https://github.com/coder/coder/blob/f57ce97b5aadd825ddb9a9a129bb823a3725252b/provisioner/terraform/install.go#L22-L25). The hardcoded version check ensures compatibility with our [example templates](https://github.com/coder/coder/tree/main/examples/templates).
16
-
17
-
19
+
You can change your deployment custom Terraform binary as long as it is in
Copy file name to clipboardExpand all lines: docs/admin/templates/extending-templates/README.md
+6-7Lines changed: 6 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -2,11 +2,11 @@
2
2
3
3
<!-- TODO: Review structure and links -->
4
4
5
-
There are a variety of Coder-native features to extend the configuration of your development environments. Many of the following features are defined in your templates using the [Coder Terraform provider](https://registry.terraform.io/providers/coder/coder/latest/docs). The provider docs will provide code examples for usage; alternatively, you can view our [example templates](https://github.com/coder/coder/tree/main/examples/templates) to get started.
5
+
There are a variety of Coder-native features to extend the configuration of your development environments. Many of the following features are defined in your templates using the [Coder Terraform provider](https://registry.terraform.io/providers/coder/coder/latest/docs). The provider docs will provide code examples for usage; alternatively, you can view our [example templates](https://github.com/coder/coder/tree/main/examples/templates) to get started.
6
6
7
7
## Workspace agents
8
8
9
-
For users to connect to a workspace, the template must include a [`coder_agent`](https://registry.terraform.io/providers/coder/coder/latest/docs/resources/agent). The associated agent will facilitate [workspace connections](../../../user-guides/workspace-access/README.md) via SSH, port forwarding, and IDEs. The agent may also display real-time [workspace metadata](./agent-metadata.md) like resource usage.
9
+
For users to connect to a workspace, the template must include a [`coder_agent`](https://registry.terraform.io/providers/coder/coder/latest/docs/resources/agent). The associated agent will facilitate [workspace connections](../../../user-guides/workspace-access/README.md) via SSH, port forwarding, and IDEs. The agent may also display real-time [workspace metadata](./agent-metadata.md) like resource usage.
You can also leverage [resource metadata](./resource-metadata.md) to display static resource information from your template.
23
23
24
-
Templates must include some computational resource to start the agent. All processes on the workspace are then spawned from the agent. It also provides all information displayed in the dashboard's workspace view.
24
+
Templates must include some computational resource to start the agent. All processes on the workspace are then spawned from the agent. It also provides all information displayed in the dashboard's workspace view.
Multiple agents may be used in a single template or even a single resource. Each agent may have it's own apps, startup script, and metadata. This can be used to associate multiple containers or VMs with a workspace.
28
+
Multiple agents may be used in a single template or even a single resource. Each agent may have it's own apps, startup script, and metadata. This can be used to associate multiple containers or VMs with a workspace.
29
29
30
30
## Resource persistence
31
31
32
32
The resources you define in a template may be _ephemeral_ or _persistent_. Persistent resources stay provisioned when workspaces are stopped, where as ephemeral resources are destroyed and recreated on restart. All resources are destroyed when a workspace is deleted.
33
33
34
-
> You can read more about how resource behavior and workspace state in the [workspace lifecycle documentation](../../workspaces/lifecycle.md).
34
+
> You can read more about how resource behavior and workspace state in the [workspace lifecycle documentation](../../workspaces/lifecycle.md).
35
35
36
36
Template resources follow the [behavior of Terraform resources](https://developer.hashicorp.com/terraform/language/resources/behavior#how-terraform-applies-a-configuration) and can be further configured using the [lifecycle argument](https://developer.hashicorp.com/terraform/language/meta-arguments/lifecycle).
37
37
38
38
A common configuration is a template whose only persistent resource is the home directory. This allows the developer to retain their work while ensuring the rest of their environment is consistently up-to-date on each workspace restart.
39
39
40
-
41
40
## Coder apps
42
41
43
42
Additional IDEs, documentation, or services can be associated to your workspace using the [`coder_app`](https://registry.terraform.io/providers/coder/coder/latest/docs/resources/app) resource.
@@ -46,7 +45,7 @@ Additional IDEs, documentation, or services can be associated to your workspace
46
45
47
46
Note that some apps are associated to the agent by default as [`display_apps`](https://registry.terraform.io/providers/coder/coder/latest/docs/resources/agent#nested-schema-for-display_apps) and can be hidden directly in the [`coder_agent`](https://registry.terraform.io/providers/coder/coder/latest/docs/resources/agent) resource. You can arrange the display orientation of Coder apps in your template using [resource ordering](./resource-ordering.md).
48
47
49
-
Check out our [module registry](https://registry.coder.com/modules) for additional Coder apps from the team and our OSS community.
48
+
Check out our [module registry](https://registry.coder.com/modules) for additional Coder apps from the team and our OSS community.
Copy file name to clipboardExpand all lines: docs/admin/templates/managing-templates.md
+6-1Lines changed: 6 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -60,7 +60,12 @@ infrastructure, software, or security patches. Learn more about
60
60
61
61
### Template update policies (enterprise)
62
62
63
-
Enterprise template admins may want workspaces to always remain on the latest version of their parent template. To do so, enable **Template Update Policies** in the template's general settings. All non-admin users of the template will be forced to update their workspaces before starting them once the setting is applied. Workspaces which leverage autostart or start-on-connect will be automatically updated on the next startup.
63
+
Enterprise template admins may want workspaces to always remain on the latest
64
+
version of their parent template. To do so, enable **Template Update Policies**
65
+
in the template's general settings. All non-admin users of the template will be
66
+
forced to update their workspaces before starting them once the setting is
67
+
applied. Workspaces which leverage autostart or start-on-connect will be
After updating the default version of the template that a workspace was created
@@ -56,6 +55,7 @@ Update a workspace through the command line:
56
55
```shell
57
56
coder update <workspace-name>
58
57
```
58
+
59
59
### Automatic updates
60
60
61
61
It can be tedious to manually update a workspace every time an update is pushed
@@ -72,7 +72,6 @@ manually updated the workspace.
72
72
73
73
Template admins can require workspaces be on the latest version before starting. When this is enabled, you will be presented with an "Update and Start" button in the UI. Workspaces that start on connect will automatically update on the first out-of-date connection.
0 commit comments