Skip to content

Commit 4bfb4cb

Browse files
committed
worked on dbmem and dbauthz
1 parent 6f0373f commit 4bfb4cb

File tree

4 files changed

+81
-48
lines changed

4 files changed

+81
-48
lines changed

coderd/database/dbauthz/dbauthz.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1392,7 +1392,7 @@ func (q *querier) FavoriteWorkspace(ctx context.Context, id uuid.UUID) error {
13921392
}
13931393

13941394
func (q *querier) FetchMemoryResourceMonitorsByAgentID(ctx context.Context, agentID uuid.UUID) (database.WorkspaceAgentMemoryResourceMonitor, error) {
1395-
panic("not implemented")
1395+
return q.db.FetchMemoryResourceMonitorsByAgentID(ctx, agentID)
13961396
}
13971397

13981398
func (q *querier) FetchNewMessageMetadata(ctx context.Context, arg database.FetchNewMessageMetadataParams) (database.FetchNewMessageMetadataRow, error) {
@@ -1403,7 +1403,7 @@ func (q *querier) FetchNewMessageMetadata(ctx context.Context, arg database.Fetc
14031403
}
14041404

14051405
func (q *querier) FetchVolumesResourceMonitorsByAgentID(ctx context.Context, agentID uuid.UUID) ([]database.WorkspaceAgentVolumeResourceMonitor, error) {
1406-
panic("not implemented")
1406+
return q.db.FetchVolumesResourceMonitorsByAgentID(ctx, agentID)
14071407
}
14081408

14091409
func (q *querier) GetAPIKeyByID(ctx context.Context, id string) (database.APIKey, error) {
@@ -2998,7 +2998,7 @@ func (q *querier) InsertLicense(ctx context.Context, arg database.InsertLicenseP
29982998
}
29992999

30003000
func (q *querier) InsertMemoryResourceMonitor(ctx context.Context, arg database.InsertMemoryResourceMonitorParams) (database.WorkspaceAgentMemoryResourceMonitor, error) {
3001-
panic("not implemented")
3001+
return q.db.InsertMemoryResourceMonitor(ctx, arg)
30023002
}
30033003

30043004
func (q *querier) InsertMissingGroups(ctx context.Context, arg database.InsertMissingGroupsParams) ([]database.Group, error) {
@@ -3187,7 +3187,7 @@ func (q *querier) InsertUserLink(ctx context.Context, arg database.InsertUserLin
31873187
}
31883188

31893189
func (q *querier) InsertVolumeResourceMonitor(ctx context.Context, arg database.InsertVolumeResourceMonitorParams) (database.WorkspaceAgentVolumeResourceMonitor, error) {
3190-
panic("not implemented")
3190+
return q.db.InsertVolumeResourceMonitor(ctx, arg)
31913191
}
31923192

31933193
func (q *querier) InsertWorkspace(ctx context.Context, arg database.InsertWorkspaceParams) (database.WorkspaceTable, error) {

coderd/database/dbmem/dbmem.go

Lines changed: 40 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2357,8 +2357,14 @@ func (q *FakeQuerier) FavoriteWorkspace(_ context.Context, arg uuid.UUID) error
23572357
return nil
23582358
}
23592359

2360-
func (q *FakeQuerier) FetchMemoryResourceMonitorsByAgentID(ctx context.Context, agentID uuid.UUID) (database.WorkspaceAgentMemoryResourceMonitor, error) {
2361-
panic("not implemented")
2360+
func (q *FakeQuerier) FetchMemoryResourceMonitorsByAgentID(_ context.Context, agentID uuid.UUID) (database.WorkspaceAgentMemoryResourceMonitor, error) {
2361+
for _, monitor := range q.workspaceAgentMemoryResourceMonitors {
2362+
if monitor.AgentID == agentID {
2363+
return monitor, nil
2364+
}
2365+
}
2366+
2367+
return database.WorkspaceAgentMemoryResourceMonitor{}, sql.ErrNoRows
23622368
}
23632369

23642370
func (q *FakeQuerier) FetchNewMessageMetadata(_ context.Context, arg database.FetchNewMessageMetadataParams) (database.FetchNewMessageMetadataRow, error) {
@@ -2393,8 +2399,16 @@ func (q *FakeQuerier) FetchNewMessageMetadata(_ context.Context, arg database.Fe
23932399
}, nil
23942400
}
23952401

2396-
func (q *FakeQuerier) FetchVolumesResourceMonitorsByAgentID(ctx context.Context, agentID uuid.UUID) ([]database.WorkspaceAgentVolumeResourceMonitor, error) {
2397-
panic("not implemented")
2402+
func (q *FakeQuerier) FetchVolumesResourceMonitorsByAgentID(_ context.Context, agentID uuid.UUID) ([]database.WorkspaceAgentVolumeResourceMonitor, error) {
2403+
monitors := []database.WorkspaceAgentVolumeResourceMonitor{}
2404+
2405+
for _, monitor := range q.workspaceAgentVolumeResourceMonitors {
2406+
if monitor.AgentID == agentID {
2407+
monitors = append(monitors, monitor)
2408+
}
2409+
}
2410+
2411+
return monitors, nil
23982412
}
23992413

24002414
func (q *FakeQuerier) GetAPIKeyByID(_ context.Context, id string) (database.APIKey, error) {
@@ -7786,13 +7800,19 @@ func (q *FakeQuerier) InsertLicense(
77867800
return l, nil
77877801
}
77887802

7789-
func (q *FakeQuerier) InsertMemoryResourceMonitor(ctx context.Context, arg database.InsertMemoryResourceMonitorParams) (database.WorkspaceAgentMemoryResourceMonitor, error) {
7803+
func (q *FakeQuerier) InsertMemoryResourceMonitor(_ context.Context, arg database.InsertMemoryResourceMonitorParams) (database.WorkspaceAgentMemoryResourceMonitor, error) {
77907804
err := validateDatabaseType(arg)
77917805
if err != nil {
77927806
return database.WorkspaceAgentMemoryResourceMonitor{}, err
77937807
}
77947808

7795-
panic("not implemented")
7809+
q.mutex.Lock()
7810+
defer q.mutex.Unlock()
7811+
7812+
monitor := database.WorkspaceAgentMemoryResourceMonitor(arg)
7813+
7814+
q.workspaceAgentMemoryResourceMonitors = append(q.workspaceAgentMemoryResourceMonitors, monitor)
7815+
return monitor, nil
77967816
}
77977817

77987818
func (q *FakeQuerier) InsertMissingGroups(_ context.Context, arg database.InsertMissingGroupsParams) ([]database.Group, error) {
@@ -8398,13 +8418,25 @@ func (q *FakeQuerier) InsertUserLink(_ context.Context, args database.InsertUser
83988418
return link, nil
83998419
}
84008420

8401-
func (q *FakeQuerier) InsertVolumeResourceMonitor(ctx context.Context, arg database.InsertVolumeResourceMonitorParams) (database.WorkspaceAgentVolumeResourceMonitor, error) {
8421+
func (q *FakeQuerier) InsertVolumeResourceMonitor(_ context.Context, arg database.InsertVolumeResourceMonitorParams) (database.WorkspaceAgentVolumeResourceMonitor, error) {
84028422
err := validateDatabaseType(arg)
84038423
if err != nil {
84048424
return database.WorkspaceAgentVolumeResourceMonitor{}, err
84058425
}
84068426

8407-
panic("not implemented")
8427+
q.mutex.Lock()
8428+
defer q.mutex.Unlock()
8429+
8430+
monitor := database.WorkspaceAgentVolumeResourceMonitor{
8431+
AgentID: arg.AgentID,
8432+
Path: arg.Path,
8433+
Enabled: arg.Enabled,
8434+
Threshold: arg.Threshold,
8435+
CreatedAt: arg.CreatedAt,
8436+
}
8437+
8438+
q.workspaceAgentVolumeResourceMonitors = append(q.workspaceAgentVolumeResourceMonitors, monitor)
8439+
return monitor, nil
84088440
}
84098441

84108442
func (q *FakeQuerier) InsertWorkspace(_ context.Context, arg database.InsertWorkspaceParams) (database.WorkspaceTable, error) {

provisioner/terraform/resources_test.go

Lines changed: 31 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -355,40 +355,41 @@ func TestConvertResources(t *testing.T) {
355355
resources: []*proto.Resource{{
356356
Name: "dev",
357357
Type: "null_resource",
358-
Agents: []*proto.Agent{{
359-
Name: "dev1",
360-
OperatingSystem: "linux",
361-
Architecture: "amd64",
362-
Apps: []*proto.App{
363-
{
364-
Slug: "app1",
365-
DisplayName: "app1",
366-
// Subdomain defaults to false if unspecified.
367-
Subdomain: false,
368-
OpenIn: proto.AppOpenIn_SLIM_WINDOW,
369-
},
370-
{
371-
Slug: "app2",
372-
DisplayName: "app2",
373-
Subdomain: true,
374-
Healthcheck: &proto.Healthcheck{
375-
Url: "http://localhost:13337/healthz",
376-
Interval: 5,
377-
Threshold: 6,
358+
Agents: []*proto.Agent{
359+
{
360+
Name: "dev1",
361+
OperatingSystem: "linux",
362+
Architecture: "amd64",
363+
Apps: []*proto.App{
364+
{
365+
Slug: "app1",
366+
DisplayName: "app1",
367+
// Subdomain defaults to false if unspecified.
368+
Subdomain: false,
369+
OpenIn: proto.AppOpenIn_SLIM_WINDOW,
370+
},
371+
{
372+
Slug: "app2",
373+
DisplayName: "app2",
374+
Subdomain: true,
375+
Healthcheck: &proto.Healthcheck{
376+
Url: "http://localhost:13337/healthz",
377+
Interval: 5,
378+
Threshold: 6,
379+
},
380+
OpenIn: proto.AppOpenIn_SLIM_WINDOW,
378381
},
379-
OpenIn: proto.AppOpenIn_SLIM_WINDOW,
380382
},
381-
},
382-
Auth: &proto.Agent_Token{},
383-
ConnectionTimeoutSeconds: 120,
384-
DisplayApps: &displayApps,
385-
ResourcesMonitoring: &proto.ResourcesMonitoring{
386-
Memory: &proto.MemoryResourceMonitor{
387-
Enabled: true,
388-
Threshold: 80,
383+
Auth: &proto.Agent_Token{},
384+
ConnectionTimeoutSeconds: 120,
385+
DisplayApps: &displayApps,
386+
ResourcesMonitoring: &proto.ResourcesMonitoring{
387+
Memory: &proto.MemoryResourceMonitor{
388+
Enabled: true,
389+
Threshold: 80,
390+
},
389391
},
390392
},
391-
},
392393
{
393394
Name: "dev2",
394395
OperatingSystem: "linux",

provisioner/terraform/testdata/multiple-agents-multiple-monitors/multiple-agents-multiple-monitors.tf

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ resource "coder_agent" "dev1" {
1212
arch = "amd64"
1313
resources_monitoring {
1414
memory {
15-
enabled = true
15+
enabled = true
1616
threshold = 80
1717
}
1818
}
@@ -23,17 +23,17 @@ resource "coder_agent" "dev2" {
2323
arch = "amd64"
2424
resources_monitoring {
2525
memory {
26-
enabled = true
26+
enabled = true
2727
threshold = 99
2828
}
2929
volume {
30-
path = "volume1"
31-
enabled = true
30+
path = "volume1"
31+
enabled = true
3232
threshold = 80
3333
}
3434
volume {
35-
path = "volume2"
36-
enabled = false
35+
path = "volume2"
36+
enabled = false
3737
threshold = 50
3838
}
3939
}

0 commit comments

Comments
 (0)