screwdriver
Deprecated This repository is no more mentenanced.
The tools to manage EC2 Container Service(ECS)
Today, we use Docker containers to develop Web Services, and we get start moving towards an Immutable Infrastructure with ECS and screwdriver
!!
Caution
This repository depends on AWS, ECS specification.
Future
- task
- show the list of task definitions
- register task new definition
- describe task definition
- service
- show the list of services
- create service
- update service
- describe service
- cluster
- show the list of clusters
- create cluster
- delete cluster
- Auto Scaling
- ELB
- Blue-Green Deployment
And you have some suggestion, create new Issue :)
Installing
go get github.com/takasing/screwdriver
Configuring
The configurations of screwdriver
command consists of environment variables and yml
AWS environment variable
- AWS_ACCESS_KEY_ID
- AWS_SECRET_ACCESS_KEY
- AWS_REGION
Yaml file
Enable to use Golang template.
nginx:
image: nginx:{{ .NGINX_IMAGE_TAG }}
cpu: 128
memory: 64
portmappings:
- containerport: 80
hostPort: 80
essential: true
api:
image: golang:{{ .GOLANG_IMAGE_TAG }}
cpu: 128
memory: 64
portmappings:
- containerport: 3000
hostport: 3000
essential: true
Check ecs.ContainerDefinition, and Lowercase fields such as PortMappings
to portmappings
Environment variables for yaml
screwdriver
picks up environment variables start with SCREW_
prefix.
If you define SCREW_NGINX_IMAGE_TAG
environment variable, you can use NGINX_IMAGE_TAG
in yml.
Usage
usage: screwdriver [--version] [--help] <command> [<args>]
Available commands are:
cluster Operate ECS cluster
service Operate ECS service
task Operate ECS task
task
Usage: screwdriver task <subcommand> [options]
Subcommands:
defs show the list of task definitions
register register task definition from configration file
service
Usage: screwdriver service <subcommand> [options]
Subcommands:
list show the list of ECS services
create create ECS service
update update ECS service
cluster
Usage: screwdriver cluster <subcommand> [options]
Subcommands:
list show the list of ECS cluster
create create ECS cluster
delete delete ECS service