Code Monkey home page Code Monkey logo

gomanta's Introduction

gomanta

The gomanta package enables Go programs to interact with the Joyent Manta service.

wercker status

Installation

Use go-get to install gomanta

go get github.com/joyent/gomanta

Packages

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

Documentation can be found on godoc.

Contributing

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.

Developing

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

Recommended Setup

$ 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)

Run Tests

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

Build the Library

cd ${GOPATH}/src/github.com/joyent/gomanta
go build ./...

License

Licensed under MPLv2.

Copyright (c) 2016 Joyent Inc. Written by Daniele Stroppa [email protected]

gomanta's People

Contributors

dstroppa avatar tgross avatar chorrell avatar davecheney avatar wallyworld avatar jclulow avatar richardiux avatar

Stargazers

Ciro S. Costa avatar Sam Gwydir avatar Christian Grabowski avatar nerguri avatar Hemanta Sapkota avatar Xe Iaso avatar Cody Krieger avatar  avatar

Watchers

Ben Rockwood avatar Chris Prather avatar Elijah Wright avatar Max Bruning avatar Richard Bradley avatar Alex Wilson avatar John Sonnenschein avatar Jerry Jelinek avatar Jens Schutt avatar Nick Zivkovic avatar Michael Zeller avatar James Cloos avatar Deirdré Straughan avatar Lloyd Dewolf avatar Jason King avatar Seong-Kook Shin avatar Peter Yorke avatar sh0x avatar benzenwen avatar Tyson avatar Dan McDonald avatar Mark Brooks avatar Brianna Bennett avatar Casey Bisson avatar Tomas Celaya avatar Credzba aka. Jing Ke avatar Travis Paul avatar Luiz Laranjeira avatar  avatar Michael Hicks avatar Troy Dietrich avatar Dylan avatar Jan Wyszynski avatar  avatar  avatar Edward  avatar Dion Cuthbert avatar Scott Hammond avatar Bill Fine avatar Luke Jarymowycz avatar Jhonas Wernery avatar Todd Whiteman avatar  avatar  avatar Jon Burgoyne avatar  avatar Carol Cobine avatar  avatar

gomanta's Issues

Allow to create directories and files outside of "stor"

Currently it is possible to write files only from /$USER/stor, but not to /$USER/public

storagePrefix is set to "/%s/stor/%s", and most checks are based on this restriction.

With the manta cli, It is possible to pass relative or absolute paths:
/user/public/my_directory or ../public/my_directory

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.