Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
135 changes: 86 additions & 49 deletions data/schema.graphql
Original file line number Diff line number Diff line change
Expand Up @@ -3794,11 +3794,19 @@ type Mutation
"""Added in 25.14.0"""
deleteObjectStorage(input: DeleteObjectStorageInput!): DeleteObjectStoragePayload! @join__field(graph: STRAWBERRY)

"""Added in 25.14.0"""
registerObjectStorageBucket(input: RegisterObjectStorageBucketInput!): RegisterObjectStorageBucketPayload! @join__field(graph: STRAWBERRY)
"""
Added in 25.15.0.

Registers a new namespace within a storage.
"""
registerStorageNamespace(input: RegisterStorageNamespaceInput!): RegisterStorageNamespacePayload! @join__field(graph: STRAWBERRY)

"""Added in 25.14.0"""
unregisterObjectStorageBucket(input: UnregisterObjectStorageBucketInput!): UnregisterObjectStorageBucketPayload! @join__field(graph: STRAWBERRY)
"""
Added in 25.15.0.

Unregisters an existing namespace from a storage.
"""
unregisterStorageNamespace(input: UnregisterStorageNamespaceInput!): UnregisterStorageNamespacePayload! @join__field(graph: STRAWBERRY)

"""Added in 25.14.0"""
createHuggingfaceRegistry(input: CreateHuggingFaceRegistryInput!): CreateHuggingFaceRegistryPayload! @join__field(graph: STRAWBERRY)
Expand Down Expand Up @@ -3899,7 +3907,7 @@ type ObjectStorage implements Node
secretKey: String!
endpoint: String!
region: String!
namespaces(before: String, after: String, first: Int, last: Int, limit: Int, offset: Int): ObjectStorageNamespaceConnection!
namespaces(before: String, after: String, first: Int, last: Int, limit: Int, offset: Int): StorageNamespaceConnection!
}

"""Added in 25.14.0"""
Expand All @@ -3925,40 +3933,6 @@ type ObjectStorageEdge
node: ObjectStorage!
}

"""Added in 25.14.0"""
type ObjectStorageNamespace implements Node
@join__implements(graph: STRAWBERRY, interface: "Node")
@join__type(graph: STRAWBERRY)
{
"""The Globally Unique ID of this object"""
id: ID!
storageId: ID!
bucket: String!
}

"""Added in 25.14.0"""
type ObjectStorageNamespaceConnection
@join__type(graph: STRAWBERRY)
{
"""Pagination data for this connection"""
pageInfo: PageInfo!

"""Contains the nodes in this connection"""
edges: [ObjectStorageNamespaceEdge!]!
count: Int!
}

"""An edge in a connection."""
type ObjectStorageNamespaceEdge
@join__type(graph: STRAWBERRY)
{
"""A cursor for use in pagination"""
cursor: String!

"""The item at the end of the edge"""
node: ObjectStorageNamespace!
}

enum OrderDirection
@join__type(graph: STRAWBERRY)
{
Expand Down Expand Up @@ -4605,16 +4579,24 @@ type RawServiceConfig
extraCliParameters: String
}

"""Added in 25.14.0"""
input RegisterObjectStorageBucketInput
"""
Added in 25.15.0.

Input type for registering a storage namespace.
"""
input RegisterStorageNamespaceInput
@join__type(graph: STRAWBERRY)
{
storageId: UUID!
bucketName: String!
namespace: String!
}

"""Added in 25.14.0"""
type RegisterObjectStorageBucketPayload
"""
Added in 25.15.0.

Payload returned after storage namespace registration.
"""
type RegisterStorageNamespacePayload
@join__type(graph: STRAWBERRY)
{
id: UUID!
Expand Down Expand Up @@ -5062,6 +5044,53 @@ type SourceInfo
url: String
}

"""
Added in 25.15.0.

Storage namespace provides logical separation of data within a single storage system
to organize and isolate domain-specific concerns.

Implementation varies by storage type:
- Object Storage (S3, MinIO): Uses bucket-based namespace separation
- File System (VFS): Uses directory path prefix for namespace distinction
"""
type StorageNamespace implements Node
@join__implements(graph: STRAWBERRY, interface: "Node")
@join__type(graph: STRAWBERRY)
{
"""The Globally Unique ID of this object"""
id: ID!
storageId: ID!
namespace: String!
}

"""
Added in 25.15.0.

Storage namespace connection for pagination.
"""
type StorageNamespaceConnection
@join__type(graph: STRAWBERRY)
{
"""Pagination data for this connection"""
pageInfo: PageInfo!

"""Contains the nodes in this connection"""
edges: [StorageNamespaceEdge!]!
count: Int!
}

"""An edge in a connection."""
type StorageNamespaceEdge
@join__type(graph: STRAWBERRY)
{
"""A cursor for use in pagination"""
cursor: String!

"""The item at the end of the edge"""
node: StorageNamespace!
}

type StorageVolume implements Item
@join__implements(graph: GRAPHENE, interface: "Item")
@join__type(graph: GRAPHENE)
Expand Down Expand Up @@ -5135,16 +5164,24 @@ type UnloadImage
task_id: String
}

"""Added in 25.14.0"""
input UnregisterObjectStorageBucketInput
"""
Added in 25.15.0.

Input type for unregistering a storage namespace.
"""
input UnregisterStorageNamespaceInput
@join__type(graph: STRAWBERRY)
{
storageId: UUID!
bucketName: String!
namespace: String!
}

"""Added in 25.14.0"""
type UnregisterObjectStorageBucketPayload
"""
Added in 25.15.0.

Payload returned after storage namespace unregistration.
"""
type UnregisterStorageNamespacePayload
@join__type(graph: STRAWBERRY)
{
id: UUID!
Expand Down
2 changes: 1 addition & 1 deletion packages/backend.ai-ui/src/components/Table/BAITable.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import { Resizable, ResizeCallbackData } from 'react-resizable';
* Configuration interface for BAITable pagination
* Extends Ant Design's TablePaginationConfig but omits 'position' property
*/
interface BAITablePaginationConfig
export interface BAITablePaginationConfig
extends Omit<TablePaginationConfig, 'position'> {
/** Additional content to display in the pagination area */
extraContent?: ReactNode;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -442,7 +442,7 @@ const BAITableSettingModal: React.FC<TableSettingProps> = ({
style={{
height: 330,
}}
scroll={{ x: 'max-content' }}
scroll={{ x: 'max-content', y: 330 }}
/>
</SortableContext>
</DndContext>
Expand Down
1 change: 1 addition & 0 deletions packages/backend.ai-ui/src/components/Table/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ export type {
BAIColumnType,
BAIColumnsType,
BAITableSettings,
BAITablePaginationConfig,
BAITableColumnOverrideItem,
BAITableColumnOverrideRecord,
} from './BAITable';
Expand Down
Loading
Loading