code: func (v *Vibranium) DeployStatus(opts *pb.DeployStatusOptions, stream pb.CoreRPC_DeployStatusServer) error {
  	log.Infof("[rpc] DeployStatus start %s", opts.Appname)
  	defer log.Infof("[rpc] DeployStatus stop %s", opts.Appname)
  
  	ch := v.cluster.DeployStatusStream(stream.Context(), opts.Appname, opts.Entrypoint, opts.Nodename)
  	for {
  		select {
  		case m, ok := <-ch:
  			if !ok {
  				return nil
  			}
  			if m.Err != nil {
  				return m.Err
  			}
  			if err := stream.Send(&pb.DeployStatusMessage{
  				Action:     m.Action,
  				Appname:    m.Appname,
  				Entrypoint: m.Entrypoint,
  				Nodename:   m.Nodename,
  				Id:         m.ID,
  				Data:       []byte(m.Data),
  			}); err != nil {
  				v.logUnsentMessages("DeployStatus", m)
  			}
  		case <-v.rpcch:
  			return nil
  		}
  	}
  }
docs: // DeployStatus watch and show deployed status