Skip to content

Commit 48408bd

Browse files
committed
Use pointer types to avoid mising hfSecret fields to be deserialized as empty strings
Signed-off-by: Shiva Krishna, Merla <[email protected]>
1 parent 6651ad2 commit 48408bd

File tree

3 files changed

+18
-14
lines changed

3 files changed

+18
-14
lines changed

api/apps/v1alpha1/nemo_customizer_types.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,10 +192,10 @@ type ModelDownloadJobsConfig struct {
192192
ImagePullPolicy string `json:"imagePullPolicy,omitempty"`
193193

194194
// NGCSecret is the secret containing the NGC API key
195-
NGCSecret NGCSecret `json:"ngcAPISecret,omitempty"`
195+
NGCSecret *NGCSecret `json:"ngcAPISecret,omitempty"`
196196

197197
// HFSecret is the secret containing the HF_TOKEN key
198-
HFSecret HFSecret `json:"hfSecret,omitempty"`
198+
HFSecret *HFSecret `json:"hfSecret,omitempty"`
199199

200200
// Optional security context for the job pods
201201
SecurityContext *corev1.PodSecurityContext `json:"securityContext,omitempty"`

internal/controller/nemocustomizer_controller.go

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -561,27 +561,31 @@ func (r *NemoCustomizerReconciler) addModelDownloadJobsConfig(ctx context.Contex
561561
pullSecrets = append(pullSecrets, map[string]string{"name": secret})
562562
}
563563

564-
cfg["model_download_jobs"] = map[string]interface{}{
564+
modelDownloadJobsCfg := map[string]interface{}{
565565
"image": n.Spec.ModelDownloadJobs.Image,
566566
"imagePullPolicy": n.Spec.Image.PullPolicy,
567567
"imagePullSecrets": pullSecrets,
568-
"ngcAPISecret": n.Spec.ModelDownloadJobs.NGCSecret.Name,
569-
"ngcAPISecretKey": n.Spec.ModelDownloadJobs.NGCSecret.Key,
570-
"ngcSecretName": n.Spec.ModelDownloadJobs.NGCSecret.Name,
571-
"ngcSecretKey": n.Spec.ModelDownloadJobs.NGCSecret.Key,
572568
"securityContext": n.Spec.ModelDownloadJobs.SecurityContext,
573569
"ttlSecondsAfterFinished": n.Spec.ModelDownloadJobs.TTLSecondsAfterFinished,
574570
"pollIntervalSeconds": n.Spec.ModelDownloadJobs.PollIntervalSeconds,
575571
}
576572

577-
// add HF secret only if present
578-
if n.Spec.ModelDownloadJobs.HFSecret.Name != "" {
579-
if modelDownloadJobs, ok := cfg["model_download_jobs"].(map[string]interface{}); ok {
580-
modelDownloadJobs["hfSecretName"] = n.Spec.ModelDownloadJobs.HFSecret.Name
581-
modelDownloadJobs["hfSecretKey"] = n.Spec.ModelDownloadJobs.HFSecret.Key
582-
}
573+
// add NGC secret if present
574+
if n.Spec.ModelDownloadJobs.NGCSecret != nil {
575+
modelDownloadJobsCfg["ngcAPISecret"] = n.Spec.ModelDownloadJobs.NGCSecret.Name
576+
modelDownloadJobsCfg["ngcAPISecretKey"] = n.Spec.ModelDownloadJobs.NGCSecret.Key
577+
modelDownloadJobsCfg["ngcSecretName"] = n.Spec.ModelDownloadJobs.NGCSecret.Name
578+
modelDownloadJobsCfg["ngcSecretKey"] = n.Spec.ModelDownloadJobs.NGCSecret.Key
579+
}
580+
581+
// add HF secret if present
582+
if n.Spec.ModelDownloadJobs.HFSecret != nil && n.Spec.ModelDownloadJobs.HFSecret.Name != "" {
583+
modelDownloadJobsCfg["hfSecretName"] = n.Spec.ModelDownloadJobs.HFSecret.Name
584+
modelDownloadJobsCfg["hfSecretKey"] = n.Spec.ModelDownloadJobs.HFSecret.Key
583585
}
584586

587+
cfg["model_download_jobs"] = modelDownloadJobsCfg
588+
585589
return nil
586590
}
587591

internal/controller/nemocustomizer_controller_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ var _ = Describe("NemoCustomizer Controller", func() {
140140
ModelDownloadJobs: &appsv1alpha1.ModelDownloadJobsConfig{
141141
Image: "nvcr.io/nvidia/nemo-microservices/customizer-api:25.04",
142142
ImagePullPolicy: "IfNotPresent",
143-
NGCSecret: appsv1alpha1.NGCSecret{Name: "ngc-api-secret"},
143+
NGCSecret: &appsv1alpha1.NGCSecret{Name: "ngc-api-secret"},
144144
SecurityContext: &corev1.PodSecurityContext{
145145
FSGroup: ptr.To[int64](1000),
146146
RunAsNonRoot: ptr.To[bool](true),

0 commit comments

Comments
 (0)