From 8e1654c9617cfa6ce6f9e7f06b24159769c95809 Mon Sep 17 00:00:00 2001 From: Steven Masley Date: Fri, 12 Jul 2024 09:41:18 -0500 Subject: [PATCH 1/5] chore: add organization id to provisioner sdk type --- coderd/database/db2sdk/db2sdk.go | 15 ++++++++------- codersdk/provisionerdaemons.go | 17 +++++++++-------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/coderd/database/db2sdk/db2sdk.go b/coderd/database/db2sdk/db2sdk.go index 53e0cd53ad3e9..7dc35bca22bda 100644 --- a/coderd/database/db2sdk/db2sdk.go +++ b/coderd/database/db2sdk/db2sdk.go @@ -509,13 +509,14 @@ func Apps(dbApps []database.WorkspaceApp, agent database.WorkspaceAgent, ownerNa func ProvisionerDaemon(dbDaemon database.ProvisionerDaemon) codersdk.ProvisionerDaemon { result := codersdk.ProvisionerDaemon{ - ID: dbDaemon.ID, - CreatedAt: dbDaemon.CreatedAt, - LastSeenAt: codersdk.NullTime{NullTime: dbDaemon.LastSeenAt}, - Name: dbDaemon.Name, - Tags: dbDaemon.Tags, - Version: dbDaemon.Version, - APIVersion: dbDaemon.APIVersion, + ID: dbDaemon.ID, + OrganizationID: dbDaemon.OrganizationID, + CreatedAt: dbDaemon.CreatedAt, + LastSeenAt: codersdk.NullTime{NullTime: dbDaemon.LastSeenAt}, + Name: dbDaemon.Name, + Tags: dbDaemon.Tags, + Version: dbDaemon.Version, + APIVersion: dbDaemon.APIVersion, } for _, provisionerType := range dbDaemon.Provisioners { result.Provisioners = append(result.Provisioners, codersdk.ProvisionerType(provisionerType)) diff --git a/codersdk/provisionerdaemons.go b/codersdk/provisionerdaemons.go index 300e24b64ef9f..e26778f940045 100644 --- a/codersdk/provisionerdaemons.go +++ b/codersdk/provisionerdaemons.go @@ -36,14 +36,15 @@ const ( ) type ProvisionerDaemon struct { - ID uuid.UUID `json:"id" format:"uuid"` - CreatedAt time.Time `json:"created_at" format:"date-time"` - LastSeenAt NullTime `json:"last_seen_at,omitempty" format:"date-time"` - Name string `json:"name"` - Version string `json:"version"` - APIVersion string `json:"api_version"` - Provisioners []ProvisionerType `json:"provisioners"` - Tags map[string]string `json:"tags"` + ID uuid.UUID `json:"id" format:"uuid"` + OrganizationID uuid.UUID `json:"organization_id" format:"uuid"` + CreatedAt time.Time `json:"created_at" format:"date-time"` + LastSeenAt NullTime `json:"last_seen_at,omitempty" format:"date-time"` + Name string `json:"name"` + Version string `json:"version"` + APIVersion string `json:"api_version"` + Provisioners []ProvisionerType `json:"provisioners"` + Tags map[string]string `json:"tags"` } // ProvisionerJobStatus represents the at-time state of a job. From 098287a181ab27afde34481f54b29f34413f0f27 Mon Sep 17 00:00:00 2001 From: Steven Masley Date: Fri, 12 Jul 2024 09:43:31 -0500 Subject: [PATCH 2/5] make gen --- docs/api/debug.md | 1 + docs/api/enterprise.md | 2 ++ docs/api/schemas.md | 5 +++++ site/src/api/typesGenerated.ts | 1 + site/src/testHelpers/entities.ts | 2 ++ 5 files changed, 11 insertions(+) diff --git a/docs/api/debug.md b/docs/api/debug.md index 317efbd0c0650..26c802c239311 100644 --- a/docs/api/debug.md +++ b/docs/api/debug.md @@ -292,6 +292,7 @@ curl -X GET http://coder-server:8080/api/v2/debug/health \ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "last_seen_at": "2019-08-24T14:15:22Z", "name": "string", + "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6", "provisioners": ["string"], "tags": { "property1": "string", diff --git a/docs/api/enterprise.md b/docs/api/enterprise.md index 758489995ccf5..63786efac43db 100644 --- a/docs/api/enterprise.md +++ b/docs/api/enterprise.md @@ -1290,6 +1290,7 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/provisi "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "last_seen_at": "2019-08-24T14:15:22Z", "name": "string", + "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6", "provisioners": ["string"], "tags": { "property1": "string", @@ -1318,6 +1319,7 @@ Status Code **200** | `» id` | string(uuid) | false | | | | `» last_seen_at` | string(date-time) | false | | | | `» name` | string | false | | | +| `» organization_id` | string(uuid) | false | | | | `» provisioners` | array | false | | | | `» tags` | object | false | | | | `»» [any property]` | string | false | | | diff --git a/docs/api/schemas.md b/docs/api/schemas.md index 1f1fff531593f..a3e745b46fa17 100644 --- a/docs/api/schemas.md +++ b/docs/api/schemas.md @@ -3677,6 +3677,7 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "last_seen_at": "2019-08-24T14:15:22Z", "name": "string", + "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6", "provisioners": ["string"], "tags": { "property1": "string", @@ -3695,6 +3696,7 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o | `id` | string | false | | | | `last_seen_at` | string | false | | | | `name` | string | false | | | +| `organization_id` | string | false | | | | `provisioners` | array of string | false | | | | `tags` | object | false | | | | » `[any property]` | string | false | | | @@ -8160,6 +8162,7 @@ If the schedule is empty, the user will be updated to use the default schedule.| "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "last_seen_at": "2019-08-24T14:15:22Z", "name": "string", + "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6", "provisioners": ["string"], "tags": { "property1": "string", @@ -8278,6 +8281,7 @@ If the schedule is empty, the user will be updated to use the default schedule.| "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "last_seen_at": "2019-08-24T14:15:22Z", "name": "string", + "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6", "provisioners": ["string"], "tags": { "property1": "string", @@ -8331,6 +8335,7 @@ If the schedule is empty, the user will be updated to use the default schedule.| "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "last_seen_at": "2019-08-24T14:15:22Z", "name": "string", + "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6", "provisioners": ["string"], "tags": { "property1": "string", diff --git a/site/src/api/typesGenerated.ts b/site/src/api/typesGenerated.ts index 70318955fd18f..6f0acdb865520 100644 --- a/site/src/api/typesGenerated.ts +++ b/site/src/api/typesGenerated.ts @@ -918,6 +918,7 @@ export interface ProvisionerConfig { // From codersdk/provisionerdaemons.go export interface ProvisionerDaemon { readonly id: string; + readonly organization_id: string; readonly created_at: string; readonly last_seen_at?: string; readonly name: string; diff --git a/site/src/testHelpers/entities.ts b/site/src/testHelpers/entities.ts index 0d63a8e7c5720..0f1cd9e773e82 100644 --- a/site/src/testHelpers/entities.ts +++ b/site/src/testHelpers/entities.ts @@ -365,6 +365,7 @@ export const SuspendedMockUser: TypesGen.User = { export const MockProvisioner: TypesGen.ProvisionerDaemon = { created_at: "2022-05-17T17:39:01.382927298Z", id: "test-provisioner", + organization_id: MockOrganization.id, name: "Test Provisioner", provisioners: ["echo"], tags: { scope: "organization" }, @@ -375,6 +376,7 @@ export const MockProvisioner: TypesGen.ProvisionerDaemon = { export const MockUserProvisioner: TypesGen.ProvisionerDaemon = { created_at: "2022-05-17T17:39:01.382927298Z", id: "test-user-provisioner", + organization_id: MockOrganization.id, name: "Test User Provisioner", provisioners: ["echo"], tags: { scope: "user", owner: "12345678-abcd-1234-abcd-1234567890abcd" }, From 6e1b8cded4592d4f72463da4f93549262731a9db Mon Sep 17 00:00:00 2001 From: Steven Masley Date: Fri, 12 Jul 2024 09:43:50 -0500 Subject: [PATCH 3/5] fixup! make gen --- coderd/apidoc/docs.go | 4 ++++ coderd/apidoc/swagger.json | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/coderd/apidoc/docs.go b/coderd/apidoc/docs.go index fb51f553e7524..0aecfdea8ff5e 100644 --- a/coderd/apidoc/docs.go +++ b/coderd/apidoc/docs.go @@ -10612,6 +10612,10 @@ const docTemplate = `{ "name": { "type": "string" }, + "organization_id": { + "type": "string", + "format": "uuid" + }, "provisioners": { "type": "array", "items": { diff --git a/coderd/apidoc/swagger.json b/coderd/apidoc/swagger.json index fa5ed4b12ca11..6d5ac99848dbf 100644 --- a/coderd/apidoc/swagger.json +++ b/coderd/apidoc/swagger.json @@ -9560,6 +9560,10 @@ "name": { "type": "string" }, + "organization_id": { + "type": "string", + "format": "uuid" + }, "provisioners": { "type": "array", "items": { From 59eeabe12b2bfd806d351badae8be0592add10a9 Mon Sep 17 00:00:00 2001 From: Steven Masley Date: Fri, 12 Jul 2024 09:49:08 -0500 Subject: [PATCH 4/5] fixup! fixup! make gen --- site/src/testHelpers/entities.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/site/src/testHelpers/entities.ts b/site/src/testHelpers/entities.ts index 0f1cd9e773e82..77abcd48eef08 100644 --- a/site/src/testHelpers/entities.ts +++ b/site/src/testHelpers/entities.ts @@ -3223,6 +3223,7 @@ export const MockHealth: TypesGen.HealthcheckReport = { { provisioner_daemon: { id: "e455b582-ac04-4323-9ad6-ab71301fa006", + organization_id: MockOrganization.id, created_at: "2024-01-04T15:53:03.21563Z", last_seen_at: "2024-01-04T16:05:03.967551Z", name: "ok", @@ -3243,6 +3244,7 @@ export const MockHealth: TypesGen.HealthcheckReport = { { provisioner_daemon: { id: "00000000-0000-0000-000000000000", + organization_id: MockOrganization.id, created_at: "2024-01-04T15:53:03.21563Z", last_seen_at: "2024-01-04T16:05:03.967551Z", name: "user-scoped", @@ -3263,6 +3265,7 @@ export const MockHealth: TypesGen.HealthcheckReport = { { provisioner_daemon: { id: "e455b582-ac04-4323-9ad6-ab71301fa006", + organization_id: MockOrganization.id, created_at: "2024-01-04T15:53:03.21563Z", last_seen_at: "2024-01-04T16:05:03.967551Z", name: "unhappy", From 78ebe5e4421100f53f0452d29a5fd2e27ee1f6ea Mon Sep 17 00:00:00 2001 From: Steven Masley Date: Fri, 12 Jul 2024 10:14:05 -0500 Subject: [PATCH 5/5] fixup! fixup! fixup! make gen --- site/src/testHelpers/entities.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/site/src/testHelpers/entities.ts b/site/src/testHelpers/entities.ts index 77abcd48eef08..85c9fcbd66e51 100644 --- a/site/src/testHelpers/entities.ts +++ b/site/src/testHelpers/entities.ts @@ -3421,6 +3421,7 @@ export const DeploymentHealthUnhealthy: TypesGen.HealthcheckReport = { { provisioner_daemon: { id: "e455b582-ac04-4323-9ad6-ab71301fa006", + organization_id: MockOrganization.id, created_at: "2024-01-04T15:53:03.21563Z", last_seen_at: "2024-01-04T16:05:03.967551Z", name: "vvuurrkk-2",