Welcome to Stackable!
This document will show you the steps needed to contribute to the Stackable Platform. Contributions can come in many shapes and forms but in this document we’ll focus on code and documentation improvements. We’ll assume you already know what the Stackable Platform is and have a specific issue that you want solved.
This document aims at getting your contribution posted as soon as possible.
The development of the Stackable Platform takes place on GitHub. On GitHub, each repository has its own issue tracker and since Stackable is a platform, there are several repositories where issues and pull-requests can be created. If you already have a good idea where the issue or pull-request belongs, then you can skip reading to the contribution steps below. Otherwise, you might want to a have a look at the Development dashboard for hints.
Lookup if an existing issue already covers your problem
Submit a new issue. If it is only a trivial change like fixing a typo then an issue is not necessary and a pull-request can be created directly.
Submit a pull-request if you want. The necessary steps to successfully create an approvable pull-request are detailed in Steps to contribute.
Respond to questions or feedback
Improve your submission if necessary
Closing your contribution
Before submitting a new issue or pull-request, it’s always a good idea to check if the issue has already been discussed in the past and if there is a resolution for it. If that is the case, consider contributing to the existing issue by either adding new feedback or code.
When creating a new issue please provide as much information as you consider relevant. Issues can be bug reports, feature requests and so on. The Stackable repositories provide templates to make it easier to submit high-quality issues.
When submitting a pull-request, you might be interested in knowing about the necessary Development Environment.
Please see the Development dashboard page to get an overview of the most important Git repositories used by us.
At the core of the Stackable Platform are Kubernetes operators used to install and manage various data products. Each operator has its own repository, and therefore its own issue tracker and build pipeline. Every operator repository contains:
The operator’s source code
One or more Custom Resource Definitions owned by the operator
Helmchart to easily install the operator
Dockerfileand related artifacts to generate the operator image
See the Development dashboard for a detailed overview.
In order to contribute source code, you need an environment that is capable of running the following tools:
Almost all build scripts assume a Unix based environment (preferably Linux).
Of course you are free to use whatever works for you best. No editor is perfect but we have positive experience with:
VisualStudio Code we also recommend the following extensions: