Skip to content

Commit f5b7142

Browse files
cwperksjowg-amazon
authored andcommitted
Register system index descriptors through SystemIndexPlugin.getSystemIndexDescriptors (#1584)
1 parent 92acc2a commit f5b7142

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

alerting/src/main/kotlin/org/opensearch/alerting/AlertingPlugin.kt

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import org.opensearch.alerting.action.GetRemoteIndexesAction
1515
import org.opensearch.alerting.action.SearchEmailAccountAction
1616
import org.opensearch.alerting.action.SearchEmailGroupAction
1717
import org.opensearch.alerting.alerts.AlertIndices
18+
import org.opensearch.alerting.alerts.AlertIndices.Companion.ALL_ALERT_INDEX_PATTERN
1819
import org.opensearch.alerting.core.JobSweeper
1920
import org.opensearch.alerting.core.ScheduledJobIndices
2021
import org.opensearch.alerting.core.action.node.ScheduledJobsStatsAction
@@ -96,6 +97,7 @@ import org.opensearch.commons.alerting.model.DocumentLevelTrigger
9697
import org.opensearch.commons.alerting.model.Monitor
9798
import org.opensearch.commons.alerting.model.QueryLevelTrigger
9899
import org.opensearch.commons.alerting.model.ScheduledJob
100+
import org.opensearch.commons.alerting.model.ScheduledJob.Companion.SCHEDULED_JOBS_INDEX
99101
import org.opensearch.commons.alerting.model.SearchInput
100102
import org.opensearch.commons.alerting.model.Workflow
101103
import org.opensearch.commons.alerting.model.remote.monitors.RemoteMonitorTrigger
@@ -107,6 +109,7 @@ import org.opensearch.core.xcontent.XContentParser
107109
import org.opensearch.env.Environment
108110
import org.opensearch.env.NodeEnvironment
109111
import org.opensearch.index.IndexModule
112+
import org.opensearch.indices.SystemIndexDescriptor
110113
import org.opensearch.monitor.jvm.JvmStats
111114
import org.opensearch.painless.spi.PainlessExtension
112115
import org.opensearch.painless.spi.Whitelist
@@ -117,6 +120,7 @@ import org.opensearch.plugins.ExtensiblePlugin
117120
import org.opensearch.plugins.ReloadablePlugin
118121
import org.opensearch.plugins.ScriptPlugin
119122
import org.opensearch.plugins.SearchPlugin
123+
import org.opensearch.plugins.SystemIndexPlugin
120124
import org.opensearch.repositories.RepositoriesService
121125
import org.opensearch.rest.RestController
122126
import org.opensearch.rest.RestHandler
@@ -132,7 +136,8 @@ import java.util.function.Supplier
132136
* It also adds [Monitor.XCONTENT_REGISTRY], [SearchInput.XCONTENT_REGISTRY], [QueryLevelTrigger.XCONTENT_REGISTRY],
133137
* [BucketLevelTrigger.XCONTENT_REGISTRY], [ClusterMetricsInput.XCONTENT_REGISTRY] to the [NamedXContentRegistry] so that we are able to deserialize the custom named objects.
134138
*/
135-
internal class AlertingPlugin : PainlessExtension, ActionPlugin, ScriptPlugin, ReloadablePlugin, SearchPlugin, PercolatorPluginExt() {
139+
internal class AlertingPlugin : PainlessExtension, ActionPlugin, ScriptPlugin, ReloadablePlugin,
140+
SearchPlugin, SystemIndexPlugin, PercolatorPluginExt() {
136141

137142
override fun getContextWhitelists(): Map<ScriptContext<*>, List<Whitelist>> {
138143
val whitelist = WhitelistLoader.loadFromResourceFiles(javaClass, "org.opensearch.alerting.txt")
@@ -410,6 +415,13 @@ internal class AlertingPlugin : PainlessExtension, ActionPlugin, ScriptPlugin, R
410415
return listOf(TriggerScript.CONTEXT)
411416
}
412417

418+
override fun getSystemIndexDescriptors(settings: Settings): Collection<SystemIndexDescriptor> {
419+
return listOf(
420+
SystemIndexDescriptor(ALL_ALERT_INDEX_PATTERN, "Alerting Plugin system index pattern"),
421+
SystemIndexDescriptor(SCHEDULED_JOBS_INDEX, "Alerting Plugin Configuration index")
422+
)
423+
}
424+
413425
override fun reload(settings: Settings) {
414426
runner.reloadDestinationSettings(settings)
415427
}

0 commit comments

Comments
 (0)