Git Product home page Git Product logo

ecs-local's Introduction

ecs-local

Run ECS task definitions locally.


What is ecs-local?


How it works

  1. Logs into AWS ECS and retrieves the task definition, image, and port mappings
  2. Logs into docker and pulls the image
  3. Parses the task definition to extract the entry point, command, volume mounts, and environment variables
  4. Set the docker argument for the: entry point
  5. Set the docker argument for the: command
  6. Set the docker arguments for the: volume mounts
  7. Set the docker arguments for the: environment variables
  8. Runs the docker command with the set docker arguments to start the container

Use Cases


Usage

ecs-local -e SOME_VAR=FOO-t stage-accounts -m src:dest -c ecs-local-config.yaml -a '/bin/bash'

Installation

macOS

brew tap fullscreen/tap
brew install ecs-local

Caveats

Network Access

This utility creates docker containers on your local machine based off of task definitions in ECS.
As a result the spawned task may not have the same network access as the remote ECS task.

Assuming Roles

ecs-local will attempt to assume the role of the specified task.
If it is unable to do so it will fail silently and a warning message will be printed if the verbose flag is passed.


Releases

This repository makes use of GoReleaser for building and pushing the Homebrew formula to the Homebrew Tap at: https://github.com/Fullscreen/homebrew-tap


References


Terminology

Homebrew

Term Description Example
Formula The package definition /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/foo.rb
Keg The installation prefix of a Formula /usr/local/Cellar/foo/0.1
Keg-only A Formula is Keg-only if it is not linked into the Homebrew prefix The openjdk formula
opt prefix A symlink to the active version of a Keg /usr/local/opt/foo
Cellar All Kegs are installed here /usr/local/Cellar
Tap A Git repository of Formulae and/or commands /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core
Bottle Pre-built Keg used instead of building from source qt-4.8.4.catalina.bottle.tar.gz
Cask An extension of Homebrew to install macOS native apps /Applications/MacDown.app/Contents/SharedSupport/bin/macdown
Brew Bundle An extension of Homebrew to describe dependencies brew 'myservice', restart_service: true

ecs-local's People

Contributors

dstokes avatar richard-vannauker-wbd avatar rt-alex avatar skout23 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.