Versions :Latest
Describe the issue: I couldn’t find any documentation or discussions around this mTLS support opensearch alerts? Is it supported and someone point me in the right direction. I’m adding some configs and logs that i got while experimenting with this.
Configuration:
I tried setting up these configs.
plugins.security.ssl.transport.enabled: true
plugins.security.ssl.transport.keystore_type: PKCS12
plugins.security.ssl.transport.keystore_filepath: certs/server-keystore.p12
plugins.security.ssl.transport.keystore_password: changeit
plugins.security.ssl.transport.truststore_type: PKCS12
plugins.security.ssl.transport.truststore_filepath: certs/server-truststore.p12
plugins.security.ssl.transport.truststore_password: changeit
plugins.security.ssl.transport.enforce_hostname_verification: true
plugins.security.ssl.transport.resolve_hostname: trueExceptions:
Relevant Logs or Screenshots:
\[2025-08-14T11:31:54,063\]\[WARN \]\[o.o.n.a.PluginBaseAction \] \[opensearch-node1\] notifications:OpenSearchStatusException:
org.opensearch.OpenSearchStatusException: {"event_status_list": \[{"config_id":"UmdEqJgBbZmp5cjtkRza","config_type":"webhook","config_name":"secure-webhook-proper-mtls","email_recipient_status":\[\],"delivery_status":{"status_code":"500","status_text":"Failed to send webhook message Failed: {\\"status\\":\\"error\\",\\"message\\":\\"Valid client certificate required for mTLS authentication\\",\\"ip\\":\\"127.0.0.1\\"}"}}\]}
at org.opensearch.notifications.send.SendMessageActionHelper.executeRequest(SendMessageActionHelper.kt:101) \~\[?:?\]
at org.opensearch.notifications.send.SendMessageActionHelper$executeRequest$1.invokeSuspend(SendMessageActionHelper.kt) \~\[?:?\]
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) \[kotlin-stdlib-1.8.21.jar:1.8.21-release-380(1.8.21)\]
at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:32) \[kotlinx-coroutines-core-jvm-1.4.3.jar:?\]
at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:113) \[kotlinx-coroutines-core-jvm-1.4.3.jar:?\]
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) \[kotlin-stdlib-1.8.21.jar:1.8.21-release-380(1.8.21)\]
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) \[kotlinx-coroutines-core-jvm-1.4.3.jar:?\]
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571) \[kotlinx-coroutines-core-jvm-1.4.3.jar:?\]
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750) \[kotlinx-coroutines-core-jvm-1.4.3.jar:?\]
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678) \[kotlinx-coroutines-core-jvm-1.4.3.jar:?\]
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665) \[kotlinx-coroutines-core-jvm-1.4.3.jar:?\]