Code Monkey home page Code Monkey logo

node-reaper's Introduction

node-reaper

Provides simple UI for EC2 instances in an AWS account to be manually started(or extended) for a 4 hour uptime window. This is similar to the kubernetes pod-reaper but simpler.

Front end is using Elm which communicates via JSON messages with the back end which is a Micronaut service written in Kotlin.

Only EC2 instances with a "reaper-enable" tag set to "true" will be displayed in the UI. When an instance is started its "reaper-timestamp" tag will be set to that moment (in UTC milliseconds). When an instance is "extended" that timestamp gets reset. If 4 hours elapses with no extensions the instance will be stopped.

Running

To build and run the docker container, use make run then go to http://localhost:8080 for the UI.

Credentials for AWS access will be looked up in the default way by the SDK (and your local credentials at ~/.aws will be mapped into the container at /root/.aws). See https://docs.aws.amazon.com/sdk-for-java/v2/developer-guide/credentials.html

Development

  1. Run the back end in a container using make backend-dev
  2. Run the front end in a container using make frontend-dev
  3. Go to http://localhost:3000 in your browser to test. The UI will automatically reload when front end code is changed.

For unit tests use make frontend-test and make backend-test.

node-reaper's People

Contributors

sgdan avatar

Watchers

 avatar  avatar

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.