mirror of
https://github.com/coder/coder.git
synced 2025-07-21 01:28:49 +00:00
feat: Allow workspace resources to attach multiple agents (#942)
This enables a "kubernetes_pod" to attach multiple agents that could be for multiple services. Each agent is required to have a unique name, so SSH syntax is: `coder ssh <workspace>.<agent>` A resource can have zero agents too, they aren't required.
This commit is contained in:
@ -161,21 +161,17 @@ func main() {
|
||||
root.AddCommand(&cobra.Command{
|
||||
Use: "agent",
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
resource := codersdk.WorkspaceResource{
|
||||
Type: "google_compute_instance",
|
||||
Name: "dev",
|
||||
Agent: &codersdk.WorkspaceAgent{
|
||||
Status: codersdk.WorkspaceAgentDisconnected,
|
||||
},
|
||||
agent := codersdk.WorkspaceAgent{
|
||||
Status: codersdk.WorkspaceAgentDisconnected,
|
||||
}
|
||||
go func() {
|
||||
time.Sleep(3 * time.Second)
|
||||
resource.Agent.Status = codersdk.WorkspaceAgentConnected
|
||||
agent.Status = codersdk.WorkspaceAgentConnected
|
||||
}()
|
||||
err := cliui.Agent(cmd.Context(), cmd.OutOrStdout(), cliui.AgentOptions{
|
||||
WorkspaceName: "dev",
|
||||
Fetch: func(ctx context.Context) (codersdk.WorkspaceResource, error) {
|
||||
return resource, nil
|
||||
Fetch: func(ctx context.Context) (codersdk.WorkspaceAgent, error) {
|
||||
return agent, nil
|
||||
},
|
||||
WarnInterval: 2 * time.Second,
|
||||
})
|
||||
|
Reference in New Issue
Block a user