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:

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.