Coder Social home page Coder Social logo

coldbrew-cli's People

Contributors

d5 avatar rjhintz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

coldbrew-cli's Issues

Multiple Container Service

Is there any way to create a task definition that contains multiple containers using the cli?

I currently use the ecs-cli to bring up a service using a docker-compose file but then have a big build script that has to create all the dependencies such as target groups etc. Using this cli would make things so much easier however we do have to run multiple containers within a single service.

Make cluster name optional for cluster commands

When cluster name is not provided:

  1. If application configuration is found (based on global flags), use the cluster name from the configuration file
  2. otherwise, ask user to enter cluster name

Integration tests

Test Configuration (INPUT of each test units)

  • test app directory
  • test cluster name
  • test app configuration file

Test Procedure:

  • Create cluster
  • Verify all expected resources are properly created and configured
  • Create app
  • Verify all expected resources are properly created and configured
  • Delete app
  • Verify all expected resources are properly deleted and updated
  • Delete cluster
  • Verify all expected resources are properly deleted

coldbrew logs?

hello! looking forward to Jay's blogpost. i tried deploying https://github.com/cefjoeii/mern-crud with coldbrew but i think the mongodb config led me to be unable to serve the page (i just get 503'ed - http://tutorial-nodejs-elb-1262210809.us-east-1.elb.amazonaws.com/). Its hard to tell (if its the mdb config's fault) without being able to get logs out of coldbrew to see if my app is crashing somewhere. does it make sense to have a coldbrew logs command to give more color to the coldbrew status command?

Error when try to create load balancer

Error: Failed to create ELB Load Balancer [xxx-test-elb]: InvalidConfigurationRequest: A load balancer cannot be attached to multiple subnets in the same Availability Zone.

Please, let me know any who have same situation.
Thanks in advance.

meteor application and sticky session

I have a question I just tested with a meteor application deployment and everything to walk properly it's a great job, but what should set up on ELB (ALB) sticky session for the websocket?

If yes can be put an option to add it directly in the configuration?

clusters do not delete

command finishes if i delete cluster from console.

bash-3.2$ coldbrew cluster-delete demo-platespace
Determining AWS resources that need to be deleted...
  ECS Cluster: coldbrew-demo-platespace
  IAM Role for ECS Services: coldbrew-demo-platespace-ecs-service-role
  EC2 Launch Configuration for ECS Container Instances: coldbrew-demo-platespace-lc
  EC2 Auto Scaling Group for ECS Container Instances: coldbrew-demo-platespace-asg
  IAM Instance Profile for ECS Container Instances: coldbrew-demo-platespace-instance-profile
  EC2 Security Group for ECS Container Instances: coldbrew-demo-platespace-instance-sg

> Do you want to delete these resources? [y/N]: y

[*] Terminating instances in EC2 Auto Scaling Group [coldbrew-demo-platespace-asg]... (this may take long)
[-] Deleting EC2 Auto Scaling Group [coldbrew-demo-platespace-asg]... (this may take long)
[-] Deleting EC2 Launch Configuration [coldbrew-demo-platespace-lc]...
[-] Deleting IAM Instance Profile [coldbrew-demo-platespace-instance-profile]...
[-] Deleting EC2 Security Group [coldbrew-demo-platespace-instance-sg]...
[-] Deleting ECS Cluster [coldbrew-demo-platespace]...

Error: Failed to delete ECS Cluster [coldbrew-demo-platespace-ecs-service-role]: ClusterContainsServicesException: The Cluster cannot be deleted while Services are active.
	status code: 400, request id: 87dbb57b-7ba6-11e7-8f63-4549790bf4f0

Deleting untagged resources

delete and cluster-delete commands can ask user if they want to untagged (possibly manually created) resources.

Added Value Over ECS?

It would be helpful to give some explanation of the added value of coldbrew over native ECS.

Example project never starts

I tried going through the example Go tutorial:
https://github.com/coldbrewcloud/tutorial-echo

I installed via go get and go install, so using the master branch on the CLI.

$ coldbrew status
Application
  Name: echo
  Cluster: tutorial
AWS
  Region: us-west-2
  VPC: vpc-69db9410
  Subnets: subnet-0b0ed840 subnet-05df687c subnet-87e473dd
ECS
  ECS Cluster: coldbrew-tutorial
  ECS Service: echo
  ECS Task Definition: echo:1
  Tasks (current/desired/pending): 0/2/0
Container Definition
  Name: echo
  Image: 272340174925.dkr.ecr.us-west-2.amazonaws.com/coldbrew/echo:latest
  CPU: 0.10
  Memory: 100m
  Port Mapping (protocol:container:host): tcp:8888:0
Load Balancer
  Container Port: 8888
  ELB Target Group: echo-elb-tg
  ELB Load Balancer: echo-elb
    Scheme: internet-facing
    State: active 
    Endpoint: http://echo-elb-216009805.us-west-2.elb.amazonaws.com:80

The containers are never launched on the cluster. In the ECS control panel it gives a warning that the ecs agent is out of date (1.14.4 vs 1.17.3), and links to https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html

Application logs

Option 1. configure tasks to send output logs to CloudWatch Logs, then CLI retrieves logs from there.

ECS Container Instances: Automatic Scaling

Scaling In

E.g. need to remove container instance C1 which is running tasks for S1 and S2.

  • Deregister C1 from ECS cluster (use --force option to keep tasks running)
  • Tasks for S1 and S2 are still running in C1, but, ECS cluster will try to start tasks for S1 and S2 in other container instances.
  • Once services S1 and S2 become stable status (desired tasks == running tasks), stop all tasks in C1.
  • Detach C1 from auto scaling group (use --should-decrement-desired-capacity)
  • Terminate C1.
    For multiple container instances, simply repeat these steps for each instances.

Scaling Out

E.g. need to add N container instances.

  • Increment desired capacity of auto scaling group by N.

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.