Skip to content

chore: update deprecated usage of coder_workspace.owner* fields #13390

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
May 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 11 additions & 10 deletions .github/pr-deployments/template/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ provider "kubernetes" {
}

data "coder_workspace" "me" {}
data "coder_workspace_owner" "me" {}

resource "coder_agent" "main" {
os = "linux"
Expand Down Expand Up @@ -175,21 +176,21 @@ resource "coder_app" "code-server" {

resource "kubernetes_persistent_volume_claim" "home" {
metadata {
name = "coder-${lower(data.coder_workspace.me.owner)}-${lower(data.coder_workspace.me.name)}-home"
name = "coder-${lower(data.coder_workspace_owner.me.name)}-${lower(data.coder_workspace.me.name)}-home"
namespace = var.namespace
labels = {
"app.kubernetes.io/name" = "coder-pvc"
"app.kubernetes.io/instance" = "coder-pvc-${lower(data.coder_workspace.me.owner)}-${lower(data.coder_workspace.me.name)}"
"app.kubernetes.io/instance" = "coder-pvc-${lower(data.coder_workspace_owner.me.name)}-${lower(data.coder_workspace.me.name)}"
"app.kubernetes.io/part-of" = "coder"
//Coder-specific labels.
"com.coder.resource" = "true"
"com.coder.workspace.id" = data.coder_workspace.me.id
"com.coder.workspace.name" = data.coder_workspace.me.name
"com.coder.user.id" = data.coder_workspace.me.owner_id
"com.coder.user.username" = data.coder_workspace.me.owner
"com.coder.user.id" = data.coder_workspace_owner.me.id
"com.coder.user.username" = data.coder_workspace_owner.me.name
}
annotations = {
"com.coder.user.email" = data.coder_workspace.me.owner_email
"com.coder.user.email" = data.coder_workspace_owner.me.email
}
}
wait_until_bound = false
Expand All @@ -210,20 +211,20 @@ resource "kubernetes_deployment" "main" {
]
wait_for_rollout = false
metadata {
name = "coder-${lower(data.coder_workspace.me.owner)}-${lower(data.coder_workspace.me.name)}"
name = "coder-${lower(data.coder_workspace_owner.me.name)}-${lower(data.coder_workspace.me.name)}"
namespace = var.namespace
labels = {
"app.kubernetes.io/name" = "coder-workspace"
"app.kubernetes.io/instance" = "coder-workspace-${lower(data.coder_workspace.me.owner)}-${lower(data.coder_workspace.me.name)}"
"app.kubernetes.io/instance" = "coder-workspace-${lower(data.coder_workspace_owner.me.name)}-${lower(data.coder_workspace.me.name)}"
"app.kubernetes.io/part-of" = "coder"
"com.coder.resource" = "true"
"com.coder.workspace.id" = data.coder_workspace.me.id
"com.coder.workspace.name" = data.coder_workspace.me.name
"com.coder.user.id" = data.coder_workspace.me.owner_id
"com.coder.user.username" = data.coder_workspace.me.owner
"com.coder.user.id" = data.coder_workspace_owner.me.id
"com.coder.user.username" = data.coder_workspace_owner.me.name
}
annotations = {
"com.coder.user.email" = data.coder_workspace.me.owner_email
"com.coder.user.email" = data.coder_workspace_owner.me.email
}
}

Expand Down
2 changes: 1 addition & 1 deletion docs/admin/quotas.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ compute:

```hcl
resource "docker_volume" "home_volume" {
name = "coder-${data.coder_workspace.me.owner}-${data.coder_workspace.me.name}-root"
name = "coder-${data.coder_workspace_owner.me.name}-${data.coder_workspace.me.name}-root"
}

resource "coder_metadata" "home_volume" {
Expand Down
2 changes: 1 addition & 1 deletion docs/faqs.md
Original file line number Diff line number Diff line change
Expand Up @@ -315,7 +315,7 @@ This code produces a hashed value that will be difficult to replicate.

```hcl
locals {
concatenated_string = "${data.coder_workspace.me.name}+${data.coder_workspace.me.owner}"
concatenated_string = "${data.coder_workspace.me.name}+${data.coder_workspace_owner.me.name}"
hashed_string = md5(local.concatenated_string)
truncated_hash = substr(local.hashed_string, 0, 16)
}
Expand Down
13 changes: 7 additions & 6 deletions dogfood/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ locals {

repo_base_dir = data.coder_parameter.repo_base_dir.value == "~" ? "/home/coder" : replace(data.coder_parameter.repo_base_dir.value, "/^~\\//", "/home/coder/")
repo_dir = replace(module.git-clone.repo_dir, "/^~\\//", "/home/coder/")
container_name = "coder-${data.coder_workspace.me.owner}-${lower(data.coder_workspace.me.name)}"
container_name = "coder-${data.coder_workspace_owner.me.name}-${lower(data.coder_workspace.me.name)}"
}

data "coder_parameter" "repo_base_dir" {
Expand Down Expand Up @@ -95,6 +95,7 @@ data "coder_external_auth" "github" {
}

data "coder_workspace" "me" {}
data "coder_workspace_owner" "me" {}

module "slackme" {
source = "registry.coder.com/modules/slackme/coder"
Expand Down Expand Up @@ -267,11 +268,11 @@ resource "docker_volume" "home_volume" {
# Add labels in Docker to keep track of orphan resources.
labels {
label = "coder.owner"
value = data.coder_workspace.me.owner
value = data.coder_workspace_owner.me.name
}
labels {
label = "coder.owner_id"
value = data.coder_workspace.me.owner_id
value = data.coder_workspace_owner.me.id
}
labels {
label = "coder.workspace_id"
Expand Down Expand Up @@ -309,7 +310,7 @@ resource "docker_container" "workspace" {
# Use the docker gateway if the access URL is 127.0.0.1
entrypoint = ["sh", "-c", coder_agent.dev.init_script]
# CPU limits are unnecessary since Docker will load balance automatically
memory = data.coder_workspace.me.owner == "code-asher" ? 65536 : 32768
memory = data.coder_workspace_owner.me.name == "code-asher" ? 65536 : 32768
runtime = "sysbox-runc"
env = [
"CODER_AGENT_TOKEN=${coder_agent.dev.token}",
Expand All @@ -330,11 +331,11 @@ resource "docker_container" "workspace" {
# Add labels in Docker to keep track of orphan resources.
labels {
label = "coder.owner"
value = data.coder_workspace.me.owner
value = data.coder_workspace_owner.me.name
}
labels {
label = "coder.owner_id"
value = data.coder_workspace.me.owner_id
value = data.coder_workspace_owner.me.id
}
labels {
label = "coder.workspace_id"
Expand Down
9 changes: 5 additions & 4 deletions examples/jfrog/docker/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@ terraform {
locals {
# Make sure to use the same field as the username field in the Artifactory
# It can be either the username or the email address.
artifactory_username = data.coder_workspace.me.owner_email
artifactory_username = data.coder_workspace_owner.me.email
artifactory_repository_keys = {
"npm" = "npm"
"python" = "python"
"go" = "go"
}
workspace_user = data.coder_workspace.me.owner
workspace_user = data.coder_workspace_owner.me.name
jfrog_host = replace(var.jfrog_url, "^https://", "")
}

Expand All @@ -30,6 +30,7 @@ data "coder_provisioner" "me" {}
provider "docker" {}

data "coder_workspace" "me" {}
data "coder_workspace_owner" "me" {}

variable "jfrog_url" {
type = string
Expand Down Expand Up @@ -83,7 +84,7 @@ resource "coder_agent" "main" {

# Configure the `npm` CLI to use the Artifactory "npm" repository.
cat << EOF > ~/.npmrc
email = ${data.coder_workspace.me.owner_email}
email = ${data.coder_workspace_owner.me.email}
registry = ${var.jfrog_url}/artifactory/api/npm/${local.artifactory_repository_keys["npm"]}
EOF
jf rt curl /api/npm/auth >> .npmrc
Expand Down Expand Up @@ -149,7 +150,7 @@ resource "docker_container" "workspace" {
count = data.coder_workspace.me.start_count
image = docker_image.main.name
# Uses lower() to avoid Docker restriction on container names.
name = "coder-${data.coder_workspace.me.owner}-${lower(data.coder_workspace.me.name)}"
name = "coder-${data.coder_workspace_owner.me.name}-${lower(data.coder_workspace.me.name)}"
# Hostname makes the shell more user friendly: coder@my-workspace:~$
hostname = data.coder_workspace.me.name
entrypoint = ["sh", "-c", coder_agent.main.init_script]
Expand Down
21 changes: 11 additions & 10 deletions examples/parameters-dynamic-options/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ variable "java_image" {
}

locals {
username = data.coder_workspace.me.owner
username = data.coder_workspace_owner.me.name

images = {
"go" = var.go_image,
Expand All @@ -33,6 +33,7 @@ data "coder_provisioner" "me" {

data "coder_workspace" "me" {
}
data "coder_workspace_owner" "me" {}

data "coder_parameter" "container_image" {
name = "container_image"
Expand Down Expand Up @@ -61,10 +62,10 @@ resource "coder_agent" "main" {
EOF

env = {
GIT_AUTHOR_NAME = "${data.coder_workspace.me.owner}"
GIT_COMMITTER_NAME = "${data.coder_workspace.me.owner}"
GIT_AUTHOR_EMAIL = "${data.coder_workspace.me.owner_email}"
GIT_COMMITTER_EMAIL = "${data.coder_workspace.me.owner_email}"
GIT_AUTHOR_NAME = "${data.coder_workspace_owner.me.name}"
GIT_COMMITTER_NAME = "${data.coder_workspace_owner.me.name}"
GIT_AUTHOR_EMAIL = "${data.coder_workspace_owner.me.email}"
GIT_COMMITTER_EMAIL = "${data.coder_workspace_owner.me.email}"
}
}

Expand All @@ -91,11 +92,11 @@ resource "docker_volume" "home_volume" {
}
labels {
label = "coder.owner"
value = data.coder_workspace.me.owner
value = data.coder_workspace_owner.me.name
}
labels {
label = "coder.owner_id"
value = data.coder_workspace.me.owner_id
value = data.coder_workspace_owner.me.id
}
labels {
label = "coder.workspace_id"
Expand All @@ -119,7 +120,7 @@ resource "coder_metadata" "home_info" {
resource "docker_container" "workspace" {
count = data.coder_workspace.me.start_count
image = local.images[data.coder_parameter.container_image.value]
name = "coder-${data.coder_workspace.me.owner}-${lower(data.coder_workspace.me.name)}"
name = "coder-${data.coder_workspace_owner.me.name}-${lower(data.coder_workspace.me.name)}"
hostname = data.coder_workspace.me.name
entrypoint = ["sh", "-c", replace(coder_agent.main.init_script, "/localhost|127\\.0\\.0\\.1/", "host.docker.internal")]
env = [
Expand All @@ -138,11 +139,11 @@ resource "docker_container" "workspace" {

labels {
label = "coder.owner"
value = data.coder_workspace.me.owner
value = data.coder_workspace_owner.me.name
}
labels {
label = "coder.owner_id"
value = data.coder_workspace.me.owner_id
value = data.coder_workspace_owner.me.id
}
labels {
label = "coder.workspace_id"
Expand Down
13 changes: 7 additions & 6 deletions examples/parameters/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ terraform {
}

locals {
username = data.coder_workspace.me.owner
username = data.coder_workspace_owner.me.name
}

data "coder_provisioner" "me" {
Expand All @@ -21,6 +21,7 @@ provider "docker" {

data "coder_workspace" "me" {
}
data "coder_workspace_owner" "me" {}

resource "coder_agent" "main" {
arch = data.coder_provisioner.me.arch
Expand Down Expand Up @@ -59,11 +60,11 @@ resource "docker_volume" "home_volume" {
# Add labels in Docker to keep track of orphan resources.
labels {
label = "coder.owner"
value = data.coder_workspace.me.owner
value = data.coder_workspace_owner.me.name
}
labels {
label = "coder.owner_id"
value = data.coder_workspace.me.owner_id
value = data.coder_workspace_owner.me.id
}
labels {
label = "coder.workspace_id"
Expand Down Expand Up @@ -94,7 +95,7 @@ resource "docker_container" "workspace" {
count = data.coder_workspace.me.start_count
image = docker_image.main.name
# Uses lower() to avoid Docker restriction on container names.
name = "coder-${data.coder_workspace.me.owner}-${lower(data.coder_workspace.me.name)}"
name = "coder-${data.coder_workspace_owner.me.name}-${lower(data.coder_workspace.me.name)}"
# Hostname makes the shell more user friendly: coder@my-workspace:~$
hostname = data.coder_workspace.me.name
# Use the docker gateway if the access URL is 127.0.0.1
Expand All @@ -112,11 +113,11 @@ resource "docker_container" "workspace" {
# Add labels in Docker to keep track of orphan resources.
labels {
label = "coder.owner"
value = data.coder_workspace.me.owner
value = data.coder_workspace_owner.me.name
}
labels {
label = "coder.owner_id"
value = data.coder_workspace.me.owner_id
value = data.coder_workspace_owner.me.id
}
labels {
label = "coder.workspace_id"
Expand Down
3 changes: 2 additions & 1 deletion examples/templates/aws-devcontainer/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ provider "aws" {

data "coder_workspace" "me" {
}
data "coder_workspace_owner" "me" {}

data "aws_ami" "ubuntu" {
most_recent = true
Expand Down Expand Up @@ -167,7 +168,7 @@ resource "aws_instance" "vm" {

user_data = local.user_data
tags = {
Name = "coder-${data.coder_workspace.me.owner}-${data.coder_workspace.me.name}"
Name = "coder-${data.coder_workspace_owner.me.name}-${data.coder_workspace.me.name}"
# Required if you are using our example policy, see template README
Coder_Provisioned = "true"
}
Expand Down
3 changes: 2 additions & 1 deletion examples/templates/aws-linux/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,7 @@ provider "aws" {

data "coder_workspace" "me" {
}
data "coder_workspace_owner" "me" {}

data "aws_ami" "ubuntu" {
most_recent = true
Expand Down Expand Up @@ -249,7 +250,7 @@ resource "aws_instance" "dev" {

user_data = local.user_data
tags = {
Name = "coder-${data.coder_workspace.me.owner}-${data.coder_workspace.me.name}"
Name = "coder-${data.coder_workspace_owner.me.name}-${data.coder_workspace.me.name}"
# Required if you are using our example policy, see template README
Coder_Provisioned = "true"
}
Expand Down
3 changes: 2 additions & 1 deletion examples/templates/aws-windows/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,7 @@ provider "aws" {

data "coder_workspace" "me" {
}
data "coder_workspace_owner" "me" {}

data "aws_ami" "windows" {
most_recent = true
Expand Down Expand Up @@ -187,7 +188,7 @@ resource "aws_instance" "dev" {

user_data = data.coder_workspace.me.transition == "start" ? local.user_data_start : local.user_data_end
tags = {
Name = "coder-${data.coder_workspace.me.owner}-${data.coder_workspace.me.name}"
Name = "coder-${data.coder_workspace_owner.me.name}-${data.coder_workspace.me.name}"
# Required if you are using our example policy, see template README
Coder_Provisioned = "true"
}
Expand Down
3 changes: 2 additions & 1 deletion examples/templates/azure-linux/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@ provider "azurerm" {

data "coder_workspace" "me" {
}
data "coder_workspace_owner" "me" {}

resource "coder_agent" "main" {
arch = "amd64"
Expand Down Expand Up @@ -263,7 +264,7 @@ resource "coder_agent" "main" {
}

locals {
prefix = "coder-${data.coder_workspace.me.owner}-${data.coder_workspace.me.name}"
prefix = "coder-${data.coder_workspace_owner.me.name}-${data.coder_workspace.me.name}"

userdata = templatefile("cloud-config.yaml.tftpl", {
username = "coder" # Ensure this user/group does not exist in your VM image
Expand Down
Loading
Loading