code: func (f *ForwarderConfig) CheckAndSetDefaults() error {
  	if f.Client == nil {
  		return trace.BadParameter("missing parameter Client")
  	}
  	if f.AccessPoint == nil {
  		return trace.BadParameter("missing parameter AccessPoint")
  	}
  	if f.Auth == nil {
  		return trace.BadParameter("missing parameter Auth")
  	}
  	if f.Tunnel == nil {
  		return trace.BadParameter("missing parameter Tunnel")
  	}
  	if f.ClusterName == "" {
  		return trace.BadParameter("missing parameter LocalCluster")
  	}
  	if f.Keygen == nil {
  		return trace.BadParameter("missing parameter Keygen")
  	}
  	if f.DataDir == "" {
  		return trace.BadParameter("missing parameter DataDir")
  	}
  	if f.ServerID == "" {
  		return trace.BadParameter("missing parameter ServerID")
  	}
  	if f.TargetAddr == "" {
  		f.TargetAddr = teleport.KubeServiceAddr
  	}
  	if f.Namespace == "" {
  		f.Namespace = defaults.Namespace
  	}
  	if f.Context == nil {
  		f.Context = context.TODO()
  	}
  	if f.Clock == nil {
  		f.Clock = clockwork.NewRealClock()
  	}
  	return nil
  }
docs: // CheckAndSetDefaults checks and sets default values