Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitc762ae8

Browse files
committed
redesign
1 parent8b60924 commitc762ae8

File tree

9 files changed

+417
-330
lines changed

9 files changed

+417
-330
lines changed

‎coderd/coderd.go‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1013,7 +1013,6 @@ func New(options *Options) *API {
10131013
r.Route("/roles",func(r chi.Router) {
10141014
r.Get("/",api.AssignableSiteRoles)
10151015
})
1016-
r.Get("/me/tailnet",api.tailnet)
10171016
r.Route("/{user}",func(r chi.Router) {
10181017
r.Use(httpmw.ExtractUserParam(options.Database))
10191018
r.Post("/convert-login",api.postConvertLoginType)
@@ -1068,6 +1067,7 @@ func New(options *Options) *API {
10681067
r.Put("/",api.putUserNotificationPreferences)
10691068
})
10701069
})
1070+
r.Get("/tailnet",api.tailnet)
10711071
})
10721072
})
10731073
})

‎coderd/workspaceagents_test.go‎

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1861,6 +1861,91 @@ func TestWorkspaceAgentExternalAuthListen(t *testing.T) {
18611861
})
18621862
}
18631863

1864+
funcTestOwnedWorkspacesCoordinate(t*testing.T) {
1865+
t.Parallel()
1866+
1867+
ctx:=testutil.Context(t,testutil.WaitLong)
1868+
logger:=slogtest.Make(t,nil).Leveled(slog.LevelDebug)
1869+
firstClient,closer,_:=coderdtest.NewWithAPI(t,&coderdtest.Options{
1870+
Coordinator:tailnet.NewCoordinator(logger),
1871+
IncludeProvisionerDaemon:true,
1872+
})
1873+
defercloser.Close()
1874+
firstUser:=coderdtest.CreateFirstUser(t,firstClient)
1875+
user,_:=coderdtest.CreateAnotherUser(t,firstClient,firstUser.OrganizationID)
1876+
1877+
u,err:=user.URL.Parse("/api/v2/users/me/tailnet")
1878+
require.NoError(t,err)
1879+
q:=u.Query()
1880+
q.Set("version","2.0")
1881+
u.RawQuery=q.Encode()
1882+
1883+
//nolint:bodyclose // websocket package closes this for you
1884+
wsConn,resp,err:=websocket.Dial(ctx,u.String(),&websocket.DialOptions{
1885+
HTTPHeader: http.Header{
1886+
"Coder-Session-Token": []string{user.SessionToken()},
1887+
},
1888+
})
1889+
iferr!=nil {
1890+
ifresp.StatusCode!=http.StatusSwitchingProtocols {
1891+
err=codersdk.ReadBodyAsError(resp)
1892+
}
1893+
require.NoError(t,err)
1894+
}
1895+
deferwsConn.Close(websocket.StatusNormalClosure,"done")
1896+
1897+
rpcClient,err:=tailnet.NewDRPCClient(
1898+
websocket.NetConn(ctx,wsConn,websocket.MessageBinary),
1899+
logger,
1900+
)
1901+
require.NoError(t,err)
1902+
1903+
stream,err:=rpcClient.WorkspaceUpdates(ctx,&tailnetproto.WorkspaceUpdatesRequest{})
1904+
require.NoError(t,err)
1905+
1906+
update,err:=stream.Recv()
1907+
require.NoError(t,err)
1908+
require.Len(t,update.UpsertedWorkspaces,0)
1909+
require.Len(t,update.DeletedWorkspaces,0)
1910+
require.Len(t,update.UpsertedAgents,0)
1911+
require.Len(t,update.DeletedAgents,0)
1912+
1913+
// Build a workspace
1914+
authToken:=uuid.NewString()
1915+
version:=coderdtest.CreateTemplateVersion(t,firstClient,firstUser.OrganizationID,&echo.Responses{
1916+
Parse:echo.ParseComplete,
1917+
ProvisionPlan:echo.PlanComplete,
1918+
ProvisionApply:echo.ProvisionApplyWithAgent(authToken),
1919+
})
1920+
coderdtest.AwaitTemplateVersionJobCompleted(t,firstClient,version.ID)
1921+
template:=coderdtest.CreateTemplate(t,firstClient,firstUser.OrganizationID,version.ID)
1922+
workspace:=coderdtest.CreateWorkspace(t,user,template.ID)
1923+
coderdtest.AwaitWorkspaceBuildJobCompleted(t,firstClient,workspace.LatestBuild.ID)
1924+
1925+
// Starting workspace
1926+
update,err=stream.Recv()
1927+
require.NoError(t,err)
1928+
require.Len(t,update.UpsertedWorkspaces,1)
1929+
require.Equal(t,update.UpsertedWorkspaces[0].Status,tailnetproto.Workspace_STARTING)
1930+
1931+
// Workspace is running
1932+
update,err=stream.Recv()
1933+
require.NoError(t,err)
1934+
require.Len(t,update.UpsertedWorkspaces,1)
1935+
require.Equal(t,update.UpsertedWorkspaces[0].Status,tailnetproto.Workspace_RUNNING)
1936+
wsID:=update.UpsertedWorkspaces[0].Id
1937+
1938+
_=agenttest.New(t,user.URL,authToken)
1939+
resources:=coderdtest.NewWorkspaceAgentWaiter(t,user,workspace.ID).Wait()
1940+
1941+
// Agent is created
1942+
update,err=stream.Recv()
1943+
require.NoError(t,err)
1944+
require.Len(t,update.UpsertedAgents,1)
1945+
require.Equal(t,update.UpsertedAgents[0].WorkspaceId,wsID)
1946+
require.EqualValues(t,update.UpsertedAgents[0].Id,resources[0].Agents[0].ID)
1947+
}
1948+
18641949
funcrequireGetManifest(ctx context.Context,t testing.TB,aAPI agentproto.DRPCAgentClient) agentsdk.Manifest {
18651950
mp,err:=aAPI.GetManifest(ctx,&agentproto.GetManifestRequest{})
18661951
require.NoError(t,err)

‎coderd/workspaces.go‎

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2090,11 +2090,6 @@ func (api *API) publishWorkspaceUpdate(ctx context.Context, ownerID uuid.UUID, e
20902090
api.Logger.Warn(ctx,"failed to publish workspace update",
20912091
slog.F("workspace_id",event.WorkspaceID),slog.Error(err))
20922092
}
2093-
err=api.Pubsub.Publish(codersdk.AllWorkspacesNotifyChannel, []byte(workspaceID.String()))
2094-
iferr!=nil {
2095-
api.Logger.Warn(ctx,"failed to publish all workspaces update",
2096-
slog.F("workspace_id",workspaceID),slog.Error(err))
2097-
}
20982093
}
20992094

21002095
func (api*API)publishWorkspaceAgentLogsUpdate(ctx context.Context,workspaceAgentID uuid.UUID,m agentsdk.LogsNotifyMessage) {

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp