Dotfiles template default repo (#224)
Co-authored-by: Muhammad Atif Ali <me@matifali.dev>
This commit is contained in:
@@ -18,3 +18,16 @@ module "dotfiles" {
|
|||||||
agent_id = coder_agent.example.id
|
agent_id = coder_agent.example.id
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Setting a default dotfiles repository
|
||||||
|
|
||||||
|
You can set a default dotfiles repository for all users by setting the `default_dotfiles_repo` variable:
|
||||||
|
|
||||||
|
```tf
|
||||||
|
module "dotfiles" {
|
||||||
|
source = "registry.coder.com/modules/dotfiles/coder"
|
||||||
|
version = "1.0.12"
|
||||||
|
agent_id = coder_agent.example.id
|
||||||
|
default_dotfiles_repo = "https://github.com/coder/dotfiles"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|||||||
@@ -18,4 +18,13 @@ describe("dotfiles", async () => {
|
|||||||
});
|
});
|
||||||
expect(state.outputs.dotfiles_uri.value).toBe("");
|
expect(state.outputs.dotfiles_uri.value).toBe("");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("set a default dotfiles_uri", async () => {
|
||||||
|
const default_dotfiles_uri = "foo";
|
||||||
|
const state = await runTerraformApply(import.meta.dir, {
|
||||||
|
agent_id: "foo",
|
||||||
|
default_dotfiles_uri,
|
||||||
|
});
|
||||||
|
expect(state.outputs.dotfiles_uri.value).toBe(default_dotfiles_uri);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -14,11 +14,17 @@ variable "agent_id" {
|
|||||||
description = "The ID of a Coder agent."
|
description = "The ID of a Coder agent."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
variable "default_dotfiles_uri" {
|
||||||
|
type = string
|
||||||
|
description = "The default dotfiles URI if the workspace user does not provide one."
|
||||||
|
default = ""
|
||||||
|
}
|
||||||
|
|
||||||
data "coder_parameter" "dotfiles_uri" {
|
data "coder_parameter" "dotfiles_uri" {
|
||||||
type = "string"
|
type = "string"
|
||||||
name = "dotfiles_uri"
|
name = "dotfiles_uri"
|
||||||
display_name = "Dotfiles URL (optional)"
|
display_name = "Dotfiles URL (optional)"
|
||||||
default = ""
|
default = var.default_dotfiles_uri
|
||||||
description = "Enter a URL for a [dotfiles repository](https://dotfiles.github.io) to personalize your workspace"
|
description = "Enter a URL for a [dotfiles repository](https://dotfiles.github.io) to personalize your workspace"
|
||||||
mutable = true
|
mutable = true
|
||||||
icon = "/icon/dotfiles.svg"
|
icon = "/icon/dotfiles.svg"
|
||||||
@@ -40,4 +46,9 @@ resource "coder_script" "personalize" {
|
|||||||
output "dotfiles_uri" {
|
output "dotfiles_uri" {
|
||||||
description = "Dotfiles URI"
|
description = "Dotfiles URI"
|
||||||
value = data.coder_parameter.dotfiles_uri.value
|
value = data.coder_parameter.dotfiles_uri.value
|
||||||
|
}
|
||||||
|
|
||||||
|
output "dotfiles_default_uri" {
|
||||||
|
description = "Dotfiles Default URI"
|
||||||
|
value = var.default_dotfiles_uri
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user