Only for development and test purpose.
OpenStackSwift is a Golang server that responds to the same calls Openstack Swift responds to. It's a convenient way to use Swift out-of-the-box without any fancy dependencies and configuration. It aims to be portable and lightweight.
OpenStackSwift doesn't support all of the Swift command set, but the basic ones like upload (with TTL), download, list, copy, authentication, and make containers are supported. More coming soon™.
https://hub.docker.com/r/mdouchement/openstackswift
$ go run cmd/swift/main.go server -b localhost
# http://localhost:5000
# tenant: test
# username: tester
# password: testing
# http://localhost:5000/v3
# tenant: test
# domain: Default
# region: RegionOne
# name: tester
# password: testing
# storage token: tk_tester
Environment variables:
SWIFT_STORAGE_TENANT
SWIFT_STORAGE_DOMAIN
SWIFT_STORAGE_USERNAME
SWIFT_STORAGE_PASSWORD
MIT. See the LICENSE for more details.
go build -ldflags "-s -w" -o swift ./cmd/swift/main.go
Running tests with coverage
go test -coverpkg=./internal/database,./internal/model,./internal/scheduler,./internal/storage,./internal/webserver,./internal/webserver/middleware,./internal/webserver/serializer,./internal/webserver/service,./internal/webserver/weberror,./internal/xpath,./tests -coverprofile=cprof.out -v ./tests/
go tool cover -html=cprof.out -o coverage.html
docker build . -t openstackswift
- Fork it
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Ensure its building and that the tests pass
- Push to the branch (git push origin my-new-feature)
- Create new Pull Request