coder / coder/registry

Template terms of usage

Open
#58 0 comments 0 reactions 1 assignee Claimed by @stirby View on GitHub
Dominant language
HCL
Stars
79
Forks
161
Avg merge
1d 10h
Merged PRs (30d)
38

Description

We can add a little module that adds a required terms of service for template usage:

```hcl
data "coder_parameter" "terms_of_use" {
name = "terms-of-use"
display_name = "Terms of use"
description = "Please type \"yes\" to accept the [data privacy agreement](https://coder.com/) before using this template. Otherwise, **the workspace build will fail**."
type = "string"
}
```

Then users can use a precondition in their resource lifecycle:

```hcl
lifecycle {
# The user must accept a
precondition {
condition = regex("(?i)^\\s*yes\\s*$", data.coder_parameter.terms_of_use.value)
error_message = "Build prevented. You must accept the terms of use before creating a workspace from this template."
}
}
```

Once https://github.com/coder/coder/issues/12686 is shipped, we can make it fully contained within the module and prevent workspace creation if it's not accepted.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.