code: func (c *kregistry) Register(s *registry.Service, opts ...registry.RegisterOption) error {
  	if len(s.Nodes) == 0 {
  		return errors.New("you must register at least one node")
  	}
  
  	// TODO: grab podname from somewhere better than this.
  	podName := os.Getenv("HOSTNAME")
  	svcName := s.Name
  
  	// encode micro service
  	b, err := json.Marshal(s)
  	if err != nil {
  		return err
  	}
  	svc := string(b)
  
  	pod := &client.Pod{
  		Metadata: &client.Meta{
  			Labels: map[string]*string{
  				labelTypeKey:                             &labelTypeValueService,
  				svcSelectorPrefix + serviceName(svcName): &svcSelectorValue,
  			},
  			Annotations: map[string]*string{
  				annotationServiceKeyPrefix + serviceName(svcName): &svc,
  			},
  		},
  	}
  
  	if _, err := c.client.UpdatePod(podName, pod); err != nil {
  		return err
  	}
  
  	return nil
  
  }
docs: // Register sets a service selector label and an annotation with a
  // serialised version of the service passed in.