| boof! - boof - AWS EC2 instance tag searching in golang, no longer used. | |
| Log | |
| Files | |
| Refs | |
| README | |
| --- | |
| commit 77b1460b1c096d5684d354fb5541ee868990cc47 | |
| Author: Jay Scott <[email protected]> | |
| Date: Sun, 19 Apr 2020 20:14:25 +0100 | |
| boof! | |
| Diffstat: | |
| A .github/workflows/go.yml | 34 +++++++++++++++++++++++++++++… | |
| A .gitignore | 1 + | |
| A README.md | 18 ++++++++++++++++++ | |
| A cmd/ec2.go | 76 +++++++++++++++++++++++++++++… | |
| A cmd/root.go | 54 +++++++++++++++++++++++++++++… | |
| A go.mod | 24 ++++++++++++++++++++++++ | |
| A go.sum | 219 +++++++++++++++++++++++++++++… | |
| A main.go | 7 +++++++ | |
| 8 files changed, 433 insertions(+), 0 deletions(-) | |
| --- | |
| diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml | |
| @@ -0,0 +1,34 @@ | |
| +name: Go | |
| + | |
| +on: | |
| + push: | |
| + branches: [ master ] | |
| + pull_request: | |
| + branches: [ master ] | |
| + | |
| +jobs: | |
| + | |
| + build: | |
| + name: Build | |
| + runs-on: ubuntu-latest | |
| + steps: | |
| + | |
| + - name: Set up Go 1.14 | |
| + uses: actions/setup-go@v1 | |
| + with: | |
| + go-version: 1.14 | |
| + id: go | |
| + | |
| + - name: Check out code into the Go module directory | |
| + uses: actions/checkout@v2 | |
| + | |
| + - name: Get dependencies | |
| + run: | | |
| + go get -v -t -d ./... | |
| + if [ -f Gopkg.toml ]; then | |
| + curl https://raw.githubusercontent.com/golang/dep/master/install.s… | |
| + dep ensure | |
| + fi | |
| + | |
| + - name: Build | |
| + run: go build -v . | |
| diff --git a/.gitignore b/.gitignore | |
| @@ -0,0 +1 @@ | |
| +examples/ | |
| diff --git a/README.md b/README.md | |
| @@ -0,0 +1,18 @@ | |
| +# Boof | |
| + | |
| +Trying out GO lang with a basic project. | |
| + | |
| + | |
| +## Build / Install | |
| + | |
| + | |
| +go install | |
| + | |
| + | |
| +## Running | |
| + | |
| +> boof ec2 my-instance-name | |
| + | |
| +> boof ec2 prod --tag=environment | |
| + | |
| + | |
| diff --git a/cmd/ec2.go b/cmd/ec2.go | |
| @@ -0,0 +1,76 @@ | |
| +package cmd | |
| + | |
| +import ( | |
| + "fmt" | |
| + "log" | |
| + "net/url" | |
| + | |
| + "github.com/aws/aws-sdk-go/aws" | |
| + "github.com/aws/aws-sdk-go/aws/session" | |
| + "github.com/aws/aws-sdk-go/service/ec2" | |
| + "github.com/jedib0t/go-pretty/table" | |
| + "github.com/spf13/cobra" | |
| +) | |
| + | |
| +var ec2Cmd = &cobra.Command{ | |
| + Use: "ec2", | |
| + Short: "Search EC2 based on a given tag.", | |
| + Long: `Returns a list of matching EC2 instances based on the entered … | |
| + Args: cobra.ExactArgs(1), | |
| + Run: func(cmd *cobra.Command, args []string) { | |
| + tag, _ := cmd.Flags().GetString("tag") | |
| + searchEC2(tag, args[0]) | |
| + }, | |
| +} | |
| + | |
| +func init() { | |
| + rootCmd.AddCommand(ec2Cmd) | |
| + ec2Cmd.Flags().String("tag", "Name", "The tag name to search") | |
| + ec2Cmd.SetArgs([]string{"value"}) | |
| +} | |
| + | |
| +func searchEC2(tag string, value string) { | |
| + | |
| + sess, err := session.NewSession(&aws.Config{ | |
| + Region: aws.String("eu-west-1")}, | |
| + ) | |
| + | |
| + if err != nil { | |
| + fmt.Println("failed to create session,", err) | |
| + return | |
| + } | |
| + | |
| + svc := ec2.New(sess) | |
| + params := &ec2.DescribeInstancesInput{ | |
| + Filters: []*ec2.Filter{ | |
| + { | |
| + Name: aws.String("tag:" + tag), | |
| + Values: []*string{aws.String("*" + value + "*"… | |
| + }, | |
| + }, | |
| + } | |
| + resp, err := svc.DescribeInstances(params) | |
| + if err != nil { | |
| + fmt.Println("there was an error listing instances in", err.Err… | |
| + log.Fatal(err.Error()) | |
| + } | |
| + | |
| + for idx := range resp.Reservations { | |
| + for _, inst := range resp.Reservations[idx].Instances { | |
| + tw := table.NewWriter() | |
| + tw.AppendHeader(table.Row{"Name", "Instance ID", "Priv… | |
| + name := "None" | |
| + for _, keys := range inst.Tags { | |
| + if *keys.Key == "Name" { | |
| + name = url.QueryEscape(*keys.Value) | |
| + } | |
| + } | |
| + | |
| + tw.AppendRows([]table.Row{ | |
| + {name, *inst.InstanceId, *inst.PrivateIpAddres… | |
| + }) | |
| + | |
| + fmt.Printf("\n%s\n", tw.Render()) | |
| + } | |
| + } | |
| +} | |
| diff --git a/cmd/root.go b/cmd/root.go | |
| @@ -0,0 +1,54 @@ | |
| +package cmd | |
| + | |
| +import ( | |
| + "fmt" | |
| + "os" | |
| + | |
| + "github.com/spf13/cobra" | |
| + | |
| + homedir "github.com/mitchellh/go-homedir" | |
| + "github.com/spf13/viper" | |
| +) | |
| + | |
| +var cfgFile string | |
| + | |
| +var rootCmd = &cobra.Command{ | |
| + Use: "boof", | |
| + Short: "Search AWS services based on tag.", | |
| + Long: `This application allows you to search AWS services based on tag… | |
| + default this is configured to search on the Name tag.`, | |
| +} | |
| + | |
| +func Execute() { | |
| + if err := rootCmd.Execute(); err != nil { | |
| + fmt.Println(err) | |
| + os.Exit(1) | |
| + } | |
| +} | |
| + | |
| +func init() { | |
| + cobra.OnInitialize(initConfig) | |
| + | |
| + rootCmd.Flags().String("tag", "Name", "The tag to search on") | |
| +} | |
| + | |
| +func initConfig() { | |
| + if cfgFile != "" { | |
| + viper.SetConfigFile(cfgFile) | |
| + } else { | |
| + home, err := homedir.Dir() | |
| + if err != nil { | |
| + fmt.Println(err) | |
| + os.Exit(1) | |
| + } | |
| + | |
| + viper.AddConfigPath(home) | |
| + viper.SetConfigName(".boof") | |
| + } | |
| + | |
| + viper.AutomaticEnv() // read in environment variables that match | |
| + | |
| + if err := viper.ReadInConfig(); err == nil { | |
| + fmt.Println("Using config file:", viper.ConfigFileUsed()) | |
| + } | |
| +} | |
| diff --git a/go.mod b/go.mod | |
| @@ -0,0 +1,24 @@ | |
| +module boof | |
| + | |
| +go 1.14 | |
| + | |
| +require ( | |
| + github.com/aws/aws-sdk-go v1.30.8 | |
| + github.com/fsnotify/fsnotify v1.4.9 // indirect | |
| + github.com/go-openapi/strfmt v0.19.5 // indirect | |
| + github.com/jedib0t/go-pretty v4.3.0+incompatible | |
| + github.com/mattn/go-runewidth v0.0.9 // indirect | |
| + github.com/mitchellh/go-homedir v1.1.0 | |
| + github.com/mitchellh/mapstructure v1.2.2 // indirect | |
| + github.com/pelletier/go-toml v1.7.0 // indirect | |
| + github.com/spf13/afero v1.2.2 // indirect | |
| + github.com/spf13/cast v1.3.1 // indirect | |
| + github.com/spf13/cobra v1.0.0 | |
| + github.com/spf13/jwalterweatherman v1.1.0 // indirect | |
| + github.com/spf13/pflag v1.0.5 // indirect | |
| + github.com/spf13/viper v1.6.3 | |
| + golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e // indirect | |
| + golang.org/x/sys v0.0.0-20200413165638-669c56c373c4 // indirect | |
| + golang.org/x/text v0.3.2 // indirect | |
| + gopkg.in/ini.v1 v1.55.0 // indirect | |
| +) | |
| diff --git a/go.sum b/go.sum | |
| @@ -0,0 +1,219 @@ | |
| +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0Clm… | |
| +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp… | |
| +github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTz… | |
| +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LO… | |
| +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpY… | |
| +github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANh… | |
| +github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a h1:idn718… | |
| +github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1… | |
| +github.com/aws/aws-sdk-go v1.30.8 h1:4BHbh8K3qKmcnAgToZ2LShldRF9inoqIBccpCLNCy… | |
| +github.com/aws/aws-sdk-go v1.30.8/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZv… | |
| +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr… | |
| +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+… | |
| +github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3g… | |
| +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvS… | |
| +github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+q… | |
| +github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JW… | |
| +github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JW… | |
| +github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3… | |
| +github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5ha… | |
| +github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7c… | |
| +github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaB… | |
| +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHj… | |
| +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHj… | |
| +github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOL… | |
| +github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38… | |
| +github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5C… | |
| +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFC… | |
| +github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7I… | |
| +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0t… | |
| +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYe… | |
| +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYM… | |
| +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0Lb… | |
| +github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9… | |
| +github.com/go-openapi/errors v0.19.2 h1:a2kIyV3w+OS3S97zxUndRVD46+FhGOUBDFY7nm… | |
| +github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEb… | |
| +github.com/go-openapi/strfmt v0.19.5 h1:0utjKrw+BAh8s57XE9Xz8DUBsVvPmRUB6styvl… | |
| +github.com/go-openapi/strfmt v0.19.5/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxU… | |
| +github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66… | |
| +github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2… | |
| +github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Ls… | |
| +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/… | |
| +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK… | |
| +github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6… | |
| +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8p… | |
| +github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4… | |
| +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47J… | |
| +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP… | |
| +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP… | |
| +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJS… | |
| +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO… | |
| +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddM… | |
| +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuId… | |
| +github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhx… | |
| +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfO… | |
| +github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvM… | |
| +github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlTh… | |
| +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTX… | |
| +github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl8… | |
| +github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= | |
| +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs… | |
| +github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1… | |
| +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2AN… | |
| +github.com/jedib0t/go-pretty v1.0.0 h1:RbDCN8CAdLRirMDdk68J2WQJbLnlUK97+VHIUM8… | |
| +github.com/jedib0t/go-pretty v4.3.0+incompatible h1:CGs8AVhEKg/n9YbUenWmNStRW2… | |
| +github.com/jedib0t/go-pretty v4.3.0+incompatible/go.mod h1:XemHduiw8R651AF9Pt4… | |
| +github.com/jmespath/go-jmespath v0.3.0 h1:OS12ieG61fsCg5+qLJ+SsW9NicxNkg3b25Oy… | |
| +github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMe… | |
| +github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo… | |
| +github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK… | |
| +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfF… | |
| +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG… | |
| +github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagt… | |
| +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ… | |
| +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFL… | |
| +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtG… | |
| +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJO… | |
| +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= | |
| +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArN… | |
| +github.com/magiconair/properties v1.8.0 h1:LLgXmsheXeRoUOBOjtwPQCWIYqM/LU1ayDt… | |
| +github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8c… | |
| +github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKy… | |
| +github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8c… | |
| +github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/… | |
| +github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF… | |
| +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6… | |
| +github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5… | |
| +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJ… | |
| +github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuK… | |
| +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04k… | |
| +github.com/mitchellh/mapstructure v1.2.2 h1:dxe5oCinTXiTIcfgmZecdCzPmAJKd46KsC… | |
| +github.com/mitchellh/mapstructure v1.2.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+… | |
| +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6… | |
| +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2… | |
| +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3Rll… | |
| +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:q… | |
| +github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5… | |
| +github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq1… | |
| +github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd… | |
| +github.com/pelletier/go-toml v1.7.0 h1:7utD74fnzVc/cpcyy8sjrlFr5vYpypUixARcHIM… | |
| +github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lV… | |
| +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NI… | |
| +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= | |
| +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NI… | |
| +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7g… | |
| +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/Aa… | |
| +github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahC… | |
| +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h… | |
| +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h… | |
| +github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV… | |
| +github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/… | |
| +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At… | |
| +github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm… | |
| +github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux4… | |
| +github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6… | |
| +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiy… | |
| +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZ… | |
| +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJ… | |
| +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod … | |
| +github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdL… | |
| +github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg… | |
| +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIa… | |
| +github.com/spf13/afero v1.1.2 h1:m8/z1t7/fwjysjQRYbP0RD+bUIF/8tJwPdEZsI83ACI= | |
| +github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ… | |
| +github.com/spf13/afero v1.2.2 h1:5jhuqJyZCZf2JRofRvN/nIFgIWNzPa3/Vz8mYylgbWc= | |
| +github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4Ocev… | |
| +github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8= | |
| +github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghL… | |
| +github.com/spf13/cast v1.3.1 h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng= | |
| +github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghL… | |
| +github.com/spf13/cobra v1.0.0 h1:6m/oheQuQ13N9ks4hubMG6BnvwOeaJrqSPLahSnczz8= | |
| +github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYl… | |
| +github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBE… | |
| +github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgV… | |
| +github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2b… | |
| +github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iT… | |
| +github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg= | |
| +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLn… | |
| +github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= | |
| +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3… | |
| +github.com/spf13/viper v1.4.0 h1:yXHLWeravcrgGyFSyCgdYpXQ9dR9c/WED3pg1RhxqEU= | |
| +github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq… | |
| +github.com/spf13/viper v1.6.3 h1:pDDu1OyEDTKzpJwdq4TiuLyMsUgRa/BT5cn5O62NoHs= | |
| +github.com/spf13/viper v1.6.3/go.mod h1:jUMtyi0/lB5yZH/FjyGAoH7IMNrIhlBf6pXZmb… | |
| +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GF… | |
| +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GF… | |
| +github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATU… | |
| +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7p… | |
| +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1… | |
| +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+… | |
| +github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d… | |
| +github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv… | |
| +github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJx… | |
| +github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod … | |
| +github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+R… | |
| +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi6… | |
| +github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h… | |
| +go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= | |
| +go.mongodb.org/mongo-driver v1.0.3 h1:GKoji1ld3tw2aC+GX1wbr/J2fX13yNacEYoJ8Nhr… | |
| +go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7… | |
| +go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/P… | |
| +go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94… | |
| +go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= | |
| +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeD… | |
| +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05A… | |
| +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCY… | |
| +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYt… | |
| +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs7… | |
| +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs7… | |
| +golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs7… | |
| +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2r… | |
| +golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8L… | |
| +golang.org/x/net v0.0.0-20200202094626-16171245cfb2 h1:CCH4IOTTfewWjGOlSp+zGcj… | |
| +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677Tz… | |
| +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e h1:3G+cUijn7XD+S4eJFddp53P… | |
| +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpA… | |
| +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKj… | |
| +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/… | |
| +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/… | |
| +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/… | |
| +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T… | |
| +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T… | |
| +golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T… | |
| +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T… | |
| +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a h1:1BGLXjeY4akVXGgbC9HugT3… | |
| +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T… | |
| +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW… | |
| +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW… | |
| +golang.org/x/sys v0.0.0-20200413165638-669c56c373c4 h1:opSr2sbRXk5X5/givKrrKj9… | |
| +golang.org/x/sys v0.0.0-20200413165638-669c56c373c4/go.mod h1:h1NjWce9XRLGQEsW… | |
| +golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= | |
| +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | |
| +golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= | |
| +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= | |
| +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvY… | |
| +golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxV… | |
| +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxV… | |
| +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxV… | |
| +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjk… | |
| +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjk… | |
| +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9Y… | |
| +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7Nx… | |
| +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81Ax… | |
| +google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084… | |
| +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBL… | |
| +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkq… | |
| +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkq… | |
| +gopkg.in/ini.v1 v1.51.0 h1:AQvPpx3LzTDM0AjnIRlVFwFFGC+npRopjZxLJj6gdno= | |
| +gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= | |
| +gopkg.in/ini.v1 v1.55.0 h1:E8yzL5unfpW3M6fz/eB7Cb5MQAYSZ7GKo4Qth+N2sgQ= | |
| +gopkg.in/ini.v1 v1.55.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= | |
| +gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQ… | |
| +gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4… | |
| +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | |
| +gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= | |
| +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | |
| +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | |
| +gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10= | |
| +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | |
| +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJ… | |
| diff --git a/main.go b/main.go | |
| @@ -0,0 +1,7 @@ | |
| +package main | |
| + | |
| +import "boof/cmd" | |
| + | |
| +func main() { | |
| + cmd.Execute() | |
| +} |