In #86101 we added a warning if bootstrapping was incorrectly configured (and in #92744 we changed it to be emitted every 12h). The logic introduced doesn't take account of `discovery.type: single-node`, so explicitly-single-node clusters will always emit this warning even though they are correctly configured.

Relates https://github.com/elastic/elasticsearch/issues/58393.
server/src/main/java/org/elasticsearch/cluster/coordination/ClusterBootstrapService.java
|| discoveryNode.getAddress().getAddress().equals(requirement);
    }
    private Tuple<Set<DiscoveryNode>, List<String>> checkRequirements(Set<DiscoveryNode> nodes) {
        final Set<DiscoveryNode> selectedNodes = new HashSet<>();
        final List<String> unmatchedRequirements = new ArrayList<>();
        for (final String bootstrapRequirement : bootstrapRequirements) {
            final Set<DiscoveryNode> matchingNodes = nodes.stream()
                .filter(n -> matchesRequirement(n, bootstrapRequirement))
                .collect(Collectors.toSet());
            if (matchingNodes.size() == 0) {
                unmatchedRequirements.add(bootstrapRequirement);
            }
            if (matchingNodes.size() > 1) {
                throw new IllegalStateException("requirement [" + bootstrapRequirement + "] matches multiple nodes: " + matchingNodes);
            }
            for (final DiscoveryNode matchingNode : matchingNodes) {
                if (selectedNodes.add(matchingNode) == false) {
                    throw new IllegalStateException(
                        "node ["
                            + matchingNode
                            + "] matches multiple requirements: "
                            + bootstrapRequirements.stream().filter(r -> matchesRequirement(matchingNode, r)).toList()
                    );
                }
            }
        }
        return Tuple.tuple(selectedNodes, unmatchedRequirements);
    }
}