aws-es-credentials
Elasticsearch credentials manager for AWS
A wrapper around the elasticsearch JS client that keeps the AWS session token updated automatically.
The client defaults to using the metadata service, but can also use a provided credentials object or environment variables.
Using the credentials or environment variables is handy for local development, where as your instance will have the metadata service to use.
The client will automatically refresh the token every hour by requesting again from the metadata service.
Usage
The client will query the metadata service by default but can be disabled by passing false useMetadataService option.
import awsEsCredentials from 'aws-es-credentials';
(async () => {
const options = {
hosts: 'localhost:9200'
};
const client = await awsEsCredentials(options);
client.seach(
})();
(async () => {
const options = {
hosts: 'localhost:9200',
useMetadataService: false
};
const client = await awsEsCredentials(options);
client.seach(
})();
(async () => {
const options = {
hosts: 'localhost:9200',
useMetadataService: false,
credentials: new AWS.Credentials('x', 'xx', 'xxx')
};
const client = await awsEsCredentials(options);
client.seach(
})();
TODO
- handle relvalidation errors