* Added filter for private repos. Non private repos get redirected to
olympus
* Changed filter to allow private modules
* Changed config file name function
* Added filter tests
* The middleware returns 200 for privates, redirects public, 404 for
disabled repos
* Removed printf
* Removed forgotten printf
* Removed logger from the middleware func, not used anymore
* Removed unused (uncommented) function
* Replaced 404 with 403 in case of banned modules
* Fixed test path / cleaned olympus endpoint suffix
* Added error operation to GetVersion
* Moved filter test in custom file, reverted injection of the filter into
the app
* Removed white line
* Clarified comment for ignoring getversion error
* Added todo comment to fill the cache and serve the request with the
cache
* Added error handling to filter
* Removed commented early version of the test
* Adding benchmark for mongo and fs
* Adding delete, exists, save with other storages
* Fixing typos, adding nonexistent module exits benchmark
* Fixing delete operation in delete benchmark
* Separating non testing existing modules benchmark, shortening the benchmark name
* running benchmark in ci
* Revert "running benchmark in ci" - mongo index make duplicate records to
fail
idempotent, will fix in a separate PR.
This reverts commit f7d78262d2.
* Adding reset timer, fixing duplicate record issue
* Revert "Revert "running benchmark in ci" - mongo index make duplicate records to"
This reverts commit 40a7b33199.
* removing benchmark from ci
* Adding operation for returning errors
* Correct env variable referenced in comment for
OlympusRedisQueuePortWithDefault
* Add redis in-mem mock config for proxy
* Add redis in-mem mock config for Registry
* Use in-memory mock for Redis queue if in-mem environment variable set
* Use in-memory mock for redis queue in Olympus if environment variable
set
* Revert "Use in-memory mock for Redis queue if in-mem environment variable set"
This reverts commit 45b52e48f9.
* Revert "Add redis in-mem mock config for proxy"
This reverts commit 3373947fb5.
* Use OLYMPUS_BACKGROUND_WORKER_TYPE to control worker type used in
Olympus
* Use memory background worker type if an unexpected value is provided in
env var.
* Goget fetcher should error out if gobinpath is not valid
* Propogating the error from goget initialisation to main, to stop application
* wrapping errors with op, using exec.command(gobin).Run to verify gobin, clean up
* Inlining afero fs to goget call, and new go getfetcher
* Revert "Inlining afero fs to goget call, and new go getfetcher"
This reverts commit ae31fe6a2b.
* Fixing example test
* Athens: move storage.NotFound to errors.NotFound
* see where things went wrong
* empty means unexpected
* GCP: replace AlreadyExists err
* resolve conflicts
* Errors: change not found name
* fix build
* Replace gpc endpoint with mock backed one for tests
* Removed unnecessary log
* Removed copied file
* Removed todo comment
* Replaced bucketMock initialization with the constructor
* Added url to be checked in tests
* Added a counter to check if close was called the same time of Open /
Write
* Re-initializing the map entry for every write in order to overwrite the
content
* Moving the lock before hitting the map
* Moved the counter decrement inside the critical section
* Removed unnecessary format string
1. Gopath func doesnt seem to be used much; it is used in init func of proxy/actions/app.go which doesnt do much
2. I think relying on $GOPATH post go1.11 will lead to flaky situations
* Ensure diskRef cleans up everything in it's own GOPATH
* cleanup diskref opens. Fix err return in go_get_fetcher
* Remove Noop ref from go_get_fetcher.Fetch()
* handle temp dir cleanup and return nil diskref
* add middlewares to fill the cache and to populate contexts with module and versions
* Carolyn tries to fix Aaron's code
* #DOINSTUFF
* updated env var
* fix all the things
* magic patch for olympus
* Add latest handler
* Remove deprecated return param
* go fmt all the things
* download: add list from go cli
* download: include goget tests + hacky hack
* download: move dummyMod to pkg/module
* Olympus: pass dp and lggr to /list
* download: add Version to interface
* download: document Protocol
* Add opentracing to context for azurecdn
* Add opentracing context for s3
* Add opentracing for minio
* Add opentracing functions for mongodb
* Add tracing functions for rdbms
* Fix span name in aws.s3.upload
* add opentracing calls for storage.olympus
* Add opentracing functions to storage.gcp
* add module fetch and fetchers
* Breaking module ref out of the fetcher
* disk ref in progress
* very broken go get fetcher
* refactoring ref and fixing up the disk ref
* adding a test for the disk ref
* doing test setup right
* passing version
* fixing syntax err
* removing raw format string
in favor of a function that does the same thing
* removing obsolete godoc
* removing the switch in favor of nested if statements
hopefully this is easier to read
* passing data into the format strings
* refactoring the closer
* creating and looking for files in the root
* genericFetcher => goGetFetcher
* remove the clear method on go get fetcher
the ref returned from fetch does it
* remove unnecessary call to isVgoInstalled
calls to fetch will fail if vgo is not installed
* remove unneeded dirName
* adding preliminary test for the go get fetcher
* adding a test for fetch
* executing fetch test
* adding docs and simplifying the fetcher
* declaring the storage version up front
* fixing the source path
* creating test files in a separate function
* closing files immediately
instead of aggregating them for later. whaaat was I thinking???
* passing context into storage driver
* not closing the source file
* not putting the module name in quotes anymore
* adding a warning about deleting the package
* adding go binary name
* embedding github API limit error
* check files in the success path
* passing errors up
not just messages
* doh
* using vgo for the go get fetcher tests
* not using multierror because it's unneeded
* less code 😄
* custom error
* removing unused import
* return noop refs
* adding link to issue for the TODO
* simplifying
* simplifying moar!
* using config.FmtModVer
* simplifying
* defer closing the zip
* closing the zip
* adding comment about closing the ver.Zip
* GO_BINARY_NAME => GO_BINARY_PATH
* using errors pkg
* fixing compile err
* removing redundant args
* removing requirement that caller calls Clear on fetch error
* fixing build
* fix
* adding masterminds semver
* returning better error
and checking version format
* removing unused error
* using proper semver function
* fixin compile err
* rm that shizz
* Add opentracing for storage.fs. exists, delete, list, save
* Add opentracing for fs.Get
* Rename trace operation names to include pkg name
* Add tracing with a TODO context for fs.Get
* Athens: introduce pkg/errors
* errors: fix Ops loop
* pkg/errors: introduce M and V types to get rid of unstable parsing
* fix build
* errors: fix text + add tests
* pr updates
* common code for the cdn uploads
* fix and use in aws s3
* cleanup and review feedback
* rename const so it makes sense for other uses
* add contenttype to s3
* parallel deletes
* common code for the cdn uploads
* fix and use in aws s3
* cleanup and review feedback
* rename const so it makes sense for other uses
* add contenttype to s3
* parallel deletes
* convert gcp
* use ctx.Err()
* fix upload and del
* tests
* use common code in azure
* refactor gcp bucket
* use delete in gcp
* fix comments
* review feedback
* change pkg alias
* remove spf13/cobra and inconshreveable/mousetrap
* remove user package
* remove user package
* remove unused types, vars etc
found by using github.com/dominikh/go-tools/tree/master/cmd/unused.running unused $(go list github.com/gomods/athens/... | grep -v /vendor/)
* rm uneeded file
* add download function which downloads a ver from cdn
* use cdn download func
* save after rename
* review feedback
* just to trigger a build
* pass timeout and move to pkg/module
* use multierror
* rm empty line