During desired nodes updates the system validates that the provided node settings are valid in order to avoid boot looping issues. If one of the node settings depends on a secure setting, the validation fails even when the secure setting is present and correct.
server/src/main/java/org/elasticsearch/node/Node.java
throw new IllegalStateException("A single TelemetryPlugin was expected but got: " + telemetryPlugins);
        }
        return telemetryPlugins.isEmpty() ? TelemetryProvider.NOOP : telemetryPlugins.get(0).getTelemetryProvider(settings);
    }
    private HealthService createHealthService(
        ClusterService clusterService,
        ClusterModule clusterModule,
        CoordinationDiagnosticsService coordinationDiagnosticsService,
        ThreadPool threadPool,
        SystemIndices systemIndices
    ) {
        var serverHealthIndicatorServices = List.of(
            new StableMasterHealthIndicatorService(coordinationDiagnosticsService, clusterService),
            new RepositoryIntegrityHealthIndicatorService(clusterService),
            new ShardsAvailabilityHealthIndicatorService(clusterService, clusterModule.getAllocationService(), systemIndices),
            new DiskHealthIndicatorService(clusterService),
            new ShardsCapacityHealthIndicatorService(clusterService)
        );
        var pluginHealthIndicatorServices = pluginsService.filterPlugins(HealthPlugin.class)
            .stream()
            .flatMap(plugin -> plugin.getHealthIndicatorServices().stream())
            .toList();
        return new HealthService(concatLists(serverHealthIndicatorServices, pluginHealthIndicatorServices), threadPool);
    }
    private HealthPeriodicLogger createHealthPeriodicLogger(
        ClusterService clusterService,
        Settings settings,
        NodeClient client,
        HealthService healthService
    ) {