The gomanta package enables Go programs to interact with the Joyent Manta service.
Use go-get
to install gomanta
go get github.com/joyent/gomanta
The gomanta package is structured as follow:
- gomanta/localservices. This package provides local services to be used for testing.
- gomanta/manta. This package interacts with the Manta API (http://apidocs.joyent.com/manta/).
Documentation can be found on godoc.
Report bugs and request features using GitHub Issues, or contribute code via a GitHub Pull Request. Changes will be code reviewed before merging. In the near future, automated tests will be run, but in the meantime please go fmt
, go lint
, and test all contributions.
This library assumes a Go development environment setup based on How to Write Go Code. Your GOPATH environment variable should be pointed at your workspace directory.
You can now use go get github.com/joyent/gomanta
to install the repository to the correct location, but if you are intending on contributing back a change you may want to consider cloning the repository via git yourself. This way you can have a single source tree for all Joyent Go projects with each repo having two remotes -- your own fork on GitHub and the upstream origin.
For example if your GOPATH is ~/src/joyent/go
and you're working on multiple repos then that directory tree might look like:
~/src/joyent/go/
|_ pkg/
|_ src/
|_ github.com
|_ joyent
|_ gocommon
|_ gomanta
|_ gosdc
|_ gosign
$ mkdir -p ${GOPATH}/src/github.com/joyent
$ cd ${GOPATH}/src/github.com/joyent
$ git clone [email protected]:<yourname>/gomanta.git
# fetch dependencies
$ git clone [email protected]:<yourname>/gocommon.git
$ git clone [email protected]:<yourname>/gosign.git
$ go get -v -t ./...
# add upstream remote
$ cd gomanta
$ git remote add upstream [email protected]:joyent/gomanta.git
$ git remote -v
origin [email protected]:<yourname>/gomanta.git (fetch)
origin [email protected]:<yourname>/gomanta.git (push)
upstream [email protected]:joyent/gomanta.git (fetch)
upstream [email protected]:joyent/gomanta.git (push)
cd ${GOPATH}/src/github.com/joyent/gomanta
go test ./...
The manta
package tests can also be run against live Manta. If you want to run this package, you can pass the -live
flag and the -key.name
flag (the latter is optional and defaults to ~/.ssh/id_rsa
) as shown below. Note that you can only run the manta
package tests this way and running the rest of the test suite with these flags will result in a test runner error ("flag provided but not defined").
cd ${GOPATH}/src/github.com/joyent/gomanta
go test ./manta -live -key.name=~/.ssh/my_key
cd ${GOPATH}/src/github.com/joyent/gomanta
go build ./...
Licensed under MPLv2.
Copyright (c) 2016 Joyent Inc. Written by Daniele Stroppa [email protected]