Settings and srv resolvers are contained in PUP-10037, as they are needed to connect to the CA. So this ticket is just to add the server_list resolver.
Each resolver should resolve the host and port for a service based on its name and offer multiple candidates. * The settings resolve should use the corresponding Puppet settings. For example, the CA service should resolve to {{Puppet[:ca_server]}} and {{Puppet[:ca_port]}}, which default to the {{Puppet[HTTP:server]}} and {{Puppet[:masterport]}}.Resolver::ServerList should implement the Resolver interface * The server_list resolver should use {{PuppetPuppett[:server_list]}} to yield servers * The SRV resolver should use Should try to make GET request to the service name simple status endpoint to see if the server is available * Only if the HTTP request is 200 do we use that server * Default port to {{masterport}} if port is omitted from server_list * Rescue exceptions, log debug message, and SRV domain continue next server