Add a validator for validating components in the cluster infrastructure.

Closes #1295 
Not sure why this makes it harder to replica the apiserver.  This is a
stateless validation layer, intended for cluster debugging, it should work
from any apiserver no matter how many there are.

--brendan

On Fri, Sep 12, 2014 at 3:00 PM, Daniel Smith <notifications@github.com>
wrote:

> In pkg/apiserver/validator.go:
>
> > +)
> > +
> > +// TODO: this basic interface is duplicated in N places.  consolidate?
> > +type httpGet interface {
> > +	Get(url string) (*http.Response, error)
> > +}
> > +
> > +type server struct {
> > +	addr string
> > +	port int
> > +}
> > +
> > +// validator is responsible for validating the cluster and serving
> > +type validator struct {
> > +	// a list of servers to health check
> > +	servers map[string]server
>
> Not sure about this... it's making it harder to replicate apiserver. What
> do you think about pushing down into etcd: having the components check in
> with their addresses periodically, and storing that in etcd with a ttl?
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/GoogleCloudPlatform/kubernetes/pull/1302/files#r17505006>
> .
>