fix(cli): port-forward: update workspace last_used_at (#12659)

This PR updates the coder port-forward command to periodically inform coderd that the workspace is being used:

- Adds workspaceusage.Tracker which periodically batch-updates workspace LastUsedAt
- Adds coderd endpoint to signal workspace usage
- Updates coder port-forward to periodically hit this endpoint
- Modifies BatchUpdateWorkspacesLastUsedAt to avoid overwriting with stale data

Co-authored-by: Danny Kopping <danny@coder.com>
This commit is contained in:
Cian Johnston
2024-03-20 16:44:12 +00:00
committed by GitHub
parent d789a60d47
commit 92aa1eba97
15 changed files with 708 additions and 2 deletions

29
coderd/apidoc/docs.go generated
View File

@ -7592,6 +7592,35 @@ const docTemplate = `{
}
}
},
"/workspaces/{workspace}/usage": {
"post": {
"security": [
{
"CoderSessionToken": []
}
],
"tags": [
"Workspaces"
],
"summary": "Post Workspace Usage by ID",
"operationId": "post-workspace-usage-by-id",
"parameters": [
{
"type": "string",
"format": "uuid",
"description": "Workspace ID",
"name": "workspace",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"description": "No Content"
}
}
}
},
"/workspaces/{workspace}/watch": {
"get": {
"security": [