Skip to content

🤖 Aggregated API: decide two edge cases of the empty namespaced LIST (#209 follow-up) #215

Description

@ThomasK33

Problem

PR #214 (Refs #209) makes a namespaced LIST of coderworkspaces, codertemplates, and codertemplateversions return an empty list when no Coder backend serves the namespace. An independent readiness review of that PR left two open decisions. Item 1 is resolved. Item 2 is open.

  1. Ineligible control plane gives an empty LIST. Resolved in 🤖 fix: return an empty namespaced LIST where no Coder backend serves the namespace #214 (commit cbf77c21): only a namespace that contains no CoderControlPlane at all gets the empty list. A namespace whose control plane exists but is not eligible (for example status.operatorAccessReady=false during a short Postgres outage) keeps the 503, so watch clients do not see objects as deleted.
  2. Unconfigured standalone server. When standalone mode (--app=aggregated-apiserver) has no Coder URL or token, the server uses an error provider that returns 503 for every namespace (errClientProvider in internal/app/apiserverapp/apiserverapp.go). Its LIST errors are not marked as "namespace not served", so namespace deletion still hangs on such a server. This is a misconfiguration, so 🤖 fix: return an empty namespaced LIST where no Coder backend serves the namespace #214 left it out.

Trigger

  • Item 2: a user report, or the next change to standalone-mode configuration.

Owner

The coder-k8s maintainer.


Generated with mux • Model: anthropic:claude-opus-5-5 • Thinking: high

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions