/* * 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 fixtures import ( "github.com/dynemo-ai/dynemo/deploy/compoundai/api-server/api/schemas" "github.com/dynemo-ai/dynemo/deploy/compoundai/api-server/api/schemasv2" ) // DefaultScalingSpec generates a default ScalingSpec func DefaultScalingSpec() schemasv2.ScalingSpec { return schemasv2.ScalingSpec{ MinReplicas: 1, MaxReplicas: 10, } } // DefaultConfigOverridesSpec generates a default ConfigOverridesSpec func DefaultConfigOverridesSpec() schemasv2.ConfigOverridesSpec { return schemasv2.ConfigOverridesSpec{ Resources: *DefaultResources(), } } // DefaultServiceSpec generates a default ServiceSpec func DefaultServiceSpec() schemasv2.ServiceSpec { return schemasv2.ServiceSpec{ Scaling: DefaultScalingSpec(), ConfigOverrides: DefaultConfigOverridesSpec(), ExternalServices: map[string]schemas.ExternalService{}, ColdStartTimeout: nil, } } // DefaultDeploymentConfigSchema generates a default DeploymentConfigSchema func DefaultDeploymentConfigSchema() schemasv2.DeploymentConfigSchema { return schemasv2.DeploymentConfigSchema{ AccessAuthorization: true, Envs: map[string]string{ "ENV_VAR": "value", }, Secrets: map[string]string{ "SECRET_KEY": "secret-value", }, Services: map[string]schemasv2.ServiceSpec{ "default-service": DefaultServiceSpec(), }, } } // DefaultUpdateDeploymentSchema generates a default UpdateDeploymentSchema func DefaultUpdateDeploymentSchemaV2() schemasv2.UpdateDeploymentSchema { return schemasv2.UpdateDeploymentSchema{ DeploymentConfigSchema: DefaultDeploymentConfigSchema(), CompoundNim: "nvidia:123456", } } // DefaultCreateDeploymentSchema generates a default CreateDeploymentSchema func DefaultCreateDeploymentSchemaV2() schemasv2.CreateDeploymentSchema { return schemasv2.CreateDeploymentSchema{ Name: "default-deployment", UpdateDeploymentSchema: DefaultUpdateDeploymentSchemaV2(), } }