diff --git a/spec/openapi.dashboard-api.yaml b/spec/openapi.dashboard-api.yaml index 6e15f856b..ae3578c10 100644 --- a/spec/openapi.dashboard-api.yaml +++ b/spec/openapi.dashboard-api.yaml @@ -194,13 +194,7 @@ components: description: Sort column and direction. schema: type: string - enum: - [ - created_at_asc, - created_at_desc, - updated_at_asc, - updated_at_desc, - ] + enum: [created_at_asc, created_at_desc, updated_at_asc, updated_at_desc] default: created_at_desc tag_assignments_cursor: name: cursor @@ -471,7 +465,7 @@ components: nextCursor: type: string nullable: true - description: Cursor to pass to the next list request, or `null` if there is no next page. + description: Cursor to pass to the next list request, or `null` if there is no next page. BuildStatusItem: type: object @@ -566,6 +560,7 @@ components: - memoryMB - diskSizeMB - retentionExpired + - eventsRetentionExpired properties: templateID: type: string @@ -597,7 +592,10 @@ components: $ref: "#/components/schemas/DiskSizeMB" retentionExpired: type: boolean - description: Whether the sandbox ended more than the retention window ago, so its monitoring, events, and logs data is no longer available + description: Whether the sandbox ended more than the fixed retention window ago, so its monitoring and logs data is no longer available + eventsRetentionExpired: + type: boolean + description: Whether the sandbox ended more than the team's events retention window ago, so its events data is no longer available HealthResponse: type: object @@ -617,6 +615,7 @@ components: - maxVcpu - maxRamMb - diskMb + - eventsTtlDays properties: maxLengthHours: type: integer @@ -636,6 +635,9 @@ components: diskMb: type: integer format: int32 + eventsTtlDays: + type: integer + format: int32 UserTeam: type: object diff --git a/spec/openapi.infra.yaml b/spec/openapi.infra.yaml index ee4fcb539..18431862a 100644 --- a/spec/openapi.infra.yaml +++ b/spec/openapi.infra.yaml @@ -1549,6 +1549,10 @@ components: - cpuCount - memoryTotalBytes - disks + - hugePagesTotal + - hugePagesUsed + - hugePagesReserved + - hugePageSizeBytes properties: allocatedCPU: type: integer @@ -1574,6 +1578,22 @@ components: type: integer format: uint64 description: Total node memory in bytes + hugePagesTotal: + type: integer + format: uint64 + description: Total number of preallocated hugepages on the node + hugePagesUsed: + type: integer + format: uint64 + description: Number of hugepages in use (total - free) + hugePagesReserved: + type: integer + format: uint64 + description: Number of reserved hugepages (committed but not yet faulted) + hugePageSizeBytes: + type: integer + format: uint64 + description: Size of a single hugepage in bytes disks: type: array description: Detailed metrics for each disk/mount point @@ -2691,6 +2711,12 @@ paths: schema: type: string description: Filter snapshots by source sandbox ID + - name: name + in: query + description: Filter snapshots by name or ID, optionally tag-qualified (e.g. "my-snapshot", "my-team/my-snapshot" or "my-snapshot:v1"). + required: false + schema: + type: string - $ref: "#/components/parameters/paginationLimit" - $ref: "#/components/parameters/paginationNextToken" responses: diff --git a/src/core/shared/contracts/dashboard-api.types.ts b/src/core/shared/contracts/dashboard-api.types.ts index 9d581f35f..1e30823fa 100644 --- a/src/core/shared/contracts/dashboard-api.types.ts +++ b/src/core/shared/contracts/dashboard-api.types.ts @@ -1280,8 +1280,10 @@ export interface components { cpuCount: components['schemas']['CPUCount'] memoryMB: components['schemas']['MemoryMB'] diskSizeMB: components['schemas']['DiskSizeMB'] - /** @description Whether the sandbox ended more than the retention window ago, so its monitoring, events, and logs data is no longer available */ + /** @description Whether the sandbox ended more than the fixed retention window ago, so its monitoring and logs data is no longer available */ retentionExpired: boolean + /** @description Whether the sandbox ended more than the team's events retention window ago, so its events data is no longer available */ + eventsRetentionExpired: boolean } HealthResponse: { /** @description Human-readable health check result. */ @@ -1300,6 +1302,8 @@ export interface components { maxRamMb: number /** Format: int32 */ diskMb: number + /** Format: int32 */ + eventsTtlDays: number } UserTeam: { /** Format: uuid */ diff --git a/src/core/shared/contracts/infra-api.types.ts b/src/core/shared/contracts/infra-api.types.ts index f3f508a50..73a9c1fe3 100644 --- a/src/core/shared/contracts/infra-api.types.ts +++ b/src/core/shared/contracts/infra-api.types.ts @@ -936,6 +936,8 @@ export interface paths { parameters: { query?: { sandboxID?: string + /** @description Filter snapshots by name or ID, optionally tag-qualified (e.g. "my-snapshot", "my-team/my-snapshot" or "my-snapshot:v1"). */ + name?: string /** @description Maximum number of items to return per page */ limit?: components['parameters']['paginationLimit'] /** @description Cursor to start the list from */ @@ -3325,6 +3327,26 @@ export interface components { * @description Total node memory in bytes */ memoryTotalBytes: number + /** + * Format: uint64 + * @description Total number of preallocated hugepages on the node + */ + hugePagesTotal: number + /** + * Format: uint64 + * @description Number of hugepages in use (total - free) + */ + hugePagesUsed: number + /** + * Format: uint64 + * @description Number of reserved hugepages (committed but not yet faulted) + */ + hugePagesReserved: number + /** + * Format: uint64 + * @description Size of a single hugepage in bytes + */ + hugePageSizeBytes: number /** @description Detailed metrics for each disk/mount point */ disks: components['schemas']['DiskMetrics'][] }