From 8de0cd5b4606c813983ad8451671f3e0eb2c880e Mon Sep 17 00:00:00 2001 From: Darren Coxall Date: Thu, 2 May 2013 10:13:44 +0200 Subject: [PATCH] Updated README.md Included description, usage, contributing and license --- README.md | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 60 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 51f5c71..00ef848 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,61 @@ -vagrant-golang -============== +# Golang Vagrant Environment +[Golang](http://golang.org/) has a slightly more complex setup procedure compared to other languages as it uses a *workspace* +concept. Getting the environment wrong means many of the go commands fail with some what confusing errors. +This repo aims to alleviate the problems starting a golang project by providing a vagrant environment and puppet script +that will setup and prepare all the required pre-requisits. -A quick and simply golang development environment using vagrant. +## Requirements +In order to use this repository you need the following: + +- [VirtualBox](https://www.virtualbox.org/) +- [Vagrant](http://www.vagrantup.com/) +- [Puppet](http://docs.puppetlabs.com/guides/installation.html) + +## Using vagrant-golang +This repo was developed to be copied and re-used as needed in other projects. It is only meant to make per project golang +environments easier to manage. I have tried other golang modules for puppet and they didn't work as expected. + +Clone or copy the repo and do the following: +```bash +cd /path/to/repo +vagrant up +vagrant ssh +# ... +cd /vagrant +go version +go install hello +hello +# hello, world +``` + +## Choosing golang version +This repo is hardcoded to use the most recent version at the time of writing (1.1rc1). If you want to use another version simply +change the `$version` parameter in `manifests/init.pp`. The version string is taken from the +[golang downloads list](https://code.google.com/p/go/downloads/list). Once changed you can either call `vagrant up` if you +haven't already setup the vagrant box or `vagrant provision` if the machine is already up. + +### Contributing +Any contributions are welcome. Please just fork the repo and submit a pull request when complete. + +### License +The MIT License (MIT) + +Copyright (c) 2013 Darren Coxall + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE.