mirror of
https://github.com/coder/coder.git
synced 2025-07-15 22:20:27 +00:00
feat: add agentapi endpoint to report connections for audit (#16507)
This change adds a new `ReportConnection` endpoint to the `agentapi`. The protocol version was bumped previously, so it has been omitted here. This allows the agent to report connection events, for example when the user connects to the workspace via SSH or VS Code. Updates #15139
This commit is contained in:
committed by
GitHub
parent
dedc32fb1a
commit
b07b33ec9d
@ -15,6 +15,7 @@ import (
|
||||
"golang.org/x/xerrors"
|
||||
"tailscale.com/tailcfg"
|
||||
|
||||
agentproto "github.com/coder/coder/v2/agent/proto"
|
||||
"github.com/coder/coder/v2/coderd/database"
|
||||
"github.com/coder/coder/v2/coderd/rbac"
|
||||
"github.com/coder/coder/v2/coderd/rbac/policy"
|
||||
@ -705,3 +706,26 @@ func TemplateRoleActions(role codersdk.TemplateRole) []policy.Action {
|
||||
}
|
||||
return []policy.Action{}
|
||||
}
|
||||
|
||||
func AuditActionFromAgentProtoConnectionAction(action agentproto.Connection_Action) (database.AuditAction, error) {
|
||||
switch action {
|
||||
case agentproto.Connection_CONNECT:
|
||||
return database.AuditActionConnect, nil
|
||||
case agentproto.Connection_DISCONNECT:
|
||||
return database.AuditActionDisconnect, nil
|
||||
default:
|
||||
// Also Connection_ACTION_UNSPECIFIED, no mapping.
|
||||
return "", xerrors.Errorf("unknown agent connection action %q", action)
|
||||
}
|
||||
}
|
||||
|
||||
func AgentProtoConnectionActionToAuditAction(action database.AuditAction) (agentproto.Connection_Action, error) {
|
||||
switch action {
|
||||
case database.AuditActionConnect:
|
||||
return agentproto.Connection_CONNECT, nil
|
||||
case database.AuditActionDisconnect:
|
||||
return agentproto.Connection_DISCONNECT, nil
|
||||
default:
|
||||
return agentproto.Connection_ACTION_UNSPECIFIED, xerrors.Errorf("unknown agent connection action %q", action)
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user