diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e660fd9 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +bin/ diff --git a/VERSION b/VERSION new file mode 100644 index 0000000..8c50098 --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +3.1 diff --git a/build.sh b/build.sh deleted file mode 100755 index a390199..0000000 --- a/build.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env bash -set -e - -find . -name "main.go" | while read f; do - echo "Building ${f}" - cd $(dirname ${f}) - CGO_ENABLED=0 go build -a -installsuffix cgo - cd - > /dev/null -done diff --git a/cloudwatch-put-metric-data/main.go b/cloudwatch/put-metric-data/main.go similarity index 100% rename from cloudwatch-put-metric-data/main.go rename to cloudwatch/put-metric-data/main.go diff --git a/ec2/ec2-ip-from-name/main.go b/ec2/ip-from-name/main.go similarity index 82% rename from ec2/ec2-ip-from-name/main.go rename to ec2/ip-from-name/main.go index b0a75a2..428eaef 100644 --- a/ec2/ec2-ip-from-name/main.go +++ b/ec2/ip-from-name/main.go @@ -14,8 +14,8 @@ import ( func main() { instanceName := flag.String("name", "", "Name of the EC2 instance") - maxResults := flag.Int("max-results", 1, "Number of results") + maxResults := flag.Int("max-results", 9, "Number of results") region := flag.String("region", "eu-west-1", "AWS region") flag.Parse() @@ -44,10 +44,12 @@ func main() { fmt.Println(err.Error()) os.Exit(3) } - ips := make([]string, len(resp.Reservations)) - for index, reservation := range resp.Reservations { + ips := []string{} + for _, reservation := range resp.Reservations { instance := reservation.Instances[0] - ips[index] = *instance.PrivateIpAddress + if instance != nil { + ips = append(ips, *instance.PrivateIpAddress) + } } sort.Strings(ips) diff --git a/ecs/run-task/main.go b/ecs/run-task/main.go new file mode 100644 index 0000000..3135cc7 --- /dev/null +++ b/ecs/run-task/main.go @@ -0,0 +1,47 @@ +package main + +import ( + "flag" + "fmt" + "os" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/session" + "github.com/aws/aws-sdk-go/service/ecs" +) + +func main() { + + taskDefinitionName := flag.String("task-definition", "", "Task definition name") + clusterName := flag.String("cluster-name", "", "Cluster name") + region := flag.String("region", "eu-west-1", "AWS region") + flag.Parse() + + if len(*taskDefinitionName) < 1 { + fmt.Println("Missing task definition name") + os.Exit(1) + } + + if len(*clusterName) < 1 { + fmt.Println("Missing cluster name") + os.Exit(1) + } + + + config := aws.Config{Region: aws.String(*region)} + session := session.New(&config) + + svc := ecs.New(session) + + params := &ecs.RunTaskInput{ + TaskDefinition: aws.String(*taskDefinitionName), + Cluster: aws.String(*clusterName), + Count: aws.Int64(1), + } + _, err := svc.RunTask(params) + + if err != nil { + fmt.Println(err.Error()) + os.Exit(2) + } +} diff --git a/elb-name/main.go b/elb/resolve-alb-external-url/main.go similarity index 100% rename from elb-name/main.go rename to elb/resolve-alb-external-url/main.go diff --git a/elb/main.go b/elb/resolve-elb-external-url/main.go similarity index 100% rename from elb/main.go rename to elb/resolve-elb-external-url/main.go diff --git a/s3-download/main.go b/s3/download/main.go similarity index 100% rename from s3-download/main.go rename to s3/download/main.go diff --git a/scripts/build.sh b/scripts/build.sh new file mode 100755 index 0000000..21fe937 --- /dev/null +++ b/scripts/build.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash +set -e + +base=$(dirname $0)/.. + +mkdir -p ${base}/bin + +echo "Building" +find ${base} -name "main.go" | while read src; do + src=$(realpath --relative-to=${base} ${src}) + name=bin/$(echo ${src} | awk -F/ '{print $1"-"$2}') + echo " ${name}" + CGO_ENABLED=0 go build -installsuffix cgo -o ${base}/${name} ${src} + gpg --armor --detach-sig ${base}/${name} +done