@@ -19,6 +19,7 @@ import org.opensearch.core.common.io.stream.NamedWriteableRegistry
19
19
import org.opensearch.core.xcontent.NamedXContentRegistry
20
20
import org.opensearch.env.Environment
21
21
import org.opensearch.env.NodeEnvironment
22
+ import org.opensearch.indices.SystemIndexDescriptor
22
23
import org.opensearch.observability.action.CreateObservabilityObjectAction
23
24
import org.opensearch.observability.action.DeleteObservabilityObjectAction
24
25
import org.opensearch.observability.action.GetObservabilityObjectAction
@@ -29,6 +30,7 @@ import org.opensearch.observability.resthandler.ObservabilityStatsRestHandler
29
30
import org.opensearch.observability.settings.PluginSettings
30
31
import org.opensearch.plugins.ActionPlugin
31
32
import org.opensearch.plugins.Plugin
33
+ import org.opensearch.plugins.SystemIndexPlugin
32
34
import org.opensearch.repositories.RepositoriesService
33
35
import org.opensearch.rest.RestController
34
36
import org.opensearch.rest.RestHandler
@@ -41,7 +43,7 @@ import java.util.function.Supplier
41
43
* Entry point of the OpenSearch Observability plugin.
42
44
* This class initializes the rest handlers.
43
45
*/
44
- class ObservabilityPlugin : Plugin (), ActionPlugin {
46
+ class ObservabilityPlugin : Plugin (), ActionPlugin, SystemIndexPlugin {
45
47
46
48
companion object {
47
49
const val PLUGIN_NAME = " opensearch-observability"
@@ -57,6 +59,16 @@ class ObservabilityPlugin : Plugin(), ActionPlugin {
57
59
return PluginSettings .getAllSettings()
58
60
}
59
61
62
+ /* *
63
+ * {@inheritDoc}
64
+ */
65
+ override fun getSystemIndexDescriptors (settings : Settings ): Collection <SystemIndexDescriptor > {
66
+ return listOf (
67
+ SystemIndexDescriptor (ObservabilityIndex .INDEX_NAME , " Observability Plugin Configuration index" ),
68
+ SystemIndexDescriptor (ObservabilityIndex .NOTEBOOKS_INDEX_NAME , " Observability Plugin Notebooks index" )
69
+ )
70
+ }
71
+
60
72
/* *
61
73
* {@inheritDoc}
62
74
*/
0 commit comments