Skip to content

Resource coderd_user: Plan fails when user was deleted outside of terraform #208

Closed
@michvllni

Description

@michvllni

When a user created via the coderd provider is removed outside of terraform, the plan fails because it cannot find the user.

resource "coderd_user" "user" {
  username = "myuser"
  email = "myuser@myorg.com"
  name = "My User"
  roles = []
  login_type = "oidc"
}
╷
│ Error: Client Error
│ 
│   with coderd_user.user,
│   on users.tf line 1, in resource "coderd_user" "user":
│    1: resource "coderd_user" "user" {
│ 
│ Unable to get current user, got error: GET
│ https://<REDACTED url>/api/v2/users/<REDACTED user id>:
│ unexpected status code 400: "user" must be an existing uuid or username.
│ 	Error: queried user="<REDACTED user id>"
╵

I would have expected the provider to mark this as deleted instead of running into an error

Activity

changed the title [-]Plan fails when user was deleted outside of terraform[/-] [+]Resource `coderd_user`: Plan fails when user was deleted outside of terraform[/+] on Apr 11, 2025
ethanndickson

ethanndickson commented on Apr 14, 2025

@ethanndickson
Member

Unlike all the other resources, it looks like we send a 400 if the User is missing, instead of a 404, so this was missed by #102..
I'll update the provider to handle that.

However, I can't reproduce your issue exactly. FWICT api/v2/users/{ID} queries continue to work after the user is deleted, as the DB query doesn't filter out users where deleted is true. What version of Coder are you running?

EDIT: This is just because I'm authorized as Owner. Not sure if that's by design, but it kinda makes sense.

michvllni

michvllni commented on Apr 14, 2025

@michvllni
Author

I'm using coder version 2.20.0 with coder provider version 2.3.0 and coder provider version 0.0.10

However, I might have misunderstood something. I didn't know that coder doesnt completely remove the just but just adds a deleted flag.

In my case, I reset my database to have a fresh start as I broke some stuff and wanted to test a green-field-ish deployment.

So the user actually was not in the database, but still in the terraform state

added a commit that references this issue on Apr 16, 2025
5503d71
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

    Development

    Participants

    @ethanndickson@michvllni

    Issue actions

      Resource `coderd_user`: Plan fails when user was deleted outside of terraform · Issue #208 · coder/terraform-provider-coderd