IndexTemplates doEnsureIndexTemplates() {
    try {
      HttpCall.Factory http = http();
      IndexTemplates templates = versionSpecificTemplates(version());
      ensureIndexTemplate(http, buildUrl(templates, TYPE_SPAN), templates.span());
      ensureIndexTemplate(http, buildUrl(templates, TYPE_DEPENDENCY), templates.dependency());
      ensureIndexTemplate(http, buildUrl(templates, TYPE_AUTOCOMPLETE), templates.autocomplete());
      return templates;
    } catch (IOException e) {
      throw new UncheckedIOException(e);
    }
  }
This allows the health check to display problems, such as access, installing the index
template. It also helps reduce traffic sent to nodes still initializing (when guarded on the
check result). Finally, this reads the cluster health of the index as it can go down after the
one-time initialization passes.
zipkin-storage/elasticsearch/src/main/java/zipkin2/elasticsearch/ElasticsearchStorage.java