bbc/aws-es-credentials

Name: aws-es-credentials

Owner: BBC

Description: Elasticsearch credentials manager for AWS

Created: 2017-06-06 09:40:27.0

Updated: 2018-02-04 04:32:26.0

Pushed: 2017-06-10 10:33:35.0

Homepage: null

Size: 58

Language: JavaScript

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

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.

he client returns a promise as an async request is made to get the session token values

utomatically use metadata service
rt awsEsCredentials from 'aws-es-credentials';

nc () => {
const options = {
    hosts: 'localhost:9200'
};

const client = await awsEsCredentials(options);
client.seach(// search json goes here);
;

urn metadata service off, will attempt to use environment variables
nc () => {
const options = {
    hosts: 'localhost:9200',
    useMetadataService: false
};

const client = await awsEsCredentials(options);
client.seach(// search json goes here);
;

ass credentials manually
nc () => {
const options = {
    hosts: 'localhost:9200',
    useMetadataService: false,
    credentials: new AWS.Credentials('x', 'xx', 'xxx')
};

const client = await awsEsCredentials(options);
client.seach(// search json goes here);
;
TODO

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.