diff --git a/Makefile b/Makefile index bc35456..e921130 100644 --- a/Makefile +++ b/Makefile @@ -9,7 +9,7 @@ test: go test $$(go list ./... | tr '\n' ' ') build: - go build -o ./bin/kangol *.go + go build -o ./bin/kangol cmd/kangol/main.go update: go get -u=patch diff --git a/cmd/kangol/main.go b/cmd/kangol/main.go new file mode 100644 index 0000000..235f6e4 --- /dev/null +++ b/cmd/kangol/main.go @@ -0,0 +1,17 @@ +package main + +import ( + log "github.com/Sirupsen/logrus" + "github.com/recruit-mp/kangol/internal" + "os" +) + +const version = "0.2.8" + +func main() { + app := internal.NewApp(version) + err := app.Run(os.Args) + if err != nil { + log.Fatal(err.Error()) + } +} diff --git a/main.go b/internal/app.go similarity index 84% rename from main.go rename to internal/app.go index 553b5b5..c191a09 100644 --- a/main.go +++ b/internal/app.go @@ -1,18 +1,17 @@ -package main +package internal import ( - "os" - "github.com/codegangsta/cli" + "github.com/recruit-mp/kangol/internal/operation" ) -func main() { +func NewApp(version string) *cli.App { finished := make(chan bool) - go loading(finished) + go operation.Loading(finished) app := cli.NewApp() app.Name = "kangol" - app.Version = "0.2.8" + app.Version = version app.Usage = "ECS deployment tool" app.Flags = []cli.Flag{ cli.StringFlag{ @@ -49,7 +48,7 @@ func main() { if c.Bool("loading") == false { finished <- true } - deploy( + operation.Deploy( c.String("conf"), c.String("tag"), c.Bool("debug"), @@ -89,11 +88,9 @@ func main() { }, }, Action: func(c *cli.Context) { - runTask(c.String("conf"), c.String("tag"), c.String("command"), c.Int64("cpu"), c.Int64("memory")) + operation.RunTask(c.String("conf"), c.String("tag"), c.String("command"), c.Int64("cpu"), c.Int64("memory")) }, }, } - - app.Run(os.Args) - + return app } diff --git a/awscloudwatchlogs/awscloudwatchlogs.go b/internal/awscloudwatchlogs/awscloudwatchlogs.go similarity index 100% rename from awscloudwatchlogs/awscloudwatchlogs.go rename to internal/awscloudwatchlogs/awscloudwatchlogs.go diff --git a/awsecs/awsecs.go b/internal/awsecs/awsecs.go similarity index 100% rename from awsecs/awsecs.go rename to internal/awsecs/awsecs.go diff --git a/deploy.go b/internal/operation/deploy.go similarity index 91% rename from deploy.go rename to internal/operation/deploy.go index 008c7d1..75edcce 100644 --- a/deploy.go +++ b/internal/operation/deploy.go @@ -1,4 +1,4 @@ -package main +package operation import ( "fmt" @@ -6,11 +6,11 @@ import ( "time" log "github.com/Sirupsen/logrus" - "github.com/recruit-mp/kangol/awsecs" - "github.com/recruit-mp/kangol/task" + "github.com/recruit-mp/kangol/internal/awsecs" + "github.com/recruit-mp/kangol/internal/task" ) -func deploy(conf, tag string, debug bool, skipPolling bool, pollingTime int64) { +func Deploy(conf, tag string, debug bool, skipPolling bool, pollingTime int64) { deployment, taskDefinition, err := task.ReadConfig(conf, appendTags(tag)) @@ -93,7 +93,7 @@ func appendTags(tag string) map[string]string { return tags } -func loading(finished chan bool) { +func Loading(finished chan bool) { loop: for { select { diff --git a/run_task.go b/internal/operation/run_task.go similarity index 87% rename from run_task.go rename to internal/operation/run_task.go index 6c253e8..7a4362e 100644 --- a/run_task.go +++ b/internal/operation/run_task.go @@ -1,4 +1,4 @@ -package main +package operation import ( "fmt" @@ -6,12 +6,12 @@ import ( log "github.com/Sirupsen/logrus" "github.com/aws/aws-sdk-go/aws" - "github.com/recruit-mp/kangol/awscloudwatchlogs" - "github.com/recruit-mp/kangol/awsecs" - "github.com/recruit-mp/kangol/task" + "github.com/recruit-mp/kangol/internal/awscloudwatchlogs" + "github.com/recruit-mp/kangol/internal/awsecs" + "github.com/recruit-mp/kangol/internal/task" ) -func runTask(conf, tag string, command string, cpu int64, memory int64) { +func RunTask(conf, tag string, command string, cpu int64, memory int64) { deployment, taskDefinition, err := task.ReadConfig(conf, appendTags(tag)) diff --git a/task/task.go b/internal/task/task.go similarity index 100% rename from task/task.go rename to internal/task/task.go diff --git a/task/task_network_mode_test.yml b/internal/task/task_network_mode_test.yml similarity index 100% rename from task/task_network_mode_test.yml rename to internal/task/task_network_mode_test.yml diff --git a/task/task_test.go b/internal/task/task_test.go similarity index 100% rename from task/task_test.go rename to internal/task/task_test.go diff --git a/task/task_test.yml b/internal/task/task_test.yml similarity index 100% rename from task/task_test.yml rename to internal/task/task_test.yml