code: func newSecretsObject(key string, rls *rspb.Release, lbs labels) (*v1.Secret, error) {
  	const owner = "TILLER"
  
  	// encode the release
  	s, err := encodeRelease(rls)
  	if err != nil {
  		return nil, err
  	}
  
  	if lbs == nil {
  		lbs.init()
  	}
  
  	// apply labels
  	lbs.set("NAME", rls.Name)
  	lbs.set("OWNER", owner)
  	lbs.set("STATUS", rspb.Status_Code_name[int32(rls.Info.Status.Code)])
  	lbs.set("VERSION", strconv.Itoa(int(rls.Version)))
  
  	// create and return secret object
  	return &v1.Secret{
  		ObjectMeta: metav1.ObjectMeta{
  			Name:   key,
  			Labels: lbs.toMap(),
  		},
  		Data: map[string][]byte{"release": []byte(s)},
  	}, nil
  }
docs: // newSecretsObject constructs a kubernetes Secret object
  // to store a release. Each secret data entry is the base64
  // encoded string of a release's binary protobuf encoding.
  //
  // The following labels are used within each secret:
  //
  //    "MODIFIED_AT"    - timestamp indicating when this secret was last modified. (set in Update)
  //    "CREATED_AT"     - timestamp indicating when this secret was created. (set in Create)
  //    "VERSION"        - version of the release.
  //    "STATUS"         - status of the release (see proto/hapi/release.status.pb.go for variants)
  //    "OWNER"          - owner of the secret, currently "TILLER".
  //    "NAME"           - name of the release.
  //