Skip to content

tagged provisioners started with --key do not pick up jobs tagged by coder_workspace data source #15047

Closed as not planned
@bpmct

Description

@bpmct

Steps to reproduce

  1. Create a key for a tagged provisioner in a separate org

    coder provisioner keys create my-key \
    --org data-platform \
    --tag environment=kubernetes
  2. Start the provisioner with the key

    coder provisioner start --key <the-generated-key-value>
  3. Observe that the provisioner does not properly report that it is starting with the tags

    [info]  note: untagged provisioners can only pick up jobs from untagged templates
    [info]  provisioner key auth automatically sets tag scope empty
    [info]  starting provisioner daemon  tags={}  name=bens-m2

    🐛 This is bug 1. There is a second one too

  4. Modify an existing template to add tags to the template
    Image

  5. Observe that this actually works fine and is assigned to the proper provisioner ✅

  6. Remove the manual tag from the template and switch to the coder_workspace_tags data source (example template)

    data "coder_workspace_tags" "custom_workspace_tags" {
      tags = {
        "environment"        = "kubernetes"
      }
    }
    Screen.Recording.2024-10-12.at.8.07.11.AM.mov
  7. Notice that this does not assign the job to the proper provisioner. If you have a generic provisioner with no tags, the job may be assigned to that but it is definitely not attached to the provisioner we just started.

    🐛 This is bug number 2.

  8. Notice that starting an un-tagged provisioner will allow this build to complete

     coder login # as user with Owner role
     coder provisioner start --org <your-org>
  9. Observe that this also applies to workspaces started with templates with coder_workspace_tags. The tags seem to do nothing

To summarize

  • The coder_workspace_tags data source (example template) is designed to dynamically assign provisioner tags to a template
  • The way templates/workspaces are assigned to specific provisioners is documented here
  • 🐛 This does not seem to work when the provisioner is started with --key. Instead, the jobs seem to apply as if no tags are set, both for the workspace build and template version push
  • 🐛 When starting a provisioner key with tags, it does not report that tags it is started with and is instead empty starting provisioner daemon tags={}

Metadata

Metadata

Assignees

Labels

must-doIssues that must be completed by the end of the Sprint. Or else. Only humans may set this.s1Bugs that break core workflows. Only humans may set this.

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions