Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
7a2b227
feat: rebase kubernetes overwrites
atchernych Jun 5, 2025
0dad025
Changes per Julien
atchernych Jun 6, 2025
f4eb61e
remove claim related stuff for now
atchernych Jun 6, 2025
82838a5
cleanup
atchernych Jun 6, 2025
a36b593
Dead-end changes
atchernych Jun 10, 2025
ecd64c5
Refactored the python part after rebase
atchernych Jun 11, 2025
ea1271d
Move overrides into the extraPodSpecMainContainer
atchernych Jun 11, 2025
16fe788
Cleanup after moving the overrides.
atchernych Jun 11, 2025
8d4d91f
rerun make manifests
atchernych Jun 11, 2025
2ad84af
correct the manifest generation
atchernych Jun 11, 2025
457db96
fixed a bug with args
atchernych Jun 12, 2025
a806050
bring back licenses
atchernych Jun 12, 2025
6542ad3
Copy crds to deploy/cloud/helm/crds/template
atchernych Jun 12, 2025
4266372
Brign back helm.sh/resource-policy: keep
atchernych Jun 12, 2025
4d8520c
add comments
atchernych Jun 12, 2025
f576948
add DynamoGraphDeploymentController changes
atchernych Jun 13, 2025
3194e3b
Fix the parsing of the ExtraPodSpec
atchernych Jun 13, 2025
ec45e87
fix up the overrides
atchernych Jun 13, 2025
40b13cd
Move the ExtraPodSpec Overrides
atchernych Jun 13, 2025
0a227b1
proper naming for sharedSpec
atchernych Jun 13, 2025
1905078
move the override
atchernych Jun 13, 2025
f0f2861
revert default args
atchernych Jun 13, 2025
731269a
change the parsing library for yaml case
atchernych Jun 13, 2025
8e0e249
replace parsing lib and remove comments
atchernych Jun 13, 2025
a664e2e
Cleanup.
atchernych Jun 13, 2025
6fb1cbe
remove logger
atchernych Jun 14, 2025
81a841a
Use BaseModel for KubernetesOverrides.
atchernych Jun 14, 2025
d25c54e
Add a go test for overrides.
atchernych Jun 14, 2025
45b0b5f
refactor GenerateDynamoComponentsDeployments
atchernych Jun 14, 2025
89c6a14
fix the help func
atchernych Jun 14, 2025
dbb901a
Streamline the ExtraPodEverrides
atchernych Jun 14, 2025
bbe4d0a
validations on KubernetesOverrides
atchernych Jun 14, 2025
438916b
Simplify GenerateDynamoComponentsDeployments
atchernych Jun 14, 2025
b1e6c35
Merge branch 'main' into dep-157-extend-decor
atchernych Jun 14, 2025
7b0e22c
Update run.sh
atchernych Jun 16, 2025
0688b97
Merge branch 'main' into dep-157-extend-decor
atchernych Jun 16, 2025
4c30222
Merge branch 'main' into dep-157-extend-decor
atchernych Jun 16, 2025
6fa26a2
Merge branch 'main' into dep-157-extend-decor
atchernych Jun 17, 2025
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
Prev Previous commit
Next Next commit
change the parsing library for yaml case
  • Loading branch information
atchernych committed Jun 13, 2025
commit 731269a47ab02b729948f176eaa28f6264265852
12 changes: 6 additions & 6 deletions ATTRIBUTIONS-Go.md
Original file line number Diff line number Diff line change
Expand Up @@ -1484,7 +1484,7 @@ Subdependencies:
* `golang.org/x/net`
* `golang.org/x/text`
* `gopkg.in/inf.v0`
* `gopkg.in/yaml.v2`
* `github.com/goccy/go-yaml`
* `k8s.io/klog/v2`
* `k8s.io/utils`
* `sigs.k8s.io/json`
Expand Down Expand Up @@ -3179,7 +3179,7 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
```

### gopkg.in/yaml.v2
### github.com/goccy/go-yaml

License Identifier: Apache-2.0
License Text:
Expand Down Expand Up @@ -4864,7 +4864,7 @@ Subdependencies:
* `google.golang.org/genproto/googleapis/api`
* `google.golang.org/genproto/googleapis/rpc`
* `google.golang.org/protobuf`
* `gopkg.in/yaml.v2`
* `github.com/goccy/go-yaml`

### github.com/dustin/go-humanize

Expand Down Expand Up @@ -8180,7 +8180,7 @@ Subdependencies:
* `golang.org/x/text`
* `google.golang.org/genproto/googleapis/rpc`
* `gopkg.in/inf.v0`
* `gopkg.in/yaml.v2`
* `github.com/goccy/go-yaml`
* `k8s.io/klog/v2`
* `k8s.io/utils`
* `sigs.k8s.io/json`
Expand Down Expand Up @@ -9056,7 +9056,7 @@ Subdependencies:
* `google.golang.org/genproto/googleapis/api`
* `google.golang.org/protobuf`
* `gopkg.in/inf.v0`
* `gopkg.in/yaml.v2`
* `github.com/goccy/go-yaml`
* `gopkg.in/yaml.v3`
* `k8s.io/api`
* `k8s.io/klog/v2`
Expand Down Expand Up @@ -22970,7 +22970,7 @@ Subdependencies:
* `google.golang.org/protobuf`
* `gopkg.in/evanphx/json-patch.v4`
* `gopkg.in/inf.v0`
* `gopkg.in/yaml.v2`
* `github.com/goccy/go-yaml`
* `gopkg.in/yaml.v3`
* `k8s.io/component-base`
* `k8s.io/gengo/v2`
Expand Down
2 changes: 1 addition & 1 deletion deploy/cloud/operator/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ require (
github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.9.1
github.com/bsm/gomega v1.27.10
github.com/chrismellard/docker-credential-acr-env v0.0.0-20230304212654-82a0ddb27589
github.com/goccy/go-yaml v1.18.0
github.com/google/go-cmp v0.7.0
github.com/google/go-containerregistry v0.20.5
github.com/huandu/xstrings v1.4.0
Expand All @@ -22,7 +23,6 @@ require (
github.com/sergeymakinen/go-quote v1.1.0
github.com/sirupsen/logrus v1.9.3
go.etcd.io/etcd/client/v3 v3.5.16
gopkg.in/yaml.v2 v2.4.0
istio.io/api v1.23.1
istio.io/client-go v1.23.1
k8s.io/api v0.32.3
Expand Down
4 changes: 2 additions & 2 deletions deploy/cloud/operator/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,8 @@ github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+Gr
github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ=
github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI=
github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw=
github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA=
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
Expand Down Expand Up @@ -310,8 +312,6 @@ gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSP
gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M=
gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ import (
"github.com/apparentlymart/go-shquot/shquot"
"github.com/awslabs/amazon-ecr-credential-helper/ecr-login"
"github.com/chrismellard/docker-credential-acr-env/pkg/credhelper"
"github.com/goccy/go-yaml"
"github.com/google/go-containerregistry/pkg/authn"
"github.com/google/go-containerregistry/pkg/name"
"github.com/google/go-containerregistry/pkg/v1/google"
Expand All @@ -49,7 +50,6 @@ import (
"github.com/rs/xid"
"github.com/sergeymakinen/go-quote/unix"
"github.com/sirupsen/logrus"
"gopkg.in/yaml.v2"
batchv1 "k8s.io/api/batch/v1"
corev1 "k8s.io/api/core/v1"
k8serrors "k8s.io/apimachinery/pkg/api/errors"
Expand Down
39 changes: 28 additions & 11 deletions deploy/cloud/operator/internal/dynamo/graph.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ import (
"sigs.k8s.io/controller-runtime/pkg/log"

"github.com/ai-dynamo/dynamo/deploy/cloud/operator/internal/archive"
"gopkg.in/yaml.v2"
"github.com/goccy/go-yaml"
)

const (
Expand Down Expand Up @@ -237,7 +237,25 @@ func ParseDynamoGraphConfig(ctx context.Context, yamlContent *bytes.Buffer) (*Dy
logger := log.FromContext(ctx)
logger.Info("trying to parse dynamo graph config", "yamlContent", yamlContent.String())
err := yaml.Unmarshal(yamlContent.Bytes(), &config)
return &config, err
if err != nil {
return nil, err
}

// Add debug logging for ExtraPodSpec
for _, service := range config.Services {
if service.Config.ExtraPodSpec != nil {
extraPodSpecBytes, err := json.MarshalIndent(service.Config.ExtraPodSpec, "", " ")
if err != nil {
logger.Error(err, "failed to marshal ExtraPodSpec for logging", "service", service.Name)
} else {
logger.Info("Parsed ExtraPodSpec for service", "service", service.Name, "ExtraPodSpec", string(extraPodSpecBytes))
}
} else {
logger.Info("No ExtraPodSpec found for service", "service", service.Name)
}
}

return &config, nil
}

func ParseDynDeploymentConfig(ctx context.Context, jsonContent []byte) (DynDeploymentConfig, error) {
Expand Down Expand Up @@ -371,15 +389,6 @@ func GenerateDynamoComponentsDeployments(ctx context.Context, parentDynamoGraphD
deployment.Spec.Autoscaling.MinReplicas = service.Config.Autoscaling.MinReplicas
deployment.Spec.Autoscaling.MaxReplicas = service.Config.Autoscaling.MaxReplicas
}

// override the component config with the component config that is in the parent deployment
if configOverride, ok := parentDynamoGraphDeployment.Spec.Services[service.Name]; ok {
err := mergo.Merge(&deployment.Spec.DynamoComponentDeploymentSharedSpec, configOverride.DynamoComponentDeploymentSharedSpec, mergo.WithOverride)
if err != nil {
return nil, err
}
}

// Override command and args if provided.
if service.Config.ExtraPodSpec != nil && service.Config.ExtraPodSpec.MainContainer != nil {
if deployment.Spec.DynamoComponentDeploymentSharedSpec.ExtraPodSpec == nil {
Expand Down Expand Up @@ -411,6 +420,14 @@ func GenerateDynamoComponentsDeployments(ctx context.Context, parentDynamoGraphD
}
}

// override the component config with the component config that is in the parent deployment
if configOverride, ok := parentDynamoGraphDeployment.Spec.Services[service.Name]; ok {
err := mergo.Merge(&deployment.Spec.DynamoComponentDeploymentSharedSpec, configOverride.DynamoComponentDeploymentSharedSpec, mergo.WithOverride)
if err != nil {
return nil, err
}
}

// merge the envs from the parent deployment with the envs from the service
if len(parentDynamoGraphDeployment.Spec.Envs) > 0 {
deployment.Spec.Envs = mergeEnvs(parentDynamoGraphDeployment.Spec.Envs, deployment.Spec.Envs)
Expand Down
Loading