code: func (v *Vibranium) AddNode(ctx context.Context, opts *pb.AddNodeOptions) (*pb.Node, error) {
  	n, err := v.cluster.AddNode(
  		ctx,
  		opts.Nodename,
  		opts.Endpoint,
  		opts.Podname,
  		opts.Ca,
  		opts.Cert,
  		opts.Key,
  		int(opts.Cpu),
  		int(opts.Share),
  		opts.Memory,
  		opts.Labels,
  	)
  	if err != nil {
  		return nil, err
  	}
  
  	return toRPCNode(ctx, n), nil
  }
docs: // AddNode saves a node and returns it to client
  // Method must be called synchronously, or nothing will be returned