coldbrewcloud / coldbrew-cli Goto Github PK
View Code? Open in Web Editor NEWAWS Docker container deploy automation
License: MIT License
AWS Docker container deploy automation
License: MIT License
Option 1. configure tasks to send output logs to CloudWatch Logs, then CLI retrieves logs from there.
delete
and cluster-delete
commands can ask user if they want to untagged (possibly manually created) resources.
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.
This is a great tool, just to let you know that ECS agent version has changed to version 1.13.1, and version 1.4.1 is not present in releases
For the service-level changes (desired tasks), it doesn't have to create a new ECS task definition revision.
--aws-secrte-key
must be
--aws-secret-key
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?
How would I pass environment variables to my node application?
I see how you can pass key value pairs into the config:
https://github.com/coldbrewcloud/coldbrew-cli/wiki/Configuration-File#env
But this means you are committing sensitive data to the root of your repo. Is there a way to pull from a .env file outside of the root?
Adding this argument doesn't seem to have any effect (using the API as in https://github.com/coldbrewcloud/coldbrew-cli/wiki/CLI-Command:-cluster-create)
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.
It would be helpful to give some explanation of the added value of coldbrew over native ECS.
A utility function to create a new EC2 Key Pair.
I guess it's just not printing out its progress output, but, it's still bad experience. Need to fix.
Adding --app-name
and --cluster-name
flags to status
and delete
command so they can run without the configuration file (e.g. coldbrew.conf
).
If I am an IAM user without full root privs, what IAM user access do I need to create all parts of a coldbrew created ecs cluster
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
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
Challenge: when scaling in, instances with none or less number of tasks running should be prioritized (termination policy).
E.g. need to remove container instance C1 which is running tasks for S1 and S2.
E.g. need to add N container instances.
And it causes the instances fail to connect to ECS cluster (because they don't have access).
Guessing this is some delays for the newly created Instance Profile become fully available, but, not sure. Need to investigate.
correct "Balanacer"
Correct spelling is "balancer"
https://github.com/coldbrewcloud/coldbrew-cli/blob/master/commands/deploy/aws_elb.go
Update build script and/or CI config for versioned binary packages
Test Configuration (INPUT of each test units)
Test Procedure:
Every command I try gives me this error:
panic: interface conversion: io.Writer is *colorable.Writer, not *os.File
Running on windows 10.
When cluster name is not provided:
Any plan to support other platforms in the future? DigitalOcean?
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?
Mostly output text colors
And/or multiple load balancer
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.