Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given.
You can contribute in many ways:
Report bugs at https://github.com/tintoy/docker-machine-driver-terraform/issues.
If you are reporting a bug, please include:
- Your operating system name and version.
- Any details about your local setup that might be helpful in troubleshooting.
- Detailed steps to reproduce the bug.
Look through the GitHub issues for bugs. Anything tagged with "bug" and "help wanted" is open to whoever wants to implement it.
Look through the GitHub issues for features. Anything tagged with "enhancement" and "help wanted" is open to whoever wants to implement it.
The Docker Machine driver for Terraform could always use more documentation, whether as part of the official documentation, in GoDoc, or even on the web in blog posts, articles, and such.
The best way to send feedback is to file an issue at https://github.com/tintoy/docker-machine-driver-terraform/issues.
If you are proposing a feature:
- Explain in detail how it would work.
- Keep the scope as narrow as possible, to make it easier to implement.
- Remember that this is a volunteer-driven project, and that contributions are welcome :)
Ready to contribute? Here's how to set up docker-machine-driver-terraform
for local development.
- Set up your build environment:
- If you have Vagrant and VMWare / VirtualBox, you can run
vagrant up
to create a VM to work in.- The resulting VM will have your repository folder mapped into the VM as a shared folder (so you can use your regular editor on your machine, but run build commands in the VM).
- Run
vagrant ssh
to connect to the VM.
- Otherwise:
- Install Go version 1.6.x
- Make sure your GOPATH environment variable has been set.
- Run
go get -u github.com/tintoy/docker-machine-driver-terraform
. - Go to $GOPATH/src/github.com/tintoy/docker-machine-driver-terraform.
- Run
make dev
to build the provider - Run
source ./use-dev-driver.sh
to make it available to execute.
There are a couple of make targets that you'll find useful:
make fmt
- runsgo fmt
make dev
- builds the driver for the local machine's operating system and platformmake test
- runs unit testsmake build
- builds the driver for all supported operating systems and platformsmake build-windows64
- builds the driver for Windows (64-bit)make build-linux64
- builds the driver for Linux (64-bit)make build-darwin64
- builds the driver for OSX (64-bit)
make dist
- builds and packages the driver for all supported operating systems and platformsmake version
- updates the program version info
Before you submit a pull request, check that it meets these guidelines:
- Your pull request should target the development/v1.0 branch.
- The pull request should include tests (either unit or acceptance, as appropriate).
- If the pull request adds or changes functionality, the docs should be updated.
To enable extended logging from Docker Machine, set the MACHINE_DEBUG
environment variable to 1
.