mirror of https://github.com/coder/coder.git
feat: add workspace_id, owner_name to agent manifest (#10199)
Co-authored-by: Kyle Carberry <kyle@carberry.com> Co-authored-by: Atif Ali <atif@coder.com>
This commit is contained in:
parent
28eca2e53f
commit
baf3bf6b9c
|
@ -6917,6 +6917,10 @@ const docTemplate = `{
|
|||
"motd_file": {
|
||||
"type": "string"
|
||||
},
|
||||
"owner_name": {
|
||||
"description": "OwnerName and WorkspaceID are used by an open-source user to identify the workspace.\nWe do not provide insurance that this will not be removed in the future,\nbut if it's easy to persist lets keep it around.",
|
||||
"type": "string"
|
||||
},
|
||||
"scripts": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
|
@ -6925,6 +6929,9 @@ const docTemplate = `{
|
|||
},
|
||||
"vscode_port_proxy_uri": {
|
||||
"type": "string"
|
||||
},
|
||||
"workspace_id": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -6103,6 +6103,10 @@
|
|||
"motd_file": {
|
||||
"type": "string"
|
||||
},
|
||||
"owner_name": {
|
||||
"description": "OwnerName and WorkspaceID are used by an open-source user to identify the workspace.\nWe do not provide insurance that this will not be removed in the future,\nbut if it's easy to persist lets keep it around.",
|
||||
"type": "string"
|
||||
},
|
||||
"scripts": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
|
@ -6111,6 +6115,9 @@
|
|||
},
|
||||
"vscode_port_proxy_uri": {
|
||||
"type": "string"
|
||||
},
|
||||
"workspace_id": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -237,6 +237,8 @@ func (api *API) workspaceAgentManifest(rw http.ResponseWriter, r *http.Request)
|
|||
|
||||
httpapi.Write(ctx, rw, http.StatusOK, agentsdk.Manifest{
|
||||
AgentID: apiAgent.ID,
|
||||
OwnerName: owner.Username,
|
||||
WorkspaceID: workspace.ID,
|
||||
Apps: convertApps(dbApps, workspaceAgent, owner.Username, workspace),
|
||||
Scripts: convertScripts(scripts),
|
||||
DERPMap: api.DERPMap(),
|
||||
|
|
|
@ -998,6 +998,8 @@ func TestWorkspaceAgent_Metadata(t *testing.T) {
|
|||
require.NoError(t, err)
|
||||
|
||||
// Verify manifest API response.
|
||||
require.Equal(t, workspace.ID, manifest.WorkspaceID)
|
||||
require.Equal(t, workspace.OwnerName, manifest.OwnerName)
|
||||
require.Equal(t, "First Meta", manifest.Metadata[0].DisplayName)
|
||||
require.Equal(t, "foo1", manifest.Metadata[0].Key)
|
||||
require.Equal(t, "echo hi", manifest.Metadata[0].Script)
|
||||
|
|
|
@ -98,6 +98,11 @@ func (c *Client) PostMetadata(ctx context.Context, req PostMetadataRequest) erro
|
|||
|
||||
type Manifest struct {
|
||||
AgentID uuid.UUID `json:"agent_id"`
|
||||
// OwnerName and WorkspaceID are used by an open-source user to identify the workspace.
|
||||
// We do not provide insurance that this will not be removed in the future,
|
||||
// but if it's easy to persist lets keep it around.
|
||||
OwnerName string `json:"owner_name"`
|
||||
WorkspaceID uuid.UUID `json:"workspace_id"`
|
||||
// GitAuthConfigs stores the number of Git configurations
|
||||
// the Coder deployment has. If this number is >0, we
|
||||
// set up special configuration in the workspace.
|
||||
|
|
|
@ -518,6 +518,7 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/me/manifest \
|
|||
}
|
||||
],
|
||||
"motd_file": "string",
|
||||
"owner_name": "string",
|
||||
"scripts": [
|
||||
{
|
||||
"cron": "string",
|
||||
|
@ -530,7 +531,8 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/me/manifest \
|
|||
"timeout": 0
|
||||
}
|
||||
],
|
||||
"vscode_port_proxy_uri": "string"
|
||||
"vscode_port_proxy_uri": "string",
|
||||
"workspace_id": "string"
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -283,6 +283,7 @@
|
|||
}
|
||||
],
|
||||
"motd_file": "string",
|
||||
"owner_name": "string",
|
||||
"scripts": [
|
||||
{
|
||||
"cron": "string",
|
||||
|
@ -295,27 +296,30 @@
|
|||
"timeout": 0
|
||||
}
|
||||
],
|
||||
"vscode_port_proxy_uri": "string"
|
||||
"vscode_port_proxy_uri": "string",
|
||||
"workspace_id": "string"
|
||||
}
|
||||
```
|
||||
|
||||
### Properties
|
||||
|
||||
| Name | Type | Required | Restrictions | Description |
|
||||
| ---------------------------- | ------------------------------------------------------------------------------------------------- | -------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `agent_id` | string | false | | |
|
||||
| `apps` | array of [codersdk.WorkspaceApp](#codersdkworkspaceapp) | false | | |
|
||||
| `derp_force_websockets` | boolean | false | | |
|
||||
| `derpmap` | [tailcfg.DERPMap](#tailcfgderpmap) | false | | |
|
||||
| `directory` | string | false | | |
|
||||
| `disable_direct_connections` | boolean | false | | |
|
||||
| `environment_variables` | object | false | | |
|
||||
| » `[any property]` | string | false | | |
|
||||
| `git_auth_configs` | integer | false | | Git auth configs stores the number of Git configurations the Coder deployment has. If this number is >0, we set up special configuration in the workspace. |
|
||||
| `metadata` | array of [codersdk.WorkspaceAgentMetadataDescription](#codersdkworkspaceagentmetadatadescription) | false | | |
|
||||
| `motd_file` | string | false | | |
|
||||
| `scripts` | array of [codersdk.WorkspaceAgentScript](#codersdkworkspaceagentscript) | false | | |
|
||||
| `vscode_port_proxy_uri` | string | false | | |
|
||||
| Name | Type | Required | Restrictions | Description |
|
||||
| ---------------------------- | ------------------------------------------------------------------------------------------------- | -------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `agent_id` | string | false | | |
|
||||
| `apps` | array of [codersdk.WorkspaceApp](#codersdkworkspaceapp) | false | | |
|
||||
| `derp_force_websockets` | boolean | false | | |
|
||||
| `derpmap` | [tailcfg.DERPMap](#tailcfgderpmap) | false | | |
|
||||
| `directory` | string | false | | |
|
||||
| `disable_direct_connections` | boolean | false | | |
|
||||
| `environment_variables` | object | false | | |
|
||||
| » `[any property]` | string | false | | |
|
||||
| `git_auth_configs` | integer | false | | Git auth configs stores the number of Git configurations the Coder deployment has. If this number is >0, we set up special configuration in the workspace. |
|
||||
| `metadata` | array of [codersdk.WorkspaceAgentMetadataDescription](#codersdkworkspaceagentmetadatadescription) | false | | |
|
||||
| `motd_file` | string | false | | |
|
||||
| `owner_name` | string | false | | Owner name and WorkspaceID are used by an open-source user to identify the workspace. We do not provide insurance that this will not be removed in the future, but if it's easy to persist lets keep it around. |
|
||||
| `scripts` | array of [codersdk.WorkspaceAgentScript](#codersdkworkspaceagentscript) | false | | |
|
||||
| `vscode_port_proxy_uri` | string | false | | |
|
||||
| `workspace_id` | string | false | | |
|
||||
|
||||
## agentsdk.Metadata
|
||||
|
||||
|
|
Loading…
Reference in New Issue