From 63d9126f209fd92207c9a5c38ac14e0ee4e68a22 Mon Sep 17 00:00:00 2001 From: Craig Perkins Date: Thu, 27 Jun 2024 13:14:22 -0400 Subject: [PATCH 1/2] Register system index descriptors through SystemIndexPlugin.getSystemIndexDescriptors (#1837) * Register system index descriptors through SystemIndexPlugin.getSystemIndexDescriptors Signed-off-by: Craig Perkins * Add notebooks index as well Signed-off-by: Craig Perkins * Update baseVersion Signed-off-by: Craig Perkins --------- Signed-off-by: Craig Perkins (cherry picked from commit 01ba0804afa967e490db5f27fca0141520664757) --- .../observability/ObservabilityPlugin.kt | 14 +++++++++++++- .../observability/index/ObservabilityIndex.kt | 4 ++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/org/opensearch/observability/ObservabilityPlugin.kt b/src/main/kotlin/org/opensearch/observability/ObservabilityPlugin.kt index 98832d2bd..0f7e5ca60 100644 --- a/src/main/kotlin/org/opensearch/observability/ObservabilityPlugin.kt +++ b/src/main/kotlin/org/opensearch/observability/ObservabilityPlugin.kt @@ -19,6 +19,7 @@ import org.opensearch.core.common.io.stream.NamedWriteableRegistry import org.opensearch.core.xcontent.NamedXContentRegistry import org.opensearch.env.Environment import org.opensearch.env.NodeEnvironment +import org.opensearch.indices.SystemIndexDescriptor import org.opensearch.observability.action.CreateObservabilityObjectAction import org.opensearch.observability.action.DeleteObservabilityObjectAction import org.opensearch.observability.action.GetObservabilityObjectAction @@ -30,6 +31,7 @@ import org.opensearch.observability.settings.PluginSettings import org.opensearch.plugins.ActionPlugin import org.opensearch.plugins.ClusterPlugin import org.opensearch.plugins.Plugin +import org.opensearch.plugins.SystemIndexPlugin import org.opensearch.repositories.RepositoriesService import org.opensearch.rest.RestController import org.opensearch.rest.RestHandler @@ -43,7 +45,7 @@ import java.util.function.Supplier * This class initializes the rest handlers. */ @Suppress("TooManyFunctions") -class ObservabilityPlugin : Plugin(), ActionPlugin, ClusterPlugin { +class ObservabilityPlugin : Plugin(), ActionPlugin, SystemIndexPlugin { companion object { const val PLUGIN_NAME = "opensearch-observability" @@ -59,6 +61,16 @@ class ObservabilityPlugin : Plugin(), ActionPlugin, ClusterPlugin { return PluginSettings.getAllSettings() } + /** + * {@inheritDoc} + */ + override fun getSystemIndexDescriptors(settings: Settings): Collection { + return listOf( + SystemIndexDescriptor(ObservabilityIndex.INDEX_NAME, "Observability Plugin Configuration index"), + SystemIndexDescriptor(ObservabilityIndex.NOTEBOOKS_INDEX_NAME, "Observability Plugin Notebooks index") + ) + } + /** * {@inheritDoc} */ diff --git a/src/main/kotlin/org/opensearch/observability/index/ObservabilityIndex.kt b/src/main/kotlin/org/opensearch/observability/index/ObservabilityIndex.kt index e6c554667..1c4ccfa4f 100644 --- a/src/main/kotlin/org/opensearch/observability/index/ObservabilityIndex.kt +++ b/src/main/kotlin/org/opensearch/observability/index/ObservabilityIndex.kt @@ -51,8 +51,8 @@ import java.util.concurrent.TimeUnit @Suppress("TooManyFunctions") internal object ObservabilityIndex : LifecycleListener() { private val log by logger(ObservabilityIndex::class.java) - private const val INDEX_NAME = ".opensearch-observability" - private const val NOTEBOOKS_INDEX_NAME = ".opensearch-notebooks" + const val INDEX_NAME = ".opensearch-observability" + const val NOTEBOOKS_INDEX_NAME = ".opensearch-notebooks" private const val OBSERVABILITY_MAPPING_FILE_NAME = "observability-mapping.yml" private const val OBSERVABILITY_SETTINGS_FILE_NAME = "observability-settings.yml" From bc1e765f44710caab82f54dd6b099c23b2ae2502 Mon Sep 17 00:00:00 2001 From: Craig Perkins Date: Thu, 27 Jun 2024 13:36:00 -0400 Subject: [PATCH 2/2] Add ClusterPlugin Signed-off-by: Craig Perkins --- .../kotlin/org/opensearch/observability/ObservabilityPlugin.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/kotlin/org/opensearch/observability/ObservabilityPlugin.kt b/src/main/kotlin/org/opensearch/observability/ObservabilityPlugin.kt index 0f7e5ca60..9deba7c57 100644 --- a/src/main/kotlin/org/opensearch/observability/ObservabilityPlugin.kt +++ b/src/main/kotlin/org/opensearch/observability/ObservabilityPlugin.kt @@ -45,7 +45,7 @@ import java.util.function.Supplier * This class initializes the rest handlers. */ @Suppress("TooManyFunctions") -class ObservabilityPlugin : Plugin(), ActionPlugin, SystemIndexPlugin { +class ObservabilityPlugin : Plugin(), ActionPlugin, ClusterPlugin, SystemIndexPlugin { companion object { const val PLUGIN_NAME = "opensearch-observability"