🤖 CoderWorkspacePool Share mode: optionally stop the workspace when a share is revoked
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 15/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- go, kubernetes
- Bereich
- infrastructure
Rechercherichtung
The payload names no code files, only the ShareRevoked and ShareRemoved messages, the pool how-to and plan section 6.2 step 11, all referenced from #446. Start by reading those, then the discussion threads it links. Done means a settled design for an opt-in stop after revocation, including a decision on ShareRemoved, crash-safe state, and active-build handling. Implementation should wait for that design.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Problem
When the share policy no longer allows a share, the operator removes the Coder user from the workspace ACL and the claim reports ShareRevoked (#446). Coder also drops shares itself, for example when an admin tightens the organization's sharing setting (ShareRemoved). In both cases, Coder applies the removal only after the workspace restarts (Shared workspaces: "The workspace must be restarted for the user or group removal to take effect"). The operator does not restart or stop the workspace, so the user keeps access until someone does. A claimed workspace can run for a long time: a template with a default TTL of 0 has no autostop, and claims.idleTimeoutSeconds is opt-in.
Found by the Codex reviews of #446 (normal P1 and security P2): https://github.com/coder/coder-k8s/pull/446#discussion_r4433811754 and https://github.com/coder/coder-k8s/pull/446#discussion_r4433811122
Current behavior (#446)
The ShareRevoked and ShareRemoved messages and the pool how-to say that the user keeps access until the workspace restarts or stops. They tell the admin to restart or stop the workspace in Coder, or to delete the claim, to end the access at once. This matches Coder's own unshare, which also leaves the restart to a person.
Option
An opt-in setting on the pool or the control plane: after a revocation, the member stops the workspace with the operator token, confirms the stop build, and only then reports the share as revoked. This needs:
- A crash-safe state between the ACL removal and the confirmed stop, so a lost status write still leads to the stop.
- Handling of an active build (cancel with
expect_status, as the member's delete cleanup does). - A decision for
ShareRemoved, where Coder or a person removed the share. - A Kind check in P9 that the user loses an open session.
It interrupts the claimant's session, so it stays opt-in. It changes plan 6.2 step 11, where a bound member only watches its workspace. Refs #153.
Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: xhigh
- Vorherrschende Sprache
- Go
- Sterne
- 5
- Forks
- 3
- Ø Merge
- 1 Std. 50 Min.
- Gemergte PRs (30 T.)
- 160
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus coder/coder-k8s
-
CoderWorkspacePool: count bound and used members only when their owner matches the pool's ownerOffen
Schwierigkeit 3/5 Ein halber Tag Anfängerfreundlichkeit 62/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 3/5 Ein halber Tag Anfängerfreundlichkeit 45/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 30/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 8/100
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in coder/coder-k8s
Ähnliche Issues
-
[bug]: scan-all update-schedule does not auto-convert 5-field cron expressions as documentedEvtl. vergeben @vishnums2k5 hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
goharbor/harbor-cli#1143 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 8 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
-
--info inline-right:PREFIX leaves the first character of the prefix when the info gets shorterOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 73/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
rossoctl/context-guru#1053 ·
Maintainer antworten meist innerhalb von 1 Tag
-
[BUG] EphemeralJob matches every pod in the namespace when spec.selector is emptyEvtl. vergeben @vishnums2k5 hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
openkruise/kruise#2656 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag