Contributing

We really are open to any contributions, in the form of code, documentation, feature proposal etc.

You can add an issue in our bug tracker.

Fixing typos and enhancing the documentation

Don’t hesitate to contribute any rephrasing or enhancement in the documentation.

tsuru documentation is written using Sphinx, which uses RST.

Check out these documentation tools to learn how to write and update the documentation.

Building docs

In order to build the HTML docs, just run in a terminal window:

$ make doc

Adding new features

New features are of course very much appreciated. If you have the need and the time to work on new features, adding them to tsuru shouldn’t be that complicated. We tried to have a clean and understandable API, hope it serves the purpose.

Make sure your patches are well tested and documented.

Submitting Changes

  • Push your changes to a topic branch in your fork of the repository.
  • Submit a pull request to the repository in the tsuru organization.

Note

Before proposing your changes check that they are not breaking anything! You can run the tests to ensure this.

Development environment

See this guide to to setup a development environment using Vagrant.

See this guide to to setup a development environment using Docker Compose.

And follow our coding style guide.

Running the tests

You can use make to install all tsuru dependencies and run tests. It will also check if everything is ok with your GOPATH setup:

$ make

Please ensure that MongoDB and Redis are started before running the test suite. If you see some test failures with messages like “dial tcp 127.0.0.1:6379: connection refused” and “no reachable server”, the most likely reason is that these services are not running.

If you just want to run the tests you can use make test.

$ make test

Release Process

tsuru major releases are guided by GitHub milestones. New releases should be generated by make release version=new-version-number.

Discussing

If you find yourself in need of any help while looking at the code, you can go and find us on Gitter.

You can also start a thread in our mailing list - https://groups.google.com/forum/?fromgroups#!forum/tsuru-users