Facing issues with TLS 1.3 in opensearch dashboards 2.11.0

Versions:
Hi,
I am using Opensearch dashboards 2.11.0 rpm in k8s and trying to use TLS 1.3 version. Facing errors in process startup.

Describe the issue:
Configured opensearch to use TLS 1.3 which worked fine. Later tried the same for opensearch dashboards, but facing errors in process startup itself.
Also from Support for tls v1.3 in opensearch-dashboards · Issue #838 · opensearch-project/OpenSearch-Dashboards · GitHub i could see that the support has been added for TLS 1.3.

But src code OpenSearch-Dashboards/src/core/server/http/ssl_config.ts at 2.11.0 · opensearch-project/OpenSearch-Dashboards · GitHub checks till TLS 1.2 and if I configure TLS1.3 process is throwing errors like below.

Configuration:

opensearch.username: "kibanaserver"
opensearch.password: "kibanaserver"
server.ssl.enabled: true
server.ssl.certificate: /etc/opensearch-dashboards/server.crt
server.ssl.key: /etc/opensearch-dashboards/server.key
server.ssl.supportedProtocols: ["TLSv1.3"]
opensearch.hosts: [https://opensearch:9200]
opensearch.ssl.verificationMode: certificate
opensearch.ssl.certificateAuthorities: /etc/opensearch-dashboards/root-ca.pem

Relevant Logs or Screenshots:

["fatal","root"],"pid":22,"message":"ValidationError: [config validation of [server].ssl.supportedProtocols.0]: types that failed validation:\n- [config validation of [server].ssl.supportedProtocols.0.0]: expected value to equal [TLSv1]\n- [config validation of [server].ssl.supportedProtocols.0.1]: expected value to equal [TLSv1.1]\n- [config validation of [server].ssl.supportedProtocols.0.2]: expected value to equal [TLSv1.2]\n    at ObjectType.validate (/usr/share/opensearch-dashboards/node_modules/@osd/config-schema/target/out/types/type.js:72:19)\n    at ConfigService.validateAtPath (/usr/share/opensearch-dashboards/node_modules/@osd/config/target/config_service.js:157:23)\n    at MapSubscriber.project (/usr/share/opensearch-dashboards/node_modules/@osd/config/target/config_service.js:164:83)\n    at MapSubscriber._next (/usr/share/opensearch-dashboards/node_modules/rxjs/internal/operators/map.js:49:35)\n    at MapSubscriber.Subscriber.next (/usr/share/opensearch-dashboards/node_modules/rxjs/internal/Subscriber.js:66:18)\n    at DistinctUntilChangedSubscriber._next (/usr/share/opensearch-dashboards/node_modules/rxjs/internal/operators/distinctUntilChanged.js:69:30)\n    at DistinctUntilChangedSubscriber.Subscriber.next (/usr/share/opensearch-dashboards/node_modules/rxjs/internal/Subscriber.js:66:18)\n    at MapSubscriber._next (/usr/share/opensearch-dashboards/node_modules/rxjs/internal/operators/map.js:55:26)\n    at MapSubscriber.Subscriber.next (/usr/share/opensearch-dashboards/node_modules/rxjs/internal/Subscriber.js:66:18)\n    at ReplaySubject._subscribe (/usr/share/opensearch-dashboards/node_modules/rxjs/internal/ReplaySubject.js:80:28) {\n  cause: SchemaTypesError: types that failed validation:\n      at UnionType.handleError (/usr/share/opensearch-dashboards/node_modules/@osd/config-schema/target/out/types/union_type.js:47:24)\n      at UnionType.onError (/usr/share/opensearch-dashboards/node_modules/@osd/config-schema/target/out/types/type.js:90:40)\n      at internals.Alternatives.<anonymous> (/usr/share/opensearch-dashboards/node_modules/@osd/config-schema/target/out/types/type.js:62:53)\n      at internals.Alternatives._finalizeValue (/usr/share/opensearch-dashboards/node_modules/joi/lib/types/any/index.js:733:46)\n      at internals.Alternatives._validate (/usr/share/opensearch-dashboards/node_modules/joi/lib/types/any/index.js:641:29)\n      at type._checkItems (/usr/share/opensearch-dashboards/node_modules/joi/lib/types/array/index.js:242:37)\n      at type._base (/usr/share/opensearch-dashboards/node_modules/joi/lib/types/array/index.js:78:34)\n      at type._validate (/usr/share/opensearch-dashboards/node_modules/joi/lib/types/any/index.js:637:31)\n      at type._base (/usr/share/opensearch-dashboards/node_modules/joi/lib/types/object/index.js:213:45)\n      at type._validate (/usr/share/opensearch-dashboards/node_modules/joi/lib/types/any/index.js:637:31) {\n    cause: undefined,\n    path: [ 'ssl', 'supportedProtocols', 0 ],\n    errors: [ [SchemaTypeError], [SchemaTypeError], [SchemaTypeError] 

 FATAL  ValidationError: [config validation of [server].ssl.supportedProtocols.0]: types that failed validation:
- [config validation of [server].ssl.supportedProtocols.0.0]: expected value to equal [TLSv1]
- [config validation of [server].ssl.supportedProtocols.0.1]: expected value to equal [TLSv1.1]
- [config validation of [server].ssl.supportedProtocols.0.2]: expected value to equal [TLSv1.2]

Can anyone help with it? Am i missing something?

Thanks,
Chaitra

@chaitra As per GitHub it looks like this change will be applied to 2.12 and backported to 2.x.

I suggest waiting for the 2.12 release.