NodeService(Settings settings, ThreadPool threadPool, MonitorService monitorService, Discovery discovery, TransportService transportService, IndicesService indicesService, PluginsService pluginService, CircuitBreakerService circuitBreakerService, ScriptService scriptService, @Nullable HttpServerTransport httpServerTransport, IngestService ingestService, ClusterService clusterService, SettingsFilter settingsFilter) { super(settings); this.threadPool = threadPool; this.monitorService = monitorService; this.transportService = transportService; this.indicesService = indicesService; this.discovery = discovery; this.pluginService = pluginService; this.circuitBreakerService = circuitBreakerService; this.httpServerTransport = httpServerTransport; this.ingestService = ingestService; this.settingsFilter = settingsFilter; this.scriptService = scriptService; clusterService.addStateApplier(ingestService.getPipelineStore()); clusterService.addStateApplier(ingestService.getPipelineExecutionService()); }
public void testSettingsFiltering() throws IOException { AzureRepositoryPlugin p = new AzureRepositoryPlugin(); SettingsModule module = new SettingsModule(Settings.EMPTY, p.getSettings(), p.getSettingsFilter()); SettingsFilter settingsFilter = ModuleTestCase.bindAndGetInstance(module, SettingsFilter.class); // Test using direct filtering Settings filteredSettings = settingsFilter.filter(settings); assertThat(filteredSettings.getAsMap().keySet(), contains("cloud.azure.storage.azure1.default")); // Test using toXContent filtering RestRequest request = new FakeRestRequest(); settingsFilter.addFilterSettingParams(request); XContentBuilder xContentBuilder = XContentBuilder.builder(JsonXContent.jsonXContent); xContentBuilder.startObject(); settings.toXContent(xContentBuilder, request); xContentBuilder.endObject(); String filteredSettingsString = xContentBuilder.string(); filteredSettings = Settings.builder().loadFromSource(filteredSettingsString, xContentBuilder.contentType()).build(); assertThat(filteredSettings.getAsMap().keySet(), contains("cloud.azure.storage.azure1.default")); }
@Override public List<RestHandler> getRestHandlers(Settings settings, RestController restController, ClusterSettings clusterSettings, IndexScopedSettings indexScopedSettings, SettingsFilter settingsFilter, IndexNameExpressionResolver indexNameExpressionResolver, Supplier<DiscoveryNodes> nodesInCluster) { return Arrays.asList( new RestSearchTemplateAction(settings, restController), new RestMultiSearchTemplateAction(settings, restController), new RestGetSearchTemplateAction(settings, restController), new RestPutSearchTemplateAction(settings, restController), new RestDeleteSearchTemplateAction(settings, restController), new RestRenderSearchTemplateAction(settings, restController)); }
@Override public List<RestHandler> getRestHandlers(Settings settings, RestController restController, ClusterSettings clusterSettings, IndexScopedSettings indexScopedSettings, SettingsFilter settingsFilter, IndexNameExpressionResolver indexNameExpressionResolver, Supplier<DiscoveryNodes> nodesInCluster) { return Arrays.asList( new RestReindexAction(settings, restController), new RestUpdateByQueryAction(settings, restController), new RestDeleteByQueryAction(settings, restController), new RestRethrottleAction(settings, restController, nodesInCluster)); }
@Override public List<RestHandler> getRestHandlers(Settings settings, RestController restController, ClusterSettings clusterSettings, IndexScopedSettings indexScopedSettings, SettingsFilter settingsFilter, IndexNameExpressionResolver indexNameExpressionResolver, Supplier<DiscoveryNodes> nodesInCluster) { return Arrays.asList( new RestNoopBulkAction(settings, restController), new RestNoopSearchAction(settings, restController)); }
public RestGetSettingsAction(Settings settings, RestController controller, IndexScopedSettings indexScopedSettings, final SettingsFilter settingsFilter) { super(settings); this.indexScopedSettings = indexScopedSettings; controller.registerHandler(GET, "/{index}/_settings/{name}", this); controller.registerHandler(GET, "/_settings/{name}", this); controller.registerHandler(GET, "/{index}/_setting/{name}", this); this.settingsFilter = settingsFilter; }
public RestGetIndicesAction( final Settings settings, final RestController controller, final IndexScopedSettings indexScopedSettings, final SettingsFilter settingsFilter) { super(settings); this.indexScopedSettings = indexScopedSettings; controller.registerHandler(GET, "/{index}", this); controller.registerHandler(HEAD, "/{index}", this); controller.registerHandler(GET, "/{index}/{type}", this); this.settingsFilter = settingsFilter; }
public RestNodesInfoAction(Settings settings, RestController controller, SettingsFilter settingsFilter) { super(settings); controller.registerHandler(GET, "/_nodes", this); // this endpoint is used for metrics, not for node IDs, like /_nodes/fs controller.registerHandler(GET, "/_nodes/{nodeId}", this); controller.registerHandler(GET, "/_nodes/{nodeId}/{metrics}", this); // added this endpoint to be aligned with stats controller.registerHandler(GET, "/_nodes/{nodeId}/info/{metrics}", this); this.settingsFilter = settingsFilter; }
public RestClusterStateAction(Settings settings, RestController controller, SettingsFilter settingsFilter) { super(settings); controller.registerHandler(RestRequest.Method.GET, "/_cluster/state", this); controller.registerHandler(RestRequest.Method.GET, "/_cluster/state/{metric}", this); controller.registerHandler(RestRequest.Method.GET, "/_cluster/state/{metric}/{indices}", this); this.settingsFilter = settingsFilter; }
public RestClusterGetSettingsAction(Settings settings, RestController controller, ClusterSettings clusterSettings, SettingsFilter settingsFilter) { super(settings); this.clusterSettings = clusterSettings; controller.registerHandler(RestRequest.Method.GET, "/_cluster/settings", this); this.settingsFilter = settingsFilter; }
@Inject public TransportGetSettingsAction(Settings settings, TransportService transportService, ClusterService clusterService, ThreadPool threadPool, SettingsFilter settingsFilter, ActionFilters actionFilters, IndexNameExpressionResolver indexNameExpressionResolver) { super(settings, GetSettingsAction.NAME, transportService, clusterService, threadPool, actionFilters, indexNameExpressionResolver, GetSettingsRequest::new); this.settingsFilter = settingsFilter; }
@Override public List<RestHandler> getRestHandlers(Settings settings, RestController restController, ClusterSettings clusterSettings, IndexScopedSettings indexScopedSettings, SettingsFilter settingsFilter, IndexNameExpressionResolver indexNameExpressionResolver, Supplier<DiscoveryNodes> nodesInCluster) { logger.debug("Registering REST handlers"); handlers.forEach((key, value) -> restController.registerHandler(GET, key, value)); return new ArrayList<>(handlers.values()); }
@Override public List<RestHandler> getRestHandlers(Settings settings, RestController restController, ClusterSettings clusterSettings, IndexScopedSettings indexScopedSettings, SettingsFilter settingsFilter, IndexNameExpressionResolver indexNameExpressionResolver, Supplier<DiscoveryNodes> nodesInCluster) { return Arrays.asList(new ReportGenerateRestAction(settings, restController)); }
@Override public List<RestHandler> getRestHandlers(final Settings settings, final RestController restController, final ClusterSettings clusterSettings, final IndexScopedSettings indexScopedSettings, final SettingsFilter settingsFilter, final IndexNameExpressionResolver indexNameExpressionResolver, final Supplier<DiscoveryNodes> nodesInCluster) { return Arrays.asList(new RestIndexingProxyProcessAction(settings, restController, pluginComponent), new RestIndexingProxyRequestAction(settings, restController, pluginComponent)); }
@Inject public RestGetRepositoriesAction(Settings settings, RestController controller, Client client, SettingsFilter settingsFilter) { super(settings, controller, client); controller.registerHandler(GET, "/_snapshot", this); controller.registerHandler(GET, "/_snapshot/{repository}", this); this.settingsFilter = settingsFilter; }
@Inject public RestClusterStateAction(Settings settings, RestController controller, Client client, SettingsFilter settingsFilter) { super(settings, controller, client); controller.registerHandler(RestRequest.Method.GET, "/_cluster/state", this); controller.registerHandler(RestRequest.Method.GET, "/_cluster/state/{metric}", this); controller.registerHandler(RestRequest.Method.GET, "/_cluster/state/{metric}/{indices}", this); this.settingsFilter = settingsFilter; }
@Inject public RestNodesInfoAction(Settings settings, RestController controller, Client client, SettingsFilter settingsFilter) { super(settings, controller, client); controller.registerHandler(GET, "/_nodes", this); // this endpoint is used for metrics, not for nodeIds, like /_nodes/fs controller.registerHandler(GET, "/_nodes/{nodeId}", this); controller.registerHandler(GET, "/_nodes/{nodeId}/{metrics}", this); // added this endpoint to be aligned with stats controller.registerHandler(GET, "/_nodes/{nodeId}/info/{metrics}", this); this.settingsFilter = settingsFilter; }
@Inject public TransportGetSettingsAction(Settings settings, TransportService transportService, ClusterService clusterService, ThreadPool threadPool, SettingsFilter settingsFilter, ActionFilters actionFilters, IndexNameExpressionResolver indexNameExpressionResolver) { super(settings, GetSettingsAction.NAME, transportService, clusterService, threadPool, actionFilters, indexNameExpressionResolver, GetSettingsRequest.class); this.settingsFilter = settingsFilter; }
@Override protected void masterOperation(GetSettingsRequest request, ClusterState state, ActionListener<GetSettingsResponse> listener) { String[] concreteIndices = indexNameExpressionResolver.concreteIndices(state, request); ImmutableOpenMap.Builder<String, Settings> indexToSettingsBuilder = ImmutableOpenMap.builder(); for (String concreteIndex : concreteIndices) { IndexMetaData indexMetaData = state.getMetaData().index(concreteIndex); if (indexMetaData == null) { continue; } Settings settings = SettingsFilter.filterSettings(settingsFilter.getPatterns(), indexMetaData.getSettings()); if (request.humanReadable()) { settings = IndexMetaData.addHumanReadableSettings(settings); } if (!CollectionUtils.isEmpty(request.names())) { Settings.Builder settingsBuilder = Settings.builder(); for (Map.Entry<String, String> entry : settings.getAsMap().entrySet()) { if (Regex.simpleMatch(request.names(), entry.getKey())) { settingsBuilder.put(entry.getKey(), entry.getValue()); } } settings = settingsBuilder.build(); } indexToSettingsBuilder.put(concreteIndex, settings); } listener.onResponse(new GetSettingsResponse(indexToSettingsBuilder.build())); }
@Override public List<RestHandler> getRestHandlers(Settings settings, RestController restController, ClusterSettings clusterSettings, IndexScopedSettings indexScopedSettings, SettingsFilter settingsFilter, IndexNameExpressionResolver indexNameExpressionResolver, Supplier<DiscoveryNodes> nodesInCluster) { log(1, "---> getRestHandlers"); return Arrays.asList(new RestConsoleAction(settings, restController, clusterSettings, settingsFilter)); }
public RestConsoleAction(Settings settings, RestController controller, ClusterSettings clusterSettings, SettingsFilter settingsFilter) { super(settings); // TODO Auto-generated constructor stub controller.registerHandler(Method.GET, "/_console", this); controller.registerHandler(Method.GET, "/_console/{action}", this); String path = Common.getPathResources(settings); this.getPath = path; log(9, path); }
@Override public List<RestHandler> getRestHandlers(Settings settings, RestController restController, ClusterSettings clusterSettings, IndexScopedSettings indexScopedSettings, SettingsFilter settingsFilter, IndexNameExpressionResolver indexNameExpressionResolver, Supplier<DiscoveryNodes> nodesInCluster) { List<RestHandler> list = new ArrayList<>(); RestSimpleFeatureStore.register(list, settings, restController); list.add(new RestFeatureStoreCaches(settings, restController)); list.add(new RestCreateModelFromSet(settings, restController)); list.add(new RestAddFeatureToSet(settings, restController)); return unmodifiableList(list); }
@Override public List<RestHandler> getRestHandlers(Settings settings, RestController restController, ClusterSettings clusterSettings, IndexScopedSettings indexScopedSettings, SettingsFilter settingsFilter, IndexNameExpressionResolver indexNameExpressionResolver, Supplier<DiscoveryNodes> nodesInCluster) { log(1, "---> getRestHandlers"); return Arrays.asList(new RestSpToolsAction(settings, restController), new RestConsoleAction(settings, restController, clusterSettings, settingsFilter)); }
@Override public List<RestHandler> getRestHandlers(Settings settings, RestController restController, ClusterSettings clusterSettings, IndexScopedSettings indexScopedSettings, SettingsFilter settingsFilter, IndexNameExpressionResolver indexNameExpressionResolver, Supplier<DiscoveryNodes> nodesInCluster) { final List<RestHandler> handlers = new ArrayList<RestHandler>(1); if (!client && !tribeNodeClient && !disabled) { handlers.addAll(super.getRestHandlers(settings, restController, clusterSettings, indexScopedSettings, settingsFilter, indexNameExpressionResolver, nodesInCluster)); handlers.add(new SearchGuardInfoAction(settings, restController, Objects.requireNonNull(evaluator), Objects.requireNonNull(threadPool))); handlers.add(new KibanaInfoAction(settings, restController, Objects.requireNonNull(evaluator), Objects.requireNonNull(threadPool))); handlers.add(new SearchGuardLicenseAction(settings, restController)); handlers.add(new SearchGuardHealthAction(settings, restController, Objects.requireNonNull(backendRegistry))); Collection<RestHandler> apiHandler = ReflectionHelper .instantiateMngtRestApiHandler(settings, configPath, restController, localClient, adminDns, cr, cs, Objects.requireNonNull(principalExtractor), evaluator, threadPool, Objects.requireNonNull(auditLog)); handlers.addAll(apiHandler); log.debug("Added {} management rest handler(s)", apiHandler.size()); } final Set<ModuleInfo> sgModules = ReflectionHelper.getModulesLoaded(); log.info("{} Search Guard modules loaded so far: {}", sgModules.size(), sgModules); return handlers; }
@Override public List<RestHandler> getRestHandlers(Settings settings, RestController restController, ClusterSettings clusterSettings, IndexScopedSettings indexScopedSettings, SettingsFilter settingsFilter, IndexNameExpressionResolver indexNameExpressionResolver, Supplier<DiscoveryNodes> nodesInCluster) { final List<RestHandler> handlers = new ArrayList<RestHandler>(1); if (!client) { handlers.add(new SearchGuardSSLInfoAction(settings, configPath, restController, sgks, Objects.requireNonNull(principalExtractor))); } return handlers; }
@Override public List<RestHandler> getRestHandlers(final Settings settings, final RestController restController, final ClusterSettings clusterSettings, final IndexScopedSettings indexScopedSettings, final SettingsFilter settingsFilter, final IndexNameExpressionResolver indexNameExpressionResolver, final Supplier<DiscoveryNodes> nodesInCluster) { final ConfigSyncService service = pluginComponent.getConfigSyncService(); return Arrays.asList(// new RestConfigSyncFileAction(settings, restController, service), // new RestConfigSyncResetAction(settings, restController, service), // new RestConfigSyncFlushAction(settings, restController, service), // new RestConfigSyncWaitAction(settings, restController, service)); }
@Override public List<RestHandler> getRestHandlers(final Settings settings, final RestController restController, final ClusterSettings clusterSettings, final IndexScopedSettings indexScopedSettings, final SettingsFilter settingsFilter, final IndexNameExpressionResolver indexNameExpressionResolver, final Supplier<DiscoveryNodes> nodesInCluster) { return Arrays.asList(// new RestSearchScriptTemplateAction(settings, restController), // new RestMultiSearchScriptTemplateAction(settings, restController), // new RestGetSearchScriptTemplateAction(settings, restController), // new RestPutSearchScriptTemplateAction(settings, restController), // new RestDeleteSearchScriptTemplateAction(settings, restController), // new RestRenderSearchScriptTemplateAction(settings, restController)); }
@Override public List<RestHandler> getRestHandlers(Settings settings, RestController restController, ClusterSettings clusterSettings, IndexScopedSettings indexScopedSettings, SettingsFilter settingsFilter, IndexNameExpressionResolver indexNameExpressionResolver, Supplier<DiscoveryNodes> nodesInCluster) { List<RestHandler> extra = new ArrayList<>(); extra.add(new RestISBNFormatterAction(settings, restController)); extra.add(new RestLangdetectAction(settings, restController)); return extra; }
@Override public List<RestHandler> getRestHandlers(final Settings settings, final RestController restController, final ClusterSettings clusterSettings, final IndexScopedSettings indexScopedSettings, final SettingsFilter settingsFilter, final IndexNameExpressionResolver indexNameExpressionResolver, final Supplier<DiscoveryNodes> nodesInCluster) { return Arrays.asList(new RestDataAction(settings, restController)); }
@Override public List<RestHandler> getRestHandlers(Settings settings, RestController restController, ClusterSettings clusterSettings, IndexScopedSettings indexScopedSettings, SettingsFilter settingsFilter, IndexNameExpressionResolver indexNameExpressionResolver, Supplier<DiscoveryNodes> nodesInCluster) { return Arrays.asList( new ClusteringAction.RestClusteringAction(settings, restController), new ListAlgorithmsAction.RestListAlgorithmsAction(settings, restController)); }
@Inject public Exporter(VersionFetchSubPhase versionPhase, Injector injector, SettingsFilter settingsFilter) { this.fetchSubPhases = new FetchSubPhase[]{versionPhase}; this.injector = injector; this.settingsFilter = settingsFilter; }
@Override protected XContentBuilder toXContent(ClusterRerouteRequest request, ClusterRerouteResponse response, XContentBuilder builder) throws IOException { builder.startObject(); builder.field(Fields.OK, true); builder.startObject("state"); response.getState().settingsFilter(new SettingsFilter(ImmutableSettings.settingsBuilder().build())).toXContent(builder, ToXContent.EMPTY_PARAMS); builder.endObject(); builder.endObject(); return builder; }
@Override protected XContentBuilder toXContent(NodesInfoRequest request, NodesInfoResponse response, XContentBuilder builder) throws IOException { response.settingsFilter(new SettingsFilter(ImmutableSettings.settingsBuilder().build())); builder.startObject(); builder.field(Fields.OK, true); response.toXContent(builder, ToXContent.EMPTY_PARAMS); builder.endObject(); return builder; }
@Override protected XContentBuilder toXContent(ClusterStateRequest request, ClusterStateResponse response, XContentBuilder builder) throws IOException { builder.startObject(); builder.field(Fields.CLUSTER_NAME, response.getClusterName().value()); response.getState().settingsFilter(new SettingsFilter(ImmutableSettings.settingsBuilder().build())).toXContent(builder, ToXContent.EMPTY_PARAMS); builder.endObject(); return builder; }
@Override public List<RestHandler> getRestHandlers(Settings settings, RestController restController, ClusterSettings clusterSettings, IndexScopedSettings indexScopedSettings, SettingsFilter settingsFilter, IndexNameExpressionResolver indexNameExpressionResolver, Supplier<DiscoveryNodes> nodesInCluster) { return Collections.singletonList(new TestDeprecationHeaderRestAction(settings, restController)); }
@Override public List<RestHandler> getRestHandlers(Settings settings, RestController restController, ClusterSettings clusterSettings, IndexScopedSettings indexScopedSettings, SettingsFilter settingsFilter, IndexNameExpressionResolver indexNameExpressionResolver, Supplier<DiscoveryNodes> nodesInCluster) { return singletonList(new TestResponseHeaderRestAction(settings, restController)); }
public RestClusterRerouteAction(Settings settings, RestController controller, SettingsFilter settingsFilter) { super(settings); this.settingsFilter = settingsFilter; controller.registerHandler(RestRequest.Method.POST, "/_cluster/reroute", this); }
public RestGetRepositoriesAction(Settings settings, RestController controller, SettingsFilter settingsFilter) { super(settings); controller.registerHandler(GET, "/_snapshot", this); controller.registerHandler(GET, "/_snapshot/{repository}", this); this.settingsFilter = settingsFilter; }
/** * Rest handlers added by this plugin. */ default List<RestHandler> getRestHandlers(Settings settings, RestController restController, ClusterSettings clusterSettings, IndexScopedSettings indexScopedSettings, SettingsFilter settingsFilter, IndexNameExpressionResolver indexNameExpressionResolver, Supplier<DiscoveryNodes> nodesInCluster) { return Collections.emptyList(); }