private static ContainerCluster containerCluster()

in src/main/java/com/vispana/vespa/state/assemblers/ContainerAssembler.java [41:70]


  private static ContainerCluster containerCluster(
      String configHost, Map<String, MetricsNode> vespaMetrics, ContainerSchema containerSchema) {
    var nodesInCluster =
        containerSchema.getServices().stream()
            .map(
                service -> {
                  var hostname = service.getHostname();
                  var queryPort =
                      service.getPorts().stream()
                          .filter(port -> port.getTags().contains("query"))
                          .map(port -> port.getNumber())
                          .findFirst()
                          .orElse(-1L);
                  var processStatus = processStatus(hostname, vespaMetrics);
                  var systemMetrics = systemMetrics(vespaMetrics.get(hostname));
                  return new ContainerNode(
                      service.getIndex().toString(),
                      new Host(hostname, queryPort.intValue()),
                      processStatus,
                      systemMetrics);
                })
            .toList();
    var clusterId = containerSchema.getClusterId();
    var containerType = fetchContainerType(configHost, clusterId);

    var canIndex = containerType.canIndex();
    var canSearch = containerType.canSearch();

    return new ContainerCluster(clusterId, nodesInCluster, canIndex, canSearch);
  }