diff --git a/internal/webhook/appwrapper_webhook.go b/internal/webhook/appwrapper_webhook.go index a96a645..41e9668 100644 --- a/internal/webhook/appwrapper_webhook.go +++ b/internal/webhook/appwrapper_webhook.go @@ -48,6 +48,7 @@ import ( const ( AppWrapperUsernameLabel = "workload.codeflare.dev/user" AppWrapperUserIDLabel = "workload.codeflare.dev/userid" + QueueNameLabel = "kueue.x-k8s.io/queue-name" ) type AppWrapperWebhook struct { @@ -81,6 +82,12 @@ func (w *AppWrapperWebhook) Default(ctx context.Context, obj runtime.Object) err userInfo := request.UserInfo username := utils.SanitizeLabel(userInfo.Username) aw.Labels = utilmaps.MergeKeepFirst(map[string]string{AppWrapperUsernameLabel: username, AppWrapperUserIDLabel: userInfo.UID}, aw.Labels) + + // inject default queue name if missing from appwrapper and configured on controller + if w.Config.QueueName != "" && aw.Annotations[QueueNameLabel] == "" && aw.Labels[QueueNameLabel] == "" { + aw.Labels[QueueNameLabel] = w.Config.QueueName + } + return nil } diff --git a/pkg/config/config.go b/pkg/config/config.go index b540d24..27e1fb5 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -35,6 +35,7 @@ type AppWrapperConfig struct { UserRBACAdmissionCheck bool `json:"userRBACAdmissionCheck,omitempty"` FaultTolerance *FaultToleranceConfig `json:"faultTolerance,omitempty"` SchedulerName string `json:"schedulerName,omitempty"` + QueueName string `json:"queueName,omitempty"` } type FaultToleranceConfig struct {