@swetha AWS access and secret keys must be placed in opensearch.keystore as per OpenSearch documentation.
To achieve that in OpenSearch helm you must create a secret with access and secret keys and pass it as keystore element in values.yml
Please bear in mind that both key and secret must be encoded with base64 before adding to Secret manifest.
apiVersion: v1
kind: Secret
metadata:
name: aws-credentials
type: Opaque
data:
s3.client.default.access_key: <encoded key with base64>
s3.client.default.secret_key: <encoded with base64>
values.yml
config:
# Values must be YAML literal style scalar / YAML multiline string.
# <filename>: |
# <formatted-value(s)>
# log4j2.properties: |
# status = error
#
# appender.console.type = Console
# appender.console.name = console
# appender.console.layout.type = PatternLayout
# appender.console.layout.pattern = [%d{ISO8601}][%-5p][%-25c{1.}] [%node_name]%marker %m%n
#
# rootLogger.level = info
# rootLogger.appenderRef.console.ref = console
opensearch.yml: |
cluster.name: opensearch-cluster
# Bind to all interfaces because we don't know what IP address Docker will assign to us.
network.host: 0.0.0.0
s3.client.default.region: eu-west-1
keystore:
# To add secrets to the keystore:
# - secretName: opensearch-encryption-key
- secretName: aws-credentials
## Enable to add 3rd Party / Custom plugins not offered in the default OpenSearch image.
plugins:
enabled: true
installList:
- repository-s3