Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
dynamo
Commits
5ddc7f7d
Commit
5ddc7f7d
authored
Mar 04, 2025
by
Maksim Khadkevich
Committed by
GitHub
Mar 04, 2025
Browse files
feat: moved compoundAI operator, APIserver, and examples (#10)
parent
14ce7e03
Changes
239
Show whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
928 additions
and
0 deletions
+928
-0
deploy/compoundai/operator/api/compoundai/modelschemas/event.go
.../compoundai/operator/api/compoundai/modelschemas/event.go
+53
-0
deploy/compoundai/operator/api/compoundai/modelschemas/kube_pod.go
...mpoundai/operator/api/compoundai/modelschemas/kube_pod.go
+37
-0
deploy/compoundai/operator/api/compoundai/modelschemas/label.go
.../compoundai/operator/api/compoundai/modelschemas/label.go
+39
-0
deploy/compoundai/operator/api/compoundai/modelschemas/member.go
...compoundai/operator/api/compoundai/modelschemas/member.go
+26
-0
deploy/compoundai/operator/api/compoundai/modelschemas/model.go
.../compoundai/operator/api/compoundai/modelschemas/model.go
+56
-0
deploy/compoundai/operator/api/compoundai/modelschemas/organization.go
...ndai/operator/api/compoundai/modelschemas/organization.go
+85
-0
deploy/compoundai/operator/api/compoundai/modelschemas/resource.go
...mpoundai/operator/api/compoundai/modelschemas/resource.go
+40
-0
deploy/compoundai/operator/api/compoundai/modelschemas/resource_instance.go
...operator/api/compoundai/modelschemas/resource_instance.go
+28
-0
deploy/compoundai/operator/api/compoundai/modelschemas/tag.go
...oy/compoundai/operator/api/compoundai/modelschemas/tag.go
+34
-0
deploy/compoundai/operator/api/compoundai/modelschemas/terminal_record.go
...i/operator/api/compoundai/modelschemas/terminal_record.go
+57
-0
deploy/compoundai/operator/api/compoundai/modelschemas/user.go
...y/compoundai/operator/api/compoundai/modelschemas/user.go
+29
-0
deploy/compoundai/operator/api/compoundai/modelschemas/yatai_component.go
...i/operator/api/compoundai/modelschemas/yatai_component.go
+52
-0
deploy/compoundai/operator/api/compoundai/schemasv1/api_token.go
...compoundai/operator/api/compoundai/schemasv1/api_token.go
+59
-0
deploy/compoundai/operator/api/compoundai/schemasv1/base.go
deploy/compoundai/operator/api/compoundai/schemasv1/base.go
+27
-0
deploy/compoundai/operator/api/compoundai/schemasv1/bento.go
deploy/compoundai/operator/api/compoundai/schemasv1/bento.go
+85
-0
deploy/compoundai/operator/api/compoundai/schemasv1/bento_repository.go
...dai/operator/api/compoundai/schemasv1/bento_repository.go
+57
-0
deploy/compoundai/operator/api/compoundai/schemasv1/cluster.go
...y/compoundai/operator/api/compoundai/schemasv1/cluster.go
+54
-0
deploy/compoundai/operator/api/compoundai/schemasv1/cluster_member.go
...undai/operator/api/compoundai/schemasv1/cluster_member.go
+28
-0
deploy/compoundai/operator/api/compoundai/schemasv1/deployment.go
...ompoundai/operator/api/compoundai/schemasv1/deployment.go
+50
-0
deploy/compoundai/operator/api/compoundai/schemasv1/deployment_revision.go
.../operator/api/compoundai/schemasv1/deployment_revision.go
+32
-0
No files found.
deploy/compoundai/operator/api/compoundai/modelschemas/event.go
0 → 100644
View file @
5ddc7f7d
/*
* SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
modelschemas
import
(
"database/sql/driver"
"encoding/json"
)
type
EventStatus
string
const
(
EventStatusPending
EventStatus
=
"pending"
EventStatusSuccess
EventStatus
=
"success"
EventStatusFailed
EventStatus
=
"failed"
)
func
(
e
EventStatus
)
Ptr
()
*
EventStatus
{
return
&
e
}
type
EventInfo
struct
{
ResourceName
string
`json:"resource_name"`
}
func
(
c
*
EventInfo
)
Scan
(
value
interface
{})
error
{
if
value
==
nil
{
return
nil
}
return
json
.
Unmarshal
([]
byte
(
value
.
(
string
)),
c
)
}
func
(
c
*
EventInfo
)
Value
()
(
driver
.
Value
,
error
)
{
if
c
==
nil
{
return
nil
,
nil
}
return
json
.
Marshal
(
c
)
}
deploy/compoundai/operator/api/compoundai/modelschemas/kube_pod.go
0 → 100644
View file @
5ddc7f7d
/*
* SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
modelschemas
import
apiv1
"k8s.io/api/core/v1"
type
KubePodActualStatus
string
const
(
KubePodActualStatusPending
KubePodActualStatus
=
"Pending"
KubePodActualStatusRunning
KubePodActualStatus
=
"Running"
KubePodActualStatusSucceeded
KubePodActualStatus
=
"Succeeded"
KubePodActualStatusFailed
KubePodActualStatus
=
"Failed"
KubePodActualStatusUnknown
KubePodActualStatus
=
"Unknown"
KubePodActualStatusTerminating
KubePodActualStatus
=
"Terminating"
)
type
KubePodStatus
struct
{
Status
KubePodActualStatus
`json:"status"`
Phase
apiv1
.
PodPhase
`json:"phase"`
ContainerStates
[]
apiv1
.
ContainerState
`json:"container_states"`
}
deploy/compoundai/operator/api/compoundai/modelschemas/label.go
0 → 100644
View file @
5ddc7f7d
/*
* SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
modelschemas
type
LabelItemSchema
struct
{
Key
string
`json:"key"`
Value
string
`json:"value"`
}
func
(
in
*
LabelItemSchema
)
DeepCopy
()
(
out
*
LabelItemSchema
)
{
if
in
==
nil
{
return
nil
}
out
=
new
(
LabelItemSchema
)
in
.
DeepCopyInto
(
out
)
return
}
func
(
in
*
LabelItemSchema
)
DeepCopyInto
(
out
*
LabelItemSchema
)
{
*
out
=
*
in
}
type
LabelItemsSchema
[]
LabelItemSchema
deploy/compoundai/operator/api/compoundai/modelschemas/member.go
0 → 100644
View file @
5ddc7f7d
/*
* SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
modelschemas
type
MemberRole
string
const
(
MemberRoleGuest
MemberRole
=
"guest"
MemberRoleDeveloper
MemberRole
=
"developer"
MemberRoleAdmin
MemberRole
=
"admin"
)
deploy/compoundai/operator/api/compoundai/modelschemas/model.go
0 → 100644
View file @
5ddc7f7d
/*
* SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
modelschemas
import
(
"database/sql/driver"
"encoding/json"
)
type
ModelUploadStatus
string
const
(
ModelUploadStatusPending
ModelUploadStatus
=
"pending"
ModelUploadStatusUploading
ModelUploadStatus
=
"uploading"
ModelUploadStatusSuccess
ModelUploadStatus
=
"success"
ModelUploadStatusFailed
ModelUploadStatus
=
"failed"
)
type
ModelManifestSchema
struct
{
BentomlVersion
string
`json:"bentoml_version"`
ApiVersion
string
`json:"api_version"`
Module
string
`json:"module"`
Metadata
map
[
string
]
interface
{}
`json:"metadata"`
Context
map
[
string
]
interface
{}
`json:"context"`
Options
map
[
string
]
interface
{}
`json:"options"`
SizeBytes
uint
`json:"size_bytes"`
}
func
(
c
*
ModelManifestSchema
)
Scan
(
value
interface
{})
error
{
if
value
==
nil
{
return
nil
}
return
json
.
Unmarshal
(
value
.
([]
byte
),
c
)
}
func
(
c
*
ModelManifestSchema
)
Value
()
(
driver
.
Value
,
error
)
{
if
c
==
nil
{
return
nil
,
nil
}
return
json
.
Marshal
(
c
)
}
deploy/compoundai/operator/api/compoundai/modelschemas/organization.go
0 → 100644
View file @
5ddc7f7d
/*
* SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
modelschemas
import
(
"database/sql/driver"
"encoding/json"
)
type
AWSS3Schema
struct
{
BentosBucketName
string
`json:"bentos_bucket_name"`
ModelsBucketName
string
`json:"models_bucket_name"`
Region
string
`json:"region"`
}
type
AWSECRSchema
struct
{
AccountId
string
`json:"account_id"`
BentosRepositoryName
string
`json:"bentos_repository_name"`
ModelsRepositoryName
string
`json:"models_repository_name"`
Password
string
`json:"password"`
Region
string
`json:"region"`
}
type
OrganizationConfigAWSSchema
struct
{
AccessKeyId
string
`json:"access_key_id"`
SecretAccessKey
string
`json:"secret_access_key"`
ECR
*
AWSECRSchema
`json:"ecr"`
S3
*
AWSS3Schema
`json:"s3"`
}
type
OrganizationDockerRegistrySchema
struct
{
BentosRepositoryURI
string
`json:"bentos_repository_uri"`
ModelsRepositoryURI
string
`json:"models_repository_uri"`
Server
string
`json:"server"`
Username
string
`json:"username"`
Password
string
`json:"password"`
Secure
bool
`json:"secure"`
}
type
OrganizationS3Schema
struct
{
Endpoint
string
`json:"endpoint"`
AccessKey
string
`json:"access_key"`
SecretKey
string
`json:"secret_key"`
Secure
bool
`json:"secure"`
Region
string
`json:"region"`
BentosBucketName
string
`json:"bentos_bucket_name"`
ModelsBucketName
string
`json:"models_bucket_name"`
}
type
OrganizationConfigSchema
struct
{
MajorClusterUid
string
`json:"major_cluster_uid"`
AWS
*
OrganizationConfigAWSSchema
`json:"aws,omitempty"`
DockerRegistry
*
OrganizationDockerRegistrySchema
`json:"docker_registry,omitempty"`
S3
*
OrganizationS3Schema
`json:"s3,omitempty"`
TransmissionStrategy
*
TransmissionStrategy
`json:"transmission_strategy,omitempty"`
}
func
(
c
*
OrganizationConfigSchema
)
Scan
(
value
interface
{})
error
{
if
value
==
nil
{
return
nil
}
return
json
.
Unmarshal
([]
byte
(
value
.
(
string
)),
c
)
}
func
(
c
*
OrganizationConfigSchema
)
Value
()
(
driver
.
Value
,
error
)
{
if
c
==
nil
{
return
nil
,
nil
}
return
json
.
Marshal
(
c
)
}
deploy/compoundai/operator/api/compoundai/modelschemas/resource.go
0 → 100644
View file @
5ddc7f7d
/*
* SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
modelschemas
type
ResourceType
string
const
(
ResourceTypeUser
ResourceType
=
"user"
ResourceTypeOrganization
ResourceType
=
"organization"
ResourceTypeCluster
ResourceType
=
"cluster"
ResourceTypeBentoRepository
ResourceType
=
"bento_repository"
ResourceTypeBento
ResourceType
=
"bento"
ResourceTypeDeployment
ResourceType
=
"deployment"
ResourceTypeDeploymentRevision
ResourceType
=
"deployment_revision"
ResourceTypeTerminalRecord
ResourceType
=
"terminal_record"
ResourceTypeModelRepository
ResourceType
=
"model_repository"
ResourceTypeModel
ResourceType
=
"model"
ResourceTypeLabel
ResourceType
=
"label"
ResourceTypeApiToken
ResourceType
=
"api_token"
ResourceTypeYataiComponent
ResourceType
=
"yatai_component"
)
func
(
type_
ResourceType
)
Ptr
()
*
ResourceType
{
return
&
type_
}
deploy/compoundai/operator/api/compoundai/modelschemas/resource_instance.go
0 → 100644
View file @
5ddc7f7d
/*
* SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
modelschemas
type
ResourceInstance
struct
{
ID
string
`json:"id"`
Name
string
`json:"name"`
Group
string
`json:"group"`
Description
string
`json:"description"`
NodeSelectors
map
[
string
]
string
`json:"node_selectors"`
Resources
DeploymentTargetResources
`json:"resources"`
Price
string
`json:"price"`
}
deploy/compoundai/operator/api/compoundai/modelschemas/tag.go
0 → 100644
View file @
5ddc7f7d
/*
* SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
modelschemas
import
(
"github.com/huandu/xstrings"
"github.com/pkg/errors"
)
type
Tag
string
func
(
t
Tag
)
Parse
()
(
name
,
version
string
,
err
error
)
{
name
,
_
,
version
=
xstrings
.
Partition
(
string
(
t
),
":"
)
if
version
==
""
{
err
=
errors
.
Errorf
(
"tag %s is invalid"
,
t
)
return
}
return
}
deploy/compoundai/operator/api/compoundai/modelschemas/terminal_record.go
0 → 100644
View file @
5ddc7f7d
/*
* SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
modelschemas
import
(
"database/sql/driver"
"encoding/json"
)
type
RecordType
string
const
(
RecordTypeInput
RecordType
=
"i"
RecordTypeOutput
RecordType
=
"o"
)
type
TerminalRecordEnv
struct
{
TERM
string
`json:"term"`
SHELL
string
`json:"shell"`
}
type
TerminalRecordMeta
struct
{
Version
uint
`json:"version"`
Width
uint16
`json:"width"`
Height
uint16
`json:"height"`
Timestamp
int64
`json:"timestamp"`
Env
*
TerminalRecordEnv
`json:"env"`
}
func
(
m
*
TerminalRecordMeta
)
Scan
(
value
interface
{})
error
{
if
value
==
nil
{
return
nil
}
return
json
.
Unmarshal
([]
byte
(
value
.
(
string
)),
m
)
}
func
(
m
*
TerminalRecordMeta
)
Value
()
(
driver
.
Value
,
error
)
{
if
m
==
nil
{
return
nil
,
nil
}
return
json
.
Marshal
(
m
)
}
deploy/compoundai/operator/api/compoundai/modelschemas/user.go
0 → 100644
View file @
5ddc7f7d
/*
* SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
modelschemas
type
UserPerm
string
const
(
UserPermDefault
UserPerm
=
"default"
UserPermAdmin
UserPerm
=
"admin"
)
func
UserPermPtr
(
perm
UserPerm
)
*
UserPerm
{
return
&
perm
}
deploy/compoundai/operator/api/compoundai/modelschemas/yatai_component.go
0 → 100644
View file @
5ddc7f7d
/*
* SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
modelschemas
import
(
"database/sql/driver"
"encoding/json"
)
type
YataiComponentName
string
const
(
YataiComponentNameDeployment
YataiComponentName
=
"deployment"
YataiComponentNameImageBuilder
YataiComponentName
=
"image-builder"
YataiComponentNameServerless
YataiComponentName
=
"serverless"
YataiComponentNameFunction
YataiComponentName
=
"function"
YataiComponentNameJob
YataiComponentName
=
"job"
)
type
YataiComponentManifestSchema
struct
{
SelectorLabels
map
[
string
]
string
`json:"selector_labels,omitempty"`
LatestCRDVersion
string
`json:"latest_crd_version,omitempty"`
}
func
(
c
*
YataiComponentManifestSchema
)
Scan
(
value
interface
{})
error
{
if
value
==
nil
{
return
nil
}
return
json
.
Unmarshal
(
value
.
([]
byte
),
c
)
}
func
(
c
*
YataiComponentManifestSchema
)
Value
()
(
driver
.
Value
,
error
)
{
if
c
==
nil
{
return
nil
,
nil
}
return
json
.
Marshal
(
c
)
}
deploy/compoundai/operator/api/compoundai/schemasv1/api_token.go
0 → 100644
View file @
5ddc7f7d
/*
* SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
schemasv1
import
(
"time"
"github.com/dynemo-ai/dynemo/deploy/compoundai/operator/api/compoundai/modelschemas"
)
type
ApiTokenSchema
struct
{
ResourceSchema
Description
string
`json:"description"`
User
*
UserSchema
`json:"user"`
Organization
*
OrganizationSchema
`json:"organization"`
Scopes
*
modelschemas
.
ApiTokenScopes
`json:"scopes"`
ExpiredAt
*
time
.
Time
`json:"expired_at"`
LastUsedAt
*
time
.
Time
`json:"last_used_at"`
IsExpired
bool
`json:"is_expired"`
}
type
ApiTokenListSchema
struct
{
BaseListSchema
Items
[]
*
ApiTokenSchema
`json:"items"`
}
type
ApiTokenFullSchema
struct
{
ApiTokenSchema
Token
string
`json:"token"`
}
type
UpdateApiTokenSchema
struct
{
Description
*
string
`json:"description"`
Scopes
*
modelschemas
.
ApiTokenScopes
`json:"scopes"`
ExpiredAt
*
time
.
Time
`json:"expired_at"`
LastUsedAt
*
time
.
Time
`json:"last_used_at"`
}
type
CreateApiTokenSchema
struct
{
Name
string
`json:"name"`
Description
string
`json:"description"`
Scopes
*
modelschemas
.
ApiTokenScopes
`json:"scopes"`
ExpiredAt
*
time
.
Time
`json:"expired_at"`
}
deploy/compoundai/operator/api/compoundai/schemasv1/base.go
0 → 100644
View file @
5ddc7f7d
/*
* SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
schemasv1
import
"time"
type
BaseSchema
struct
{
Uid
string
`json:"uid"`
CreatedAt
time
.
Time
`json:"created_at"`
UpdatedAt
time
.
Time
`json:"updated_at"`
DeletedAt
*
time
.
Time
`json:"deleted_at"`
}
deploy/compoundai/operator/api/compoundai/schemasv1/bento.go
0 → 100644
View file @
5ddc7f7d
/*
* SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
schemasv1
import
(
"time"
"github.com/dynemo-ai/dynemo/deploy/compoundai/operator/api/compoundai/modelschemas"
)
type
BentoSchema
struct
{
ResourceSchema
BentoRepositoryUid
string
`json:"bento_repository_uid"`
Creator
*
UserSchema
`json:"creator"`
Version
string
`json:"version"`
Description
string
`json:"description"`
ImageBuildStatus
modelschemas
.
ImageBuildStatus
`json:"image_build_status"`
UploadStatus
modelschemas
.
BentoUploadStatus
`json:"upload_status"`
UploadStartedAt
*
time
.
Time
`json:"upload_started_at"`
UploadFinishedAt
*
time
.
Time
`json:"upload_finished_at"`
UploadFinishedReason
string
`json:"upload_finished_reason"`
PresignedUploadUrl
string
`json:"presigned_upload_url"`
PresignedDownloadUrl
string
`json:"presigned_download_url"`
PresignedUrlsDeprecated
bool
`json:"presigned_urls_deprecated"`
TransmissionStrategy
*
modelschemas
.
TransmissionStrategy
`json:"transmission_strategy"`
UploadId
string
`json:"upload_id"`
Manifest
*
modelschemas
.
BentoManifestSchema
`json:"manifest"`
BuildAt
time
.
Time
`json:"build_at"`
}
type
BentoListSchema
struct
{
BaseListSchema
Items
[]
*
BentoSchema
`json:"items"`
}
type
BentoWithRepositorySchema
struct
{
BentoSchema
Repository
*
BentoRepositorySchema
`json:"repository"`
}
type
BentoWithRepositoryListSchema
struct
{
BaseListSchema
Items
[]
*
BentoWithRepositorySchema
`json:"items"`
}
type
BentoFullSchema
struct
{
BentoWithRepositorySchema
Models
[]
*
ModelWithRepositorySchema
`json:"models"`
}
type
CreateBentoSchema
struct
{
Description
string
`json:"description"`
Version
string
`json:"version"`
Manifest
*
modelschemas
.
BentoManifestSchema
`json:"manifest"`
BuildAt
string
`json:"build_at"`
Labels
modelschemas
.
LabelItemsSchema
`json:"labels"`
}
type
UpdateBentoSchema
struct
{
Description
string
`json:"description"`
Version
string
`json:"version"`
Manifest
**
modelschemas
.
BentoManifestSchema
`json:"manifest"`
BuildAt
string
`json:"build_at"`
Labels
*
modelschemas
.
LabelItemsSchema
`json:"labels,omitempty"`
}
type
FinishUploadBentoSchema
struct
{
Status
*
modelschemas
.
BentoUploadStatus
`json:"status"`
Reason
*
string
`json:"reason"`
}
deploy/compoundai/operator/api/compoundai/schemasv1/bento_repository.go
0 → 100644
View file @
5ddc7f7d
/*
* SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
schemasv1
import
"github.com/dynemo-ai/dynemo/deploy/compoundai/operator/api/compoundai/modelschemas"
type
BentoRepositorySchema
struct
{
ResourceSchema
Creator
*
UserSchema
`json:"creator"`
Organization
*
OrganizationSchema
`json:"organization"`
LatestBento
*
BentoSchema
`json:"latest_bento"`
NBentos
uint
`json:"n_bentos"`
NDeployments
uint
`json:"n_deployments"`
LatestBentos
[]
*
BentoSchema
`json:"latest_bentos"`
Description
string
`json:"description"`
}
type
BentoRepositoryListSchema
struct
{
BaseListSchema
Items
[]
*
BentoRepositorySchema
`json:"items"`
}
type
BentoRepositoryWithLatestDeploymentsSchema
struct
{
BentoRepositorySchema
LatestDeployments
[]
*
DeploymentSchema
`json:"latest_deployments"`
}
type
BentoRepositoryWithLatestDeploymentsListSchema
struct
{
BaseListSchema
Items
[]
*
BentoRepositoryWithLatestDeploymentsSchema
`json:"items"`
}
type
CreateBentoRepositorySchema
struct
{
Name
string
`json:"name"`
Description
string
`json:"description"`
Labels
modelschemas
.
LabelItemsSchema
`json:"labels"`
}
type
UpdateBentoRepositorySchema
struct
{
Description
*
string
`json:"description"`
Labels
*
modelschemas
.
LabelItemsSchema
`json:"labels,omitempty"`
}
deploy/compoundai/operator/api/compoundai/schemasv1/cluster.go
0 → 100644
View file @
5ddc7f7d
/*
* SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
schemasv1
import
(
"github.com/dynemo-ai/dynemo/deploy/compoundai/operator/api/compoundai/modelschemas"
)
type
ClusterSchema
struct
{
ResourceSchema
Creator
*
UserSchema
`json:"creator"`
Description
string
`json:"description"`
}
type
ClusterListSchema
struct
{
BaseListSchema
Items
[]
*
ClusterSchema
`json:"items"`
}
type
ClusterFullSchema
struct
{
ClusterSchema
Organization
*
OrganizationSchema
`json:"organization"`
KubeConfig
*
string
`json:"kube_config"`
Config
**
modelschemas
.
ClusterConfigSchema
`json:"config"`
GrafanaRootPath
string
`json:"grafana_root_path"`
}
type
UpdateClusterSchema
struct
{
Description
*
string
`json:"description"`
KubeConfig
*
string
`json:"kube_config"`
Config
**
modelschemas
.
ClusterConfigSchema
`json:"config"`
}
type
CreateClusterSchema
struct
{
Description
string
`json:"description"`
KubeConfig
string
`json:"kube_config"`
Config
*
modelschemas
.
ClusterConfigSchema
`json:"config"`
Name
string
`json:"name"`
}
deploy/compoundai/operator/api/compoundai/schemasv1/cluster_member.go
0 → 100644
View file @
5ddc7f7d
/*
* SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
schemasv1
import
"github.com/dynemo-ai/dynemo/deploy/compoundai/operator/api/compoundai/modelschemas"
type
ClusterMemberSchema
struct
{
BaseSchema
Role
modelschemas
.
MemberRole
`json:"role"`
Creator
*
UserSchema
`json:"creator"`
User
UserSchema
`json:"user"`
Cluster
ClusterSchema
`json:"cluster"`
}
deploy/compoundai/operator/api/compoundai/schemasv1/deployment.go
0 → 100644
View file @
5ddc7f7d
/*
* SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
schemasv1
import
"github.com/dynemo-ai/dynemo/deploy/compoundai/operator/api/compoundai/modelschemas"
type
DeploymentSchema
struct
{
ResourceSchema
Mode
*
modelschemas
.
DeploymentMode
`json:"mode,omitempty"`
Creator
*
UserSchema
`json:"creator"`
Cluster
*
ClusterFullSchema
`json:"cluster"`
Status
modelschemas
.
DeploymentStatus
`json:"status" enum:"unknown,non-deployed,running,unhealthy,failed,deploying"`
URLs
[]
string
`json:"urls"`
LatestRevision
*
DeploymentRevisionSchema
`json:"latest_revision"`
KubeNamespace
string
`json:"kube_namespace"`
}
type
DeploymentListSchema
struct
{
BaseListSchema
Items
[]
*
DeploymentSchema
`json:"items"`
}
type
UpdateDeploymentSchema
struct
{
Mode
*
modelschemas
.
DeploymentMode
`json:"mode,omitempty"`
Targets
[]
*
CreateDeploymentTargetSchema
`json:"targets"`
Labels
*
modelschemas
.
LabelItemsSchema
`json:"labels,omitempty"`
Description
*
string
`json:"description,omitempty"`
DoNotDeploy
bool
`json:"do_not_deploy,omitempty"`
}
type
CreateDeploymentSchema
struct
{
Name
string
`json:"name"`
KubeNamespace
string
`json:"kube_namespace"`
UpdateDeploymentSchema
}
deploy/compoundai/operator/api/compoundai/schemasv1/deployment_revision.go
0 → 100644
View file @
5ddc7f7d
/*
* SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
schemasv1
import
"github.com/dynemo-ai/dynemo/deploy/compoundai/operator/api/compoundai/modelschemas"
type
DeploymentRevisionSchema
struct
{
ResourceSchema
Creator
*
UserSchema
`json:"creator"`
Status
modelschemas
.
DeploymentRevisionStatus
`json:"status" enum:"active,inactive"`
Targets
[]
*
DeploymentTargetSchema
`json:"targets"`
}
type
DeploymentRevisionListSchema
struct
{
BaseListSchema
Items
[]
*
DeploymentRevisionSchema
`json:"items"`
}
Prev
1
…
3
4
5
6
7
8
9
10
11
12
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment