func()

in graph/task.go [185:215]


func (t *Task) Validate() error {
	// Validate secrets if exists
	idMap := make(map[string]struct{}, len(t.Secrets))
	for _, secret := range t.Secrets {
		err := secret.Validate()
		if err != nil {
			if secret.ID == "" {
				return err
			}
			return errors.Wrap(err, fmt.Sprintf("failed to validate secret with ID: %s", secret.ID))
		}

		if _, exists := idMap[secret.ID]; exists {
			return fmt.Errorf("duplicate secret found with ID: %s", secret.ID)
		}

		idMap[secret.ID] = struct{}{}
	}

	// Validate Volumes if exists
	if err := ValidateVolumes(t.Volumes); err != nil {
		return err
	}
	// Validate that mounts reference a volume that exists
	for _, s := range t.Steps {
		if err := s.ValidateMountVolumeNames(t.Volumes); err != nil {
			return err
		}
	}
	return nil
}