Adding Route model and APIs

Why not just make the ID the alias?  Name is acquiring a very specific meaning in Kube, and I don't know that as it's used here it matches.  Is alias supposed to be unique?  Can there be multiple aliases pointing to different services?  Either way, why?  We've said that routes get bound to routers - can I bind the same route to multiple routers? (trick question, the answer has to be yes).  Can routes include paths?  Are routes protocol specific (contradicts previous if path is part of alias)?  What if I try to register an alias someone else has already created?  

> On Sep 23, 2014, at 7:03 PM, Abhishek Gupta <notifications@github.com> wrote:
> 
> In pkg/route/registry/etcd/etcd.go:
> 
> > +	return etcderr.InterpretUpdateError(err, "route", route.ID)
> > +}
> > +
> > +// DeleteRoute deletes a Route specified by its ID.
> > +func (registry *Etcd) DeleteRoute(routeID string) error {
> > +	key := makeRouteKey(routeID)
> > +	err := registry.Delete(key, true)
> > +	return etcderr.InterpretDeleteError(err, "route", routeID)
> > +}
> > +
> > +// WatchRoutes begins watching for new, changed, or deleted route configurations.
> > +func (registry *Etcd) WatchRoutes(label, field labels.Selector, resourceVersion uint64) (watch.Interface, error) {
> > +	if !label.Empty() {
> > +		return nil, fmt.Errorf("label selectors are not supported on routes yet")
> > +	}
> > +	if value, found := field.RequiresExactMatch("ID"); found {
> ID is the identifier for the the Route resource and is used for accessing the resource from etcd. 
> Name is the alias/DNS entry for the service. We had earlier talked about this attribute and after rejecting "Alias", "Frontend", "DNS", etc. we decided to stick with "Name".
> 
> Name will be used by the router to create the frontend mapping in its configuration. I have mentioned this in the doc. If you have an alternative name, I can change it.
> 
> —
> Reply to this email directly or view it on GitHub.