diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 000000000..20af2f68a --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +// Place your settings in this file to overwrite default and user settings. +{ +} \ No newline at end of file diff --git a/Makefile b/Makefile index f22bc6014..ff367fbe8 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ .PHONY: all test dep build dep: - glide install --strip-vendor + dep ensure --update build: go build -o functions @@ -24,6 +24,7 @@ run: ./functions docker-dep: +# todo: need to create a dep tool image for this (or just ditch this) docker run --rm -it -v ${CURDIR}:/go/src/github.com/iron-io/functions -w /go/src/github.com/iron-io/functions treeder/glide install -v docker-build: diff --git a/api/runner/docker-registry.go b/api/runner/docker-registry.go new file mode 100644 index 000000000..1d00b9bf3 --- /dev/null +++ b/api/runner/docker-registry.go @@ -0,0 +1,22 @@ +package runner + +import ( + "strings" +) + +type dockerRegistry struct { + Name string `json:"name"` + Username string `json:"username"` + Password string `json:"password"` +} + +type dockerRegistries []dockerRegistry + +func (t dockerRegistries) Find(name string) *dockerRegistry { + for _, v := range t { + if strings.HasSuffix(v.Name, name) { + return &v + } + } + return nil +} diff --git a/api/runner/runner.go b/api/runner/runner.go index 5ef5c50aa..835f250a1 100644 --- a/api/runner/runner.go +++ b/api/runner/runner.go @@ -228,7 +228,12 @@ func (r Runner) EnsureImageExists(ctx context.Context, cfg *task.Config) error { cfg: cfg, } - _, err := docker.CheckRegistry(ctask.Image(), ctask.DockerAuth()) + auth, err := ctask.DockerAuth() + if err != nil { + return err + } + + _, err = docker.CheckRegistry(ctask.Image(), auth) return err } diff --git a/api/runner/task.go b/api/runner/task.go index 01b28ab6e..29afc16d7 100644 --- a/api/runner/task.go +++ b/api/runner/task.go @@ -2,14 +2,57 @@ package runner import ( "context" + "encoding/json" "io" + "os" + "os/user" + "path/filepath" "time" - "github.com/fsouza/go-dockerclient" + "github.com/docker/docker/cli/config/configfile" + docker "github.com/fsouza/go-dockerclient" "github.com/iron-io/functions/api/runner/task" "github.com/iron-io/runner/drivers" ) +var registries dockerRegistries + +func init() { + + // Attempt to fetch it from an environment variable + regsettings := os.Getenv("DOCKER_AUTH") + + if regsettings == "" { + u, err := user.Current() + if err == nil { + var config configfile.ConfigFile + cfile, err := os.Open(filepath.Join(u.HomeDir, ".docker", "config.json")) + if err != nil { + return + } + err = config.LoadFromReader(cfile) + if err != nil { + return + } + + var regs []dockerRegistry + for _, auth := range config.AuthConfigs { + regs = append(regs, dockerRegistry{ + Username: auth.Username, + Password: auth.Password, + Name: auth.ServerAddress, + }) + } + + registries = dockerRegistries(regs) + } + } else { + // If we have settings, unmarshal them + json.Unmarshal([]byte(regsettings), ®istries) + } + +} + type containerTask struct { ctx context.Context cfg *task.Config @@ -31,17 +74,31 @@ func (t *containerTask) Labels() map[string]string { } } -func (t *containerTask) Id() string { return t.cfg.ID } -func (t *containerTask) Route() string { return "" } -func (t *containerTask) Image() string { return t.cfg.Image } -func (t *containerTask) Timeout() time.Duration { return t.cfg.Timeout } -func (t *containerTask) IdleTimeout() time.Duration { return t.cfg.IdleTimeout } -func (t *containerTask) Logger() (io.Writer, io.Writer) { return t.cfg.Stdout, t.cfg.Stderr } -func (t *containerTask) Volumes() [][2]string { return [][2]string{} } -func (t *containerTask) WorkDir() string { return "" } +func (t *containerTask) Id() string { return t.cfg.ID } +func (t *containerTask) Route() string { return "" } +func (t *containerTask) Image() string { return t.cfg.Image } +func (t *containerTask) Timeout() time.Duration { return t.cfg.Timeout } +func (t *containerTask) IdleTimeout() time.Duration { return t.cfg.IdleTimeout } +func (t *containerTask) Logger() (io.Writer, io.Writer) { return t.cfg.Stdout, t.cfg.Stderr } +func (t *containerTask) Volumes() [][2]string { return [][2]string{} } +func (t *containerTask) WorkDir() string { return "" } func (t *containerTask) Close() {} func (t *containerTask) WriteStat(drivers.Stat) {} -// FIXME: for now just use empty creds => public docker hub image -func (t *containerTask) DockerAuth() docker.AuthConfiguration { return docker.AuthConfiguration{} } +// Implementing the docker.AuthConfiguration interface. Pulling in +// the docker repo password from environment variables +func (t *containerTask) DockerAuth() (docker.AuthConfiguration, error) { + reg, _, _ := drivers.ParseImage(t.Image()) + authconfig := docker.AuthConfiguration{} + + if customAuth := registries.Find(reg); customAuth != nil { + authconfig = docker.AuthConfiguration{ + Password: customAuth.Password, + ServerAddress: customAuth.Name, + Username: customAuth.Username, + } + } + + return authconfig, nil +} diff --git a/circle.yml b/circle.yml index 8cf1016b2..7dca63582 100644 --- a/circle.yml +++ b/circle.yml @@ -3,7 +3,7 @@ machine: CHECKOUT_DIR: $HOME/$CIRCLE_PROJECT_REPONAME GOPATH: $HOME/go GOROOT: $HOME/golang/go - PATH: $GOROOT/bin:$PATH + PATH: $GOROOT/bin:$GOPATH/bin:/$PATH GH_IRON: $GOPATH/src/github.com/iron-io GO_PROJECT: ../go/src/github.com/iron-io/$CIRCLE_PROJECT_REPONAME services: @@ -19,19 +19,15 @@ dependencies: - wget https://storage.googleapis.com/golang/go1.8.linux-amd64.tar.gz - mkdir -p $HOME/golang - tar -C $HOME/golang -xvzf go1.8.linux-amd64.tar.gz - - wget https://github.com/Masterminds/glide/releases/download/v0.12.3/glide-v0.12.3-linux-amd64.tar.gz - - tar -C $HOME/bin -xvzf glide-v0.12.3-linux-amd64.tar.gz --strip=1 + - go get -u github.com/golang/dep/... override: - which go && go version - - glide --version - make dep: pwd: $GO_PROJECT test: override: - - make docker-test: - pwd: $GO_PROJECT - - make test-datastore: + - make test: pwd: $GO_PROJECT - make test-build-arm: pwd: $GO_PROJECT diff --git a/clients/build.rb b/clients/build.rb index 81f5926c3..1b1fb7795 100644 --- a/clients/build.rb +++ b/clients/build.rb @@ -88,7 +88,7 @@ languages.each do |l| puts "SKIPPING GO, it's manual for now." # This is using https://goswagger.io/ instead # TODO: run this build command instead: this works if run manually - # glide install -v && docker run --rm -it -v $HOME/dev/go:/go -w /go/src/github.com/iron-io/functions_go quay.io/goswagger/swagger generate client -f https://raw.githubusercontent.com/iron-io/functions/master/docs/swagger.yml -A functions + # dep ensure --update && docker run --rm -it -v $HOME/dev/go:/go -w /go/src/github.com/iron-io/functions_go quay.io/goswagger/swagger generate client -f https://raw.githubusercontent.com/iron-io/functions/master/docs/swagger.yml -A functions else gen = JSON.parse(HTTP.post("https://generator.swagger.io/api/gen/clients/#{l}", json: { diff --git a/docs/operating/kubernetes/kubernetes-production/functions-config.yaml b/docs/operating/kubernetes/kubernetes-production/functions-config.yaml index 6caa0edf5..485e04bf8 100644 --- a/docs/operating/kubernetes/kubernetes-production/functions-config.yaml +++ b/docs/operating/kubernetes/kubernetes-production/functions-config.yaml @@ -4,4 +4,4 @@ metadata: name: functions-config data: MQ_URL: redis://redis-master.default - DB_URL: postgres://postgres:mysecretpassword@postgresql-master.default/?sslmode=disable \ No newline at end of file + DB_URL: postgres://postgres:mysecretpassword@postgresql-master.default/?sslmode=disable diff --git a/docs/operating/kubernetes/kubernetes-production/functions-deployment.yaml b/docs/operating/kubernetes/kubernetes-production/functions-deployment.yaml index 26a5eed1e..13f8378d0 100644 --- a/docs/operating/kubernetes/kubernetes-production/functions-deployment.yaml +++ b/docs/operating/kubernetes/kubernetes-production/functions-deployment.yaml @@ -31,9 +31,9 @@ spec: name: functions-config key: DB_URL volumeMounts: - - mountPath: "/var/run/docker.sock" - name: docker-socket - readOnly: false + - mountPath: "/var/run/docker.sock" + name: docker-socket + readOnly: false ports: - name: http-server containerPort: 8080 diff --git a/fn/Makefile b/fn/Makefile index de477320e..bae753258 100644 --- a/fn/Makefile +++ b/fn/Makefile @@ -10,10 +10,10 @@ docker: vendor docker push iron/fn vendor: - glide install -v + dep ensure --update test: - go test -v $(shell glide nv) + go test $(go list ./... | grep -v /vendor/) release: GOOS=linux go build -o fn_linux diff --git a/glide.lock b/glide.lock deleted file mode 100644 index 3d08b328d..000000000 --- a/glide.lock +++ /dev/null @@ -1,320 +0,0 @@ -hash: c1cb358ca30836b70eedffdf0132cf9b9d0da981dbb9d58fc2f75eabe91de429 -updated: 2017-03-11T12:22:28.171415703+01:00 -imports: -- name: github.com/amir/raidman - version: c74861fe6a7bb8ede0a010ce4485bdbb4fc4c985 - subpackages: - - proto -- name: github.com/asaskevich/govalidator - version: 7b3beb6df3c42abd3509abfc3bcacc0fbfb7c877 -- name: github.com/aws/aws-sdk-go - version: 90dec2183a5f5458ee79cbaf4b8e9ab910bc81a6 - subpackages: - - aws - - aws/awserr - - aws/awsutil - - aws/client - - aws/client/metadata - - aws/corehandlers - - aws/credentials - - aws/credentials/ec2rolecreds - - aws/defaults - - aws/ec2metadata - - aws/request - - aws/session - - aws/signer/v4 - - private/endpoints - - private/protocol - - private/protocol/json/jsonutil - - private/protocol/jsonrpc - - private/protocol/rest - - private/protocol/restjson - - service/lambda -- name: github.com/Azure/go-ansiterm - version: fa152c58bc15761d0200cb75fe958b89a9d4888e - subpackages: - - winterm -- name: github.com/boltdb/bolt - version: 0d9f544bb94aac29c185968483459ef74d6deb5d -- name: github.com/cactus/go-statsd-client - version: 91c326c3f7bd20f0226d3d1c289dd9f8ce28d33d - subpackages: - - statsd -- name: github.com/ccirello/supervisor - version: 341cd52503c550c397196693601273cc290cf1b4 -- name: github.com/cenkalti/backoff - version: b02f2bbce11d7ea6b97f282ef1771b0fe2f65ef3 -- name: github.com/coreos/go-semver - version: 9474efc580562cce8f761659fbce31b6feb8ce88 - subpackages: - - semver -- name: github.com/dghubble/go-twitter - version: f310dcebe0ae1f6b73165caed281f87768c15780 - subpackages: - - twitter -- name: github.com/dghubble/oauth1 - version: 4385816142116aade2d97d0f320f9d3666e74cd9 -- name: github.com/dghubble/sling - version: c961a4334054e64299d16f8a31bd686ee2565ae4 -- name: github.com/dgrijalva/jwt-go - version: 9ed569b5d1ac936e6494082958d63a6aa4fff99a -- name: github.com/docker/distribution - version: 99cb7c0946d2f5a38015443e515dc916295064d7 - subpackages: - - context - - digest - - manifest - - manifest/schema1 - - manifest/schema2 - - reference - - uuid -- name: github.com/docker/docker - version: fddb5a7f2ab29be441bc797f7e79fffc5cc531d3 - subpackages: - - api/types - - api/types/blkiodev - - api/types/container - - api/types/filters - - api/types/mount - - api/types/network - - api/types/registry - - api/types/strslice - - api/types/swarm - - api/types/versions - - opts - - pkg/archive - - pkg/fileutils - - pkg/homedir - - pkg/idtools - - pkg/ioutils - - pkg/jsonlog - - pkg/jsonmessage - - pkg/longpath - - pkg/pools - - pkg/promise - - pkg/stdcopy - - pkg/system - - pkg/term - - pkg/term/windows -- name: github.com/docker/go-connections - version: 4ccf312bf1d35e5dbda654e57a9be4c3f3cd0366 - subpackages: - - nat -- name: github.com/docker/go-units - version: e30f1e79f3cd72542f2026ceec18d3bd67ab859c -- name: github.com/docker/libtrust - version: fa567046d9b14f6aa788882a950d69651d230b21 -- name: github.com/fsnotify/fsnotify - version: fd9ec7deca8bf46ecd2a795baaacf2b3a9be1197 -- name: github.com/fsouza/go-dockerclient - version: fbeb72ccd29aa2596f364a5a85af622c651c3e16 -- name: github.com/garyburd/redigo - version: 0708def8b0cf3a05acdf44a7f28b864c2958921d - subpackages: - - internal - - redis -- name: github.com/giantswarm/semver-bump - version: 7ec6ac8985c24dd50b4942f9a908d13cdfe70f23 - subpackages: - - bump - - storage -- name: github.com/gin-gonic/gin - version: e2212d40c62a98b388a5eb48ecbdcf88534688ba - subpackages: - - binding - - render -- name: github.com/go-ini/ini - version: 2ba15ac2dc9cdf88c110ec2dc0ced7fa45f5678c -- name: github.com/go-openapi/analysis - version: 7222828b8ce19afee3c595aef6643b9e42150120 -- name: github.com/go-openapi/errors - version: 49fe8b3a0e0d32a617d8d50c67f856ad6e45b28b -- name: github.com/go-openapi/jsonpointer - version: 8d96a2dc61536b690bd36b2e9df0b3c0b62825b2 -- name: github.com/go-openapi/jsonreference - version: 36d33bfe519efae5632669801b180bf1a245da3b -- name: github.com/go-openapi/loads - version: 315567415dfd74b651f7a62cabfc82a57ed7b9ad - subpackages: - - fmts -- name: github.com/go-openapi/runtime - version: 14b161b40ece9dac8e244ab2fde2d209e108c6f5 - subpackages: - - client -- name: github.com/go-openapi/spec - version: f7ae86df5bc115a2744343016c789a89f065a4bd -- name: github.com/go-openapi/strfmt - version: 34fc3ba7c0f5fb615fda47a2b4fbd4c641b215f2 -- name: github.com/go-openapi/swag - version: 3b6d86cd965820f968760d5d419cb4add096bdd7 -- name: github.com/go-openapi/validate - version: 027696d4b54399770f1cdcc6c6daa56975f9e14e -- name: github.com/go-resty/resty - version: ef723efa2a1b4fcdbafb5b1e7c6cf42065519728 -- name: github.com/go-sql-driver/mysql - version: a0583e0143b1624142adab07e0e97fe106d99561 -- name: github.com/golang/groupcache - version: 72d04f9fcdec7d3821820cc4a6f150eae553639a - subpackages: - - consistenthash - - singleflight -- name: github.com/golang/protobuf - version: 2402d76f3d41f928c7902a765dfc872356dd3aad - subpackages: - - proto -- name: github.com/google/btree - version: 0c3044bc8bada22db67b93f5760fe3f05d6a5c25 -- name: github.com/google/go-querystring - version: 9235644dd9e52eeae6fa48efd539fdc351a0af53 - subpackages: - - query -- name: github.com/gorilla/context - version: 14f550f51af52180c2eefed15e5fd18d63c0a64a -- name: github.com/gorilla/mux - version: e444e69cbd2e2e3e0749a2f3c717cec491552bbf -- name: github.com/hashicorp/go-cleanhttp - version: ad28ea4487f05916463e2423a55166280e8254b5 -- name: github.com/hashicorp/hcl - version: 37ab263305aaeb501a60eb16863e808d426e37f2 - subpackages: - - hcl/ast - - hcl/parser - - hcl/scanner - - hcl/strconv - - hcl/token - - json/parser - - json/scanner - - json/token -- name: github.com/heroku/docker-registry-client - version: 36bd5f538a6b9e70f2d863c9a8f6bf955a98eddc - subpackages: - - registry -- name: github.com/iron-io/functions_go - version: 69e4dec8454c3c710045263c2ede76139c141146 - subpackages: - - client - - client/apps - - client/routes - - client/tasks - - client/version - - models -- name: github.com/iron-io/iron_go3 - version: b50ecf8ff90187fc5fabccd9d028dd461adce4ee - subpackages: - - api - - config - - mq - - worker -- name: github.com/iron-io/lambda - version: 4a046af3249dd5933a8d328f965e9717c97fef24 - subpackages: - - lambda -- name: github.com/iron-io/runner - version: 64628300dc9a81328c4ee6a81068f2c3a1e430f0 - subpackages: - - common - - common/stats - - drivers - - drivers/docker - - drivers/mock -- name: github.com/jmespath/go-jmespath - version: bd40a432e4c76585ef6b72d3fd96fb9b6dc7b68d -- name: github.com/jmoiron/jsonq - version: e874b168d07ecc7808bc950a17998a8aa3141d82 -- name: github.com/juju/errgo - version: 08cceb5d0b5331634b9826762a8fd53b29b86ad8 - subpackages: - - errors -- name: github.com/lib/pq - version: 4a82388ebc5138c8289fe9bc602cb0b3e32cd617 - subpackages: - - oid -- name: github.com/magiconair/properties - version: 9c47895dc1ce54302908ab8a43385d1f5df2c11c -- name: github.com/mailru/easyjson - version: 9d6630dc8c577b56cb9687a9cf9e8578aca7298a - subpackages: - - buffer - - jlexer - - jwriter -- name: github.com/manucorporat/sse - version: ee05b128a739a0fb76c7ebd3ae4810c1de808d6d -- name: github.com/mattn/go-isatty - version: 30a891c33c7cde7b02a981314b4228ec99380cca -- name: github.com/Microsoft/go-winio - version: 24a3e3d3fc7451805e09d11e11e95d9a0a4f205e -- name: github.com/mitchellh/mapstructure - version: bfdb1a85537d60bc7e954e600c250219ea497417 -- name: github.com/opencontainers/runc - version: 083933fb9092a3d65d682ba34a08676104c95462 - subpackages: - - libcontainer/system - - libcontainer/user -- name: github.com/pelletier/go-buffruneio - version: df1e16fde7fc330a0ca68167c23bf7ed6ac31d6d -- name: github.com/pelletier/go-toml - version: 017119f7a78a0b5fc0ea39ef6be09f03acf3345d -- name: github.com/pivotal-golang/bytefmt - version: b12c1522f4cbb5f35861bd5dd2c39a4fa996441a -- name: github.com/pkg/errors - version: 248dadf4e9068a0b3e79f02ed0a610d935de5302 -- name: github.com/PuerkitoBio/purell - version: 0bcb03f4b4d0a9428594752bd2a3b9aa0a9d4bd4 -- name: github.com/PuerkitoBio/urlesc - version: 5bd2802263f21d8788851d5305584c82a5c75d7e -- name: github.com/satori/go.uuid - version: 879c5887cd475cd7864858769793b2ceb0d44feb -- name: github.com/Sirupsen/logrus - version: 0208149b40d863d2c1a2f8fe5753096a9cf2cc8b - subpackages: - - hooks/syslog -- name: github.com/spf13/afero - version: 2f30b2a92c0e5700bcfe4715891adb1f2a7a406d - subpackages: - - mem -- name: github.com/spf13/cast - version: 24b6558033ffe202bf42f0f3b870dcc798dd2ba8 -- name: github.com/spf13/jwalterweatherman - version: 33c24e77fb80341fe7130ee7c594256ff08ccc46 -- name: github.com/spf13/pflag - version: 5ccb023bc27df288a957c5e994cd44fd19619465 -- name: github.com/spf13/viper - version: 5ed0fc31f7f453625df314d8e66b9791e8d13003 -- name: github.com/urfave/cli - version: 0bdeddeeb0f650497d603c4ad7b20cfe685682f6 -- name: golang.org/x/crypto - version: 9a6f0a01987842989747adff311d80750ba25530 - subpackages: - - bcrypt - - blowfish -- name: golang.org/x/net - version: f315505cf3349909cdf013ea56690da34e96a451 - subpackages: - - context - - context/ctxhttp - - idna - - proxy - - publicsuffix -- name: golang.org/x/sys - version: 478fcf54317e52ab69f40bb4c7a1520288d7f7ea - subpackages: - - unix - - windows -- name: golang.org/x/text - version: 47a200a05c8b3fd1b698571caecbb68beb2611ec - subpackages: - - transform - - unicode/norm - - width -- name: gopkg.in/go-playground/validator.v8 - version: c193cecd124b5cc722d7ee5538e945bdb3348435 -- name: gopkg.in/mgo.v2 - version: 3f83fa5005286a7fe593b055f0d7771a7dce4655 - subpackages: - - bson - - internal/json - - internal/sasl - - internal/scram -- name: gopkg.in/yaml.v2 - version: a5b47d31c556af34a302ce5d659e6fea44d90de0 -testImports: [] diff --git a/glide.yaml b/glide.yaml deleted file mode 100644 index 8b69effa5..000000000 --- a/glide.yaml +++ /dev/null @@ -1,40 +0,0 @@ -package: github.com/iron-io/functions -import: -- package: github.com/Sirupsen/logrus -- package: github.com/boltdb/bolt -- package: github.com/garyburd/redigo - subpackages: - - redis -- package: github.com/gin-gonic/gin -- package: github.com/go-openapi/errors -- package: github.com/go-openapi/strfmt -- package: github.com/go-openapi/swag -- package: github.com/go-openapi/validate -- package: github.com/google/btree -- package: github.com/lib/pq -- package: github.com/satori/go.uuid - version: v1.1.0 -- package: github.com/spf13/viper -- package: golang.org/x/crypto - subpackages: - - bcrypt -- package: golang.org/x/net - subpackages: - - context -- package: gopkg.in/mgo.v2 - subpackages: - - bson -- package: github.com/cactus/go-statsd-client - version: ^3.1.0 - subpackages: - - statsd -- package: github.com/ccirello/supervisor - version: v0.5.1 -- package: github.com/iron-io/runner -- package: github.com/iron-io/functions_go - version: master -- package: github.com/golang/groupcache - subpackages: - - consistenthash -- package: github.com/go-sql-driver/mysql - version: ~1.3.0 diff --git a/lock.json b/lock.json new file mode 100644 index 000000000..829633cc9 --- /dev/null +++ b/lock.json @@ -0,0 +1,771 @@ +{ + "memo": "b1d8fb99dd0be5e266f87c29d0e8a747c97445b6b0590db81d6fc88a2b5eca0f", + "projects": [ + { + "name": "code.cloudfoundry.org/bytefmt", + "branch": "master", + "revision": "a75017a21993c80187c7fa4f3c1ec22ddd6a8cd5", + "packages": [ + "." + ] + }, + { + "name": "github.com/Azure/go-ansiterm", + "branch": "master", + "revision": "fa152c58bc15761d0200cb75fe958b89a9d4888e", + "packages": [ + ".", + "winterm" + ] + }, + { + "name": "github.com/Microsoft/go-winio", + "version": "v0.3.8", + "revision": "fff283ad5116362ca252298cfc9b95828956d85d", + "packages": [ + "." + ] + }, + { + "name": "github.com/Nvveen/Gotty", + "branch": "master", + "revision": "cd527374f1e5bff4938207604a14f2e38a9cf512", + "packages": [ + "." + ] + }, + { + "name": "github.com/PuerkitoBio/purell", + "version": "v1.1.0", + "revision": "0bcb03f4b4d0a9428594752bd2a3b9aa0a9d4bd4", + "packages": [ + "." + ] + }, + { + "name": "github.com/PuerkitoBio/urlesc", + "branch": "master", + "revision": "bbf7a2afc14f93e1e0a5c06df524fbd75e5031e5", + "packages": [ + "." + ] + }, + { + "name": "github.com/Sirupsen/logrus", + "branch": "master", + "revision": "10f801ebc38b33738c9d17d50860f484a0988ff5", + "packages": [ + ".", + "hooks/syslog" + ] + }, + { + "name": "github.com/amir/raidman", + "branch": "master", + "revision": "c74861fe6a7bb8ede0a010ce4485bdbb4fc4c985", + "packages": [ + ".", + "proto" + ] + }, + { + "name": "github.com/asaskevich/govalidator", + "version": "v5", + "revision": "7b3beb6df3c42abd3509abfc3bcacc0fbfb7c877", + "packages": [ + "." + ] + }, + { + "name": "github.com/aws/aws-sdk-go", + "branch": "master", + "revision": "0bbc97afc1bd36f23958f2f26764ecf0253834bd", + "packages": [ + "aws", + "aws/awserr", + "aws/awsutil", + "aws/client", + "aws/client/metadata", + "aws/corehandlers", + "aws/credentials", + "aws/credentials/ec2rolecreds", + "aws/credentials/endpointcreds", + "aws/credentials/stscreds", + "aws/defaults", + "aws/ec2metadata", + "aws/endpoints", + "aws/request", + "aws/session", + "aws/signer/v4", + "private/protocol", + "private/protocol/json/jsonutil", + "private/protocol/jsonrpc", + "private/protocol/query", + "private/protocol/query/queryutil", + "private/protocol/rest", + "private/protocol/restjson", + "private/protocol/xml/xmlutil", + "service/lambda", + "service/sts" + ] + }, + { + "name": "github.com/boltdb/bolt", + "branch": "master", + "revision": "e9cf4fae01b5a8ff89d0ec6b32f0d9c9f79aefdd", + "packages": [ + "." + ] + }, + { + "name": "github.com/cactus/go-statsd-client", + "branch": "master", + "revision": "d8eabe07bc70ff9ba6a56836cde99d1ea3d005f7", + "packages": [ + "statsd" + ] + }, + { + "name": "github.com/ccirello/supervisor", + "version": "v0.5.3", + "revision": "3ae4051c50e006498b4b8aee130185a53caab86e", + "packages": [ + "." + ] + }, + { + "name": "github.com/cenkalti/backoff", + "version": "v1.0.0", + "revision": "32cd0c5b3aef12c76ed64aaf678f6c79736be7dc", + "packages": [ + "." + ] + }, + { + "name": "github.com/coreos/go-semver", + "version": "v0.2.0", + "revision": "8ab6407b697782a06568d4b7f1db25550ec2e4c6", + "packages": [ + "semver" + ] + }, + { + "name": "github.com/dghubble/go-twitter", + "branch": "master", + "revision": "fc93bb35701bb85903d17daa80a21a824b9c592f", + "packages": [ + "twitter" + ] + }, + { + "name": "github.com/dghubble/oauth1", + "version": "v0.4.0", + "revision": "70562a5920ad9b6ff03ef697c0f90ae569abbd2b", + "packages": [ + "." + ] + }, + { + "name": "github.com/dghubble/sling", + "version": "v1.1.0", + "revision": "eb56e89ac5088bebb12eef3cb4b293300f43608b", + "packages": [ + "." + ] + }, + { + "name": "github.com/dgrijalva/jwt-go", + "branch": "master", + "revision": "2268707a8f0843315e2004ee4f1d021dc08baedf", + "packages": [ + "." + ] + }, + { + "name": "github.com/docker/distribution", + "version": "v2.6.1", + "revision": "a25b9ef0c9fe242ac04bb20d3a028442b7d266b6", + "packages": [ + ".", + "context", + "digest", + "manifest", + "manifest/schema1", + "manifest/schema2", + "reference", + "uuid" + ] + }, + { + "name": "github.com/docker/docker", + "branch": "master", + "revision": "e4c608abe99b0ca2a1a454792780da8f59674f12", + "packages": [ + "api/types", + "api/types/blkiodev", + "api/types/container", + "api/types/filters", + "api/types/mount", + "api/types/network", + "api/types/registry", + "api/types/strslice", + "api/types/swarm", + "api/types/versions", + "opts", + "pkg/archive", + "pkg/fileutils", + "pkg/homedir", + "pkg/idtools", + "pkg/ioutils", + "pkg/jsonlog", + "pkg/jsonmessage", + "pkg/longpath", + "pkg/pools", + "pkg/promise", + "pkg/stdcopy", + "pkg/system", + "pkg/term", + "pkg/term/windows" + ] + }, + { + "name": "github.com/docker/go-connections", + "version": "v0.2.1", + "revision": "990a1a1a70b0da4c4cb70e117971a4f0babfbf1a", + "packages": [ + "nat" + ] + }, + { + "name": "github.com/docker/go-units", + "version": "v0.3.1", + "revision": "f2d77a61e3c169b43402a0a1e84f06daf29b8190", + "packages": [ + "." + ] + }, + { + "name": "github.com/docker/libtrust", + "branch": "master", + "revision": "aabc10ec26b754e797f9028f4589c5b7bd90dc20", + "packages": [ + "." + ] + }, + { + "name": "github.com/fsnotify/fsnotify", + "version": "v1.4.2", + "revision": "629574ca2a5df945712d3079857300b5e4da0236", + "packages": [ + "." + ] + }, + { + "name": "github.com/fsouza/go-dockerclient", + "branch": "master", + "revision": "e24e809e9db395f1e3c85af1b88f2002023610f5", + "packages": [ + "." + ] + }, + { + "name": "github.com/garyburd/redigo", + "version": "v1.0.0", + "revision": "8873b2f1995f59d4bcdd2b0dc9858e2cb9bf0c13", + "packages": [ + "internal", + "redis" + ] + }, + { + "name": "github.com/giantswarm/semver-bump", + "version": "1.1.1", + "revision": "88e6c9f2fe390c48839eaba32490fd09cb3b581c", + "packages": [ + "bump", + "storage" + ] + }, + { + "name": "github.com/gin-gonic/gin", + "version": "v1.1.4", + "revision": "e2212d40c62a98b388a5eb48ecbdcf88534688ba", + "packages": [ + ".", + "binding", + "render" + ] + }, + { + "name": "github.com/go-ini/ini", + "version": "v1.27.0", + "revision": "e7fea39b01aea8d5671f6858f0532f56e8bff3a5", + "packages": [ + "." + ] + }, + { + "name": "github.com/go-openapi/analysis", + "branch": "master", + "revision": "d5a75b7d751ca3f11ad5d93cfe97405f2c3f6a47", + "packages": [ + "." + ] + }, + { + "name": "github.com/go-openapi/errors", + "branch": "master", + "revision": "fc3f73a224499b047eda7191e5d22e1e9631e86f", + "packages": [ + "." + ] + }, + { + "name": "github.com/go-openapi/jsonpointer", + "branch": "master", + "revision": "779f45308c19820f1a69e9a4cd965f496e0da10f", + "packages": [ + "." + ] + }, + { + "name": "github.com/go-openapi/jsonreference", + "branch": "master", + "revision": "36d33bfe519efae5632669801b180bf1a245da3b", + "packages": [ + "." + ] + }, + { + "name": "github.com/go-openapi/loads", + "branch": "master", + "revision": "6bb6486231e079ea125c0f39994ed3d0c53399ed", + "packages": [ + ".", + "fmts" + ] + }, + { + "name": "github.com/go-openapi/runtime", + "branch": "master", + "revision": "e66a4c4406028a04ddafd6002c378ffd3db7e52b", + "packages": [ + ".", + "client" + ] + }, + { + "name": "github.com/go-openapi/spec", + "branch": "master", + "revision": "02fb9cd3430ed0581e0ceb4804d5d4b3cc702694", + "packages": [ + "." + ] + }, + { + "name": "github.com/go-openapi/strfmt", + "branch": "master", + "revision": "93a31ef21ac23f317792fff78f9539219dd74619", + "packages": [ + "." + ] + }, + { + "name": "github.com/go-openapi/swag", + "branch": "master", + "revision": "d5f8ebc3b1c55a4cf6489eeae7354f338cfe299e", + "packages": [ + "." + ] + }, + { + "name": "github.com/go-openapi/validate", + "branch": "master", + "revision": "035dcd74f1f61e83debe1c22950dc53556e7e4b2", + "packages": [ + "." + ] + }, + { + "name": "github.com/go-resty/resty", + "version": "v0.11", + "revision": "c45c7bcc0000d1a9ac1b119b2e6043c6540eedea", + "packages": [ + "." + ] + }, + { + "name": "github.com/go-sql-driver/mysql", + "version": "v1.3", + "revision": "a0583e0143b1624142adab07e0e97fe106d99561", + "packages": [ + "." + ] + }, + { + "name": "github.com/golang/groupcache", + "branch": "master", + "revision": "72d04f9fcdec7d3821820cc4a6f150eae553639a", + "packages": [ + "consistenthash", + "singleflight" + ] + }, + { + "name": "github.com/golang/protobuf", + "branch": "master", + "revision": "2bba0603135d7d7f5cb73b2125beeda19c09f4ef", + "packages": [ + "proto" + ] + }, + { + "name": "github.com/google/btree", + "branch": "master", + "revision": "316fb6d3f031ae8f4d457c6c5186b9e3ded70435", + "packages": [ + "." + ] + }, + { + "name": "github.com/google/go-querystring", + "branch": "master", + "revision": "53e6ce116135b80d037921a7fdd5138cf32d7a8a", + "packages": [ + "query" + ] + }, + { + "name": "github.com/gorilla/context", + "version": "v1.1", + "revision": "1ea25387ff6f684839d82767c1733ff4d4d15d0a", + "packages": [ + "." + ] + }, + { + "name": "github.com/gorilla/mux", + "version": "v1.3.0", + "revision": "392c28fe23e1c45ddba891b0320b3b5df220beea", + "packages": [ + "." + ] + }, + { + "name": "github.com/hashicorp/go-cleanhttp", + "branch": "master", + "revision": "3573b8b52aa7b37b9358d966a898feb387f62437", + "packages": [ + "." + ] + }, + { + "name": "github.com/hashicorp/hcl", + "branch": "master", + "revision": "630949a3c5fa3c613328e1b8256052cbc2327c9b", + "packages": [ + ".", + "hcl/ast", + "hcl/parser", + "hcl/scanner", + "hcl/strconv", + "hcl/token", + "json/parser", + "json/scanner", + "json/token" + ] + }, + { + "name": "github.com/heroku/docker-registry-client", + "branch": "master", + "revision": "95467b6cacee2a06f112a3cf7e47a70fad6000cf", + "packages": [ + "registry" + ] + }, + { + "name": "github.com/iron-io/functions_go", + "branch": "master", + "revision": "69e4dec8454c3c710045263c2ede76139c141146", + "packages": [ + ".", + "client", + "client/apps", + "client/routes", + "client/tasks", + "client/version", + "models" + ] + }, + { + "name": "github.com/iron-io/iron_go3", + "branch": "master", + "revision": "830335d420db87fc84cbff7f0d1348a46b499946", + "packages": [ + "api", + "config", + "mq" + ] + }, + { + "name": "github.com/iron-io/runner", + "branch": "newdep", + "revision": "9510b638525cdec8b434cc28fcd5bd80aba31918", + "packages": [ + "common", + "common/stats", + "drivers", + "drivers/docker", + "drivers/mock" + ] + }, + { + "name": "github.com/jmespath/go-jmespath", + "version": "0.2.2", + "revision": "3433f3ea46d9f8019119e7dd41274e112a2359a9", + "packages": [ + "." + ] + }, + { + "name": "github.com/jmoiron/jsonq", + "branch": "master", + "revision": "e874b168d07ecc7808bc950a17998a8aa3141d82", + "packages": [ + "." + ] + }, + { + "name": "github.com/juju/errgo", + "branch": "master", + "revision": "08cceb5d0b5331634b9826762a8fd53b29b86ad8", + "packages": [ + "errors" + ] + }, + { + "name": "github.com/lib/pq", + "branch": "master", + "revision": "2704adc878c21e1329f46f6e56a1c387d788ff94", + "packages": [ + ".", + "oid" + ] + }, + { + "name": "github.com/magiconair/properties", + "version": "v1.7.2", + "revision": "f917359f079a3759162704eaa8caeec3d01d9f91", + "packages": [ + "." + ] + }, + { + "name": "github.com/mailru/easyjson", + "branch": "master", + "revision": "2af9a745a611440bab0528e5ac19b2805a1c50eb", + "packages": [ + "buffer", + "jlexer", + "jwriter" + ] + }, + { + "name": "github.com/manucorporat/sse", + "branch": "master", + "revision": "ee05b128a739a0fb76c7ebd3ae4810c1de808d6d", + "packages": [ + "." + ] + }, + { + "name": "github.com/mattn/go-isatty", + "version": "v0.0.2", + "revision": "fc9e8d8ef48496124e79ae0df75490096eccf6fe", + "packages": [ + "." + ] + }, + { + "name": "github.com/mitchellh/mapstructure", + "branch": "master", + "revision": "53818660ed4955e899c0bcafa97299a388bd7c8e", + "packages": [ + "." + ] + }, + { + "name": "github.com/opencontainers/runc", + "version": "v0.1.1", + "revision": "baf6536d6259209c3edfa2b22237af82942d3dfa", + "packages": [ + "libcontainer/system", + "libcontainer/user" + ] + }, + { + "name": "github.com/pelletier/go-buffruneio", + "version": "v0.2.0", + "revision": "c37440a7cf42ac63b919c752ca73a85067e05992", + "packages": [ + "." + ] + }, + { + "name": "github.com/pelletier/go-toml", + "version": "v0.5.0", + "revision": "13d49d4606eb801b8f01ae542b4afc4c6ee3d84a", + "packages": [ + "." + ] + }, + { + "name": "github.com/petar/GoLLRB", + "branch": "master", + "revision": "53be0d36a84c2a886ca057d34b6aa4468df9ccb4", + "packages": [ + "llrb" + ] + }, + { + "name": "github.com/pkg/errors", + "version": "v0.8.0", + "revision": "645ef00459ed84a119197bfb8d8205042c6df63d", + "packages": [ + "." + ] + }, + { + "name": "github.com/satori/go.uuid", + "version": "v1.1.0", + "revision": "879c5887cd475cd7864858769793b2ceb0d44feb", + "packages": [ + "." + ] + }, + { + "name": "github.com/spf13/afero", + "branch": "master", + "revision": "9be650865eab0c12963d8753212f4f9c66cdcf12", + "packages": [ + ".", + "mem" + ] + }, + { + "name": "github.com/spf13/cast", + "version": "v1.0.0", + "revision": "ce135a4ebeee6cfe9a26c93ee0d37825f26113c7", + "packages": [ + "." + ] + }, + { + "name": "github.com/spf13/jwalterweatherman", + "branch": "master", + "revision": "fa7ca7e836cf3a8bb4ebf799f472c12d7e903d66", + "packages": [ + "." + ] + }, + { + "name": "github.com/spf13/pflag", + "branch": "master", + "revision": "9a906f17374922ed0f74e1b2f593d3723f2ffb00", + "packages": [ + "." + ] + }, + { + "name": "github.com/spf13/viper", + "branch": "master", + "revision": "84f94806c67f59dd7ae87bc5351f7a9c94a4558d", + "packages": [ + "." + ] + }, + { + "name": "github.com/urfave/cli", + "version": "v1.19.1", + "revision": "0bdeddeeb0f650497d603c4ad7b20cfe685682f6", + "packages": [ + "." + ] + }, + { + "name": "golang.org/x/crypto", + "branch": "master", + "revision": "c2303dcbe84172e0c0da4c9f083eeca54c06f298", + "packages": [ + "bcrypt", + "blowfish" + ] + }, + { + "name": "golang.org/x/net", + "branch": "master", + "revision": "ffcf1bedda3b04ebb15a168a59800a73d6dc0f4d", + "packages": [ + "context", + "context/ctxhttp", + "idna", + "proxy", + "publicsuffix" + ] + }, + { + "name": "golang.org/x/sys", + "branch": "master", + "revision": "39e3dc274464e7d2f663aa606a830611bae5f1db", + "packages": [ + "unix", + "windows" + ] + }, + { + "name": "golang.org/x/text", + "branch": "master", + "revision": "f4b4367115ec2de254587813edaa901bc1c723a8", + "packages": [ + "internal/gen", + "internal/triegen", + "internal/ucd", + "secure/bidirule", + "transform", + "unicode/bidi", + "unicode/cldr", + "unicode/norm", + "unicode/rangetable", + "width" + ] + }, + { + "name": "gopkg.in/go-playground/validator.v8", + "version": "v8.18.1", + "revision": "5f57d2222ad794d0dffb07e664ea05e2ee07d60c", + "packages": [ + "." + ] + }, + { + "name": "gopkg.in/mgo.v2", + "branch": "v2", + "revision": "3f83fa5005286a7fe593b055f0d7771a7dce4655", + "packages": [ + ".", + "bson", + "internal/json", + "internal/sasl", + "internal/scram" + ] + }, + { + "name": "gopkg.in/yaml.v2", + "branch": "v2", + "revision": "a3f3340b5840cee44f372bddb5880fcbc419b46a", + "packages": [ + "." + ] + } + ] +} diff --git a/manifest.json b/manifest.json new file mode 100644 index 000000000..3ccee4513 --- /dev/null +++ b/manifest.json @@ -0,0 +1,61 @@ +{ + "dependencies": { + "github.com/Sirupsen/logrus": { + "branch": "master" + }, + "github.com/aws/aws-sdk-go": { + "branch": "master" + }, + "github.com/boltdb/bolt": { + "branch": "master" + }, + "github.com/dgrijalva/jwt-go": { + "branch": "master" + }, + "github.com/docker/docker": { + "branch": "master" + }, + "github.com/fsouza/go-dockerclient": { + "branch": "master" + }, + "github.com/gin-gonic/gin": { + "branch": "master" + }, + "github.com/go-openapi/errors": { + "branch": "master" + }, + "github.com/go-openapi/runtime": { + "branch": "master" + }, + "github.com/go-openapi/strfmt": { + "branch": "master" + }, + "github.com/go-openapi/swag": { + "branch": "master" + }, + "github.com/iron-io/functions_go": { + "branch": "master" + }, + "github.com/iron-io/iron_go3": { + "branch": "master" + }, + "github.com/iron-io/runner": { + "branch": "newdep" + }, + "github.com/lib/pq": { + "branch": "master" + }, + "github.com/spf13/viper": { + "branch": "master" + }, + "golang.org/x/crypto": { + "branch": "master" + }, + "gopkg.in/mgo.v2": { + "branch": "v2" + }, + "gopkg.in/yaml.v2": { + "branch": "v2" + } + } +}