Code Monkey home page Code Monkey logo

lambda-curator's Introduction

lambda-curator - An Elasticsearch Curator bootstrapper for AWS Lambda.

This is a simple bootstrapper for running the Elasticsearch Curator as an AWS Lambda-function. Lambda functions can be triggered using CloudWatch Events making it a suitable environment for running Curator tasks.

Note: Currently Lambda functions have a maximum execution time of 300 seconds so long-running Curator tasks are not suitable for running as Lambda functions.

Setup

Environment variables

  • ES_HOST: the base url of the Elasticsearh cluster (default: http://localhost).
  • ES_PORT: the Elasticseach cluster port (default: 9200).
  • DRY_RUN: set Curator --dry-run flag (default: True)
  • FUNCTION_NAME: the lambda function name (default: lambda-curator).
  • IAM_ROLE: the lambda function execution role.

AWS CLI

The AWS CLI needs to be installed in order to push/update the lambda-curator function. As a minimum the following variables need to be set:

  • AWS_ACCESS_KEY_ID: the aws access key id.
  • AWS_SECRET_ACCESS_KEY: the aws secret access key.
  • AWS_REGION: the aws region.

Add actions.yml

Add an actions.yml file with the actions to be triggered by the lambda function.

Package function

make package

This will create a FUNCTION_NAME.zip including the bootstrap.py (and all Curator dependencies) and actions.yml.

Push package to function

make awspush

This will create and publish the lambda-curator function.

Update package function

make awsupdate

This will update any existing lambda-curator function.

Connecting to an AWS Elasticsearch cluster

The lambda-curator function will sign all requests with the AWS credentials of the execution role (IAM_ROLE). Giving this role access to your AWS Elasticsearch cluster using IAM will authenticate all lambda-curator actions automagically.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.