code: func (cfg *UploaderConfig) CheckAndSetDefaults() error {
  	if cfg.ServerID == "" {
  		return trace.BadParameter("missing parameter ServerID")
  	}
  	if cfg.AuditLog == nil {
  		return trace.BadParameter("missing parameter AuditLog")
  	}
  	if cfg.DataDir == "" {
  		return trace.BadParameter("missing parameter DataDir")
  	}
  	if cfg.Namespace == "" {
  		return trace.BadParameter("missing parameter Namespace")
  	}
  	if cfg.ConcurrentUploads <= 0 {
  		cfg.ConcurrentUploads = defaults.UploaderConcurrentUploads
  	}
  	if cfg.ScanPeriod <= 0 {
  		cfg.ScanPeriod = defaults.UploaderScanPeriod
  	}
  	if cfg.Context == nil {
  		cfg.Context = context.TODO()
  	}
  	if cfg.Clock == nil {
  		cfg.Clock = clockwork.NewRealClock()
  	}
  	return nil
  }
docs: // CheckAndSetDefaults checks and sets default values of UploaderConfig