MCPcopy Index your code
hub / github.com/devspace-sh/devspace / validateDev

Function validateDev

pkg/devspace/config/versions/validate.go:367–403  ·  view source on GitHub ↗
(config *latest.Config)

Source from the content-addressed store, hash-verified

365}
366
367func validateDev(config *latest.Config) error {
368 for devPodName, devPod := range config.Dev {
369 devPodName = strings.TrimSpace(devPodName)
370 if encoding.IsUnsafeName(devPodName) {
371 return fmt.Errorf("dev.%s has to match the following regex: %v", devPodName, encoding.UnsafeNameRegEx.String())
372 }
373 if len(devPod.LabelSelector) == 0 && devPod.ImageSelector == "" {
374 return errors.Errorf("dev.%s: image selector and label selector are nil", devPodName)
375 }
376
377 definedSelectors := 0
378 if devPod.ImageSelector != "" {
379 definedSelectors++
380 }
381 if len(devPod.LabelSelector) > 0 {
382 definedSelectors++
383 }
384 if definedSelectors > 1 {
385 return errors.Errorf("dev.%s: image selector and label selector cannot be used together", devPodName)
386 }
387
388 err := validateDevContainer(fmt.Sprintf("dev.%s", devPodName), &devPod.DevContainer, devPod, false)
389 if err != nil {
390 return err
391 }
392 if len(devPod.Containers) > 0 {
393 for i, c := range devPod.Containers {
394 err := validateDevContainer(fmt.Sprintf("dev.%s.containers[%s]", devPodName, i), c, devPod, true)
395 if err != nil {
396 return err
397 }
398 }
399 }
400 }
401
402 return nil
403}
404
405func validateDevContainer(path string, devContainer *latest.DevContainer, devPod *latest.DevPod, nameRequired bool) error {
406 if nameRequired && devContainer.Container == "" {

Callers 2

ValidateFunction · 0.85
TestValidateDevFunction · 0.85

Calls 4

IsUnsafeNameFunction · 0.92
validateDevContainerFunction · 0.85
ErrorfMethod · 0.45
StringMethod · 0.45

Tested by 1

TestValidateDevFunction · 0.68