Skip to content

VDI: expose an authenticated self-service broker API #227

Description

@hanthor

Part of #69.

Depends on #226.

Current behavior

Assignment is an administrator-only corral vdi assign <pool> <user> command. There is no authenticated end-user claim/release contract or broker process.

Desired behavior

Define the Phase 2 broker placement and expose a small authenticated API that turns the caller's trusted Corral identity into atomic claim, start, inspect, and explicit-release operations.

Acceptance criteria

  • Record the broker placement decision (plugin process versus existing peer/gateway seam) and keep optional VDI policy out of Corral core.
  • Claim identity comes from the existing trusted ingress/OIDC identity contract; callers cannot claim or release as an arbitrary user.
  • Claim uses VDI: add atomic pool-member claim and release #226, starts the selected VM on demand, and reports recoverable lifecycle failures without losing ownership state.
  • Explicit release is authoritative, checks ownership/admin authorization, and stops persistent members.
  • API responses expose stable pool/member/session identifiers for CLI and web consumers.
  • Deterministic tests cover authentication, authorization, claim/start failure, release, retry, and pool exhaustion.
  • Document configuration, required permissions, and threat boundaries.

Out of scope

Session disconnect reclaim, protocol selection/UI, and CT-backed pools are separate children of #69.

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

    enhancementNew feature or requestneeds-triageAwaiting initial maintainer triagepluginMarketplace extension idea

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions