This document describes the guidelines to submit new ideas such as new features and components to Open Data Hub. This specifically pertains to new components or large features that require an architecture review or a re-design of existing components. This document does not apply to small or incremental features, for those please open an issue with a "feature" label in the Open Data Hub project
Proposed components must have the following basic requirements:
- The component is an open source project with a valid open source license.
- The component should be aligned with Open Data Hub goals, architecture and roadmap.
- All build and source files for the component must be publicly available.
- For component images and builds it is recommended to use Red Hat Universal Base Images (UBI) based images.
- The component must run on OpenShift or OKD platform.
The first step in submitting a new component or a feature in Open Data Hub is to create a proposal document and place that in the proposal folder. Please name the file accordingly: .md. The following information must be included in the proposal document
- High level description of the component along with a high level architecture diagram.
- A detailed description of the user use cases this components will provide.
- Lower level implementation design and details that include information such as integration implementation details, artifacts, endpoints, security considerations, multi-user support, authentication, etc.
Present your proposal to the Open Data Hub Community in one of the community meetings. You can add your item to the agenda by editing the wiki page and attending the appropriate ODH community meeting in this calendar.
Open an Issue in the Open Data Hub Jira project describing the proposed component and pointing to the proposal documentation. In this issue the Open Data Hub community will discuss the new component and decide whether or not to move forward.
Once the opened issue is resolved and there is approval from the Open Data Hub community, a pull request with the implementation details can be submitted. A pull request must include comprehensive unit tests for the component integrated with Open Data Hub testing framework. If the component includes a UI element, integration with the Open Data Hub dashboard must also be included. It is also required that all new components expose a Prometheus endpoint for metric gathering.