code: func (p *Plugin) Init() (err error) {
  	// Get GRPC configuration file
  	if p.Config == nil {
  		p.Config, err = p.getGrpcConfig()
  		if err != nil || p.disabled {
  			return err
  		}
  	}
  
  	// Prepare GRPC server
  	if p.grpcServer == nil {
  		opts := p.Config.getGrpcOptions()
  		if p.tlsConfig != nil {
  			opts = append(opts, grpc.Creds(credentials.NewTLS(p.tlsConfig)))
  		}
  		if p.auther != nil {
  			p.Log.Info("Token authentication for gRPC enabled")
  			opts = append(opts, grpc.StreamInterceptor(grpc_auth.StreamServerInterceptor(p.auther.Authenticate)))
  			opts = append(opts, grpc.UnaryInterceptor(grpc_auth.UnaryServerInterceptor(p.auther.Authenticate)))
  		}
  		p.grpcServer = grpc.NewServer(opts...)
  
  		//grpclog.SetLogger(p.Log.NewLogger("grpc-server"))
  	}
  
  	return nil
  }
docs: // Init prepares GRPC netListener for registration of individual service