GithubHelp home page GithubHelp logo

dgadavin / gryphon Goto Github PK

View Code? Open in Web Editor NEW

This project forked from helgie/gryphon

0.0 1.0 0.0 1.05 MB

An integrated overview tool for AWS ECS clusters.

License: MIT License

Shell 0.38% Python 34.12% CSS 7.50% JavaScript 30.25% HTML 27.75%

gryphon's Introduction

Gryphon Cluster Viewer

Amazon EC2 Container Service Interface

A simply designed web-based application to allow users to view a clear interface for the AWS console showing information such as tasks running on each instance as well as the commands to ssh into the instance or run the docker container for debugging. It is a very thin layer over the AWS API's to make common tasks easier and give a much better general overview.

Features include:

  • Easily see your cluster state, including all the instances and tasks
  • See resource allocation
  • See autoscaling terminations
  • Shortcuts to different AWS interfaces and other useful quick links.
  • Quickly ssh into you instances
  • Exec directly into a running container in a task. A single command that ssh's finds the container ID and execs into it.
  • Manually run any task definition. Gives the terminal commands to run a container exactly as ECS would to make debugging easier.

Running Instructions

You can run it directly from dockerhub with:

docker run \
  -e AWS_ACCESS_KEY_ID=<AWS_ACCESS_KEY_ID> \
  -e AWS_DEFAULT_REGION=<AWS_DEFAULT_REGION> \
  -e AWS_SECRET_ACCESS_KEY=<AWS_SECRET_ACCESS_KEY> \
  -p 3000:3000 \
  --name=gryphon \
  businessoptics/gryphon

Gryphon uses boto to communicate with AWS so if you run it on ECS with a task role it can use that task role's AWS credentials automatically. The task role, or the credentials require at least the rights of the below IAM policy.

{
    "Version": "<VERSION-DATE>",
    "Statement": [
        {
            "Sid": "<StmtXXXXXX>",
            "Effect": "Allow",
            "Action": [
                "ec2:Describe*",
                "ecs:List*",
                "ecs:Describe*",
                "ec2:List*",
                "autoscaling:Describe*",
                "autoscaling:List*",
                "ecr:GetAuthorizationToken"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}

Command Line Interface

You can get the command to exec into a container in your shell by running:

curl 127.0.0.1/cli/exec/CLUSTER_NAME/CONTAINER_NAME

To immediately run this command without copy/pasting, wrap it in bash -c "$()", i.e:

bash -c "$(curl 127.0.0.1/cli/exec/CLUSTER_NAME/CONTAINER_NAME)"

Credits

Thanks to the wonderful Lauren Dawson aka Iguanamouth for the base image of the mascot. Please check out her work here.

gryphon's People

Contributors

adamkaliski avatar adrianmoisey avatar alexmojaki avatar helgie avatar jhsaunders avatar jonathanbouwer avatar unakarlsen avatar

Watchers

 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.