internal/cluster/cluster.go
func (c *Cluster) Connect(ctx context.Context, opts ...grpc.DialOption) error {
	for i, n := range c.nodes {
		if n.Addr == c.listen {
			continue
		}

		if c.logger != nil {
			c.logger.Debug("cluster node attempt to connect", zap.String("address", n.Addr), zap.Int("index", i))
		}

		conn, err := grpc.DialContext(ctx, n.Addr, opts...)
		if err != nil {
			return err
		}

		if c.logger != nil {
			c.logger.Debug("cluster node connection success", zap.String("address", n.Addr), zap.Int("index", i))
		}

		n.Client = mnemosynerpc.NewSessionManagerClient(conn)
		n.Health = grpc_health_v1.NewHealthClient(conn)
	}

	return nil
}
func (c *Cluster) Connect(ctx context.Context, opts ...grpc.DialOption) error {
	for i, n := range c.nodes {
		if n.Addr == c.listen {
			continue
		}

		if c.logger != nil {
			c.logger.Debug("cluster node attempt to connect", zap.String("address", n.Addr), zap.Int("index", i))
		}

		conn, err := grpc.DialContext(ctx, n.Addr, opts...)
		if err != nil {
			return err
		}

		if c.logger != nil {
			c.logger.Debug("cluster node connection success", zap.String("address", n.Addr), zap.Int("index", i))
		}

		n.Client = mnemosynerpc.NewSessionManagerClient(conn)
		n.Health = grpc_health_v1.NewHealthClient(conn)
	}

	return nil
}
// Connect ...