feat: use v2 API for agent metadata updates (#12281)

Switches the agent to report metadata over the v2 API.

Fixes #10534
This commit is contained in:
Spike Curtis
2024-02-26 09:50:19 +04:00
committed by GitHub
parent 7a245e61b1
commit b0afffbafb
5 changed files with 130 additions and 59 deletions

View File

@ -112,6 +112,31 @@ func ProtoFromMetadataDescription(d codersdk.WorkspaceAgentMetadataDescription)
}
}
func ProtoFromMetadataResult(r codersdk.WorkspaceAgentMetadataResult) *proto.WorkspaceAgentMetadata_Result {
return &proto.WorkspaceAgentMetadata_Result{
CollectedAt: timestamppb.New(r.CollectedAt),
Age: r.Age,
Value: r.Value,
Error: r.Error,
}
}
func MetadataResultFromProto(r *proto.WorkspaceAgentMetadata_Result) codersdk.WorkspaceAgentMetadataResult {
return codersdk.WorkspaceAgentMetadataResult{
CollectedAt: r.GetCollectedAt().AsTime(),
Age: r.GetAge(),
Value: r.GetValue(),
Error: r.GetError(),
}
}
func MetadataFromProto(m *proto.Metadata) Metadata {
return Metadata{
Key: m.GetKey(),
WorkspaceAgentMetadataResult: MetadataResultFromProto(m.GetResult()),
}
}
func AgentScriptsFromProto(protoScripts []*proto.WorkspaceAgentScript) ([]codersdk.WorkspaceAgentScript, error) {
ret := make([]codersdk.WorkspaceAgentScript, len(protoScripts))
for i, protoScript := range protoScripts {