Skip to content

Latest commit

 

History

History
67 lines (38 loc) · 2.89 KB

contribution_guide.adoc

File metadata and controls

67 lines (38 loc) · 2.89 KB

Contribution Guide

First and foremost thank you very much for your interest in our project and willing to make it better by contributing.

Before we dive into technicalities on how to build and run it let’s emphasize that there are other means of contributing which we value as much.

  • Issues and feature requests.

  • Documentation improvements.

  • Blogging.

  • Spreading the word on conferences and user groups.

Reporting issues

It’s important to us that the tool we are building gives our users smooth and enjoyable experience.

Filing issues is extremely valuable contribution and to make it easier for you, we prepared a template which will guide you through this process.

Pull Requests

We would love to see a pull request from, even if it’s a typo.

There are not many strict rules or guidelines to follow, as we strive to automate as much as possible, however, if your work is non-trivial please make sure there’s associated issue with it. This will help us to prepare release notes.

If you don’t know where to start - have a look at good first issues.

Development

Setup

Assuming that you have all the Golang prerequisites in place, clone the repository first:

$ git clone https://github.com/maistra/istio-workspace $GOPATH/src/github.com/maistra/istio-workspace
Tip
Have a look how Go Version Manager can help you simplify configuration and management of different versions of Go.

We rely on following tools:

Build process takes care of installing those binaries on your behalf. You can also run make tools to install them.

Coding

From now on you are ready to hack. Open your favorite IDE and start right away! To build and test the code simply run make.

Tip
Run make help to see what other targets are available.

Testing

The default make target executes unit tests. When developing you can also use ginkgo watch, so they are run whenever the change in the code occur. This makes feedback loop faster.

We also have end-to-end tests (make test-e2e) for which you need to have Kubernetes cluster with Istio installed.

In our CI we rely on Maistra which bundles OpenShift and Istio. Visit their installation guide to see how else you can enable Istio in your cluster.

Tip
Check our Development Guide for more details!