...
Currently, Ignite 3 does not have a ready-made mechanism for delivering the required components to the user. The purpose of this IEP is to work out and create all kinds of options for packaging and distribution the required components of Ignite 3 to the user, taking into account the UX of various user platforms and OS.
As ready-made resulting packages, it is planned to make only completely independent parts of Apache Ignite. At the moment only Ignite core part and Ignite CLI can work as standalone applications and these applications should be distributed as OS specific packages for all supported platforms. (Linux, Windows, MacOs). However, we will publish not only compiled packages, there is a need to publish individual parts of Apache Ignite that are not standalone applications, and we need to provide the user with the access to these parts. The prime candidate for this is the ignite-client with all its subparts (JDBC, SQL Api, etc Api). More about this will be described in paragraph Publishing.
...
Every package will be available as a downloadable ZIP file, and as OS-specific packages (RPM, DEB, Brew …).
This package can only be used to connect to a remote (or local) cluster. Once the package is installed, the user gets access to the Ignite CLI tool via the ignite command.
...
NOTE: It is possible to build an ignite-cli executable with GraalVM native-image technology. This approach can provide a significant performance boost during CLI startup. This performance increase can be tested and presented to the community as part of this work.
This package provides an ability to run nodes on the local server. It includes:
...
Scripts can be used by a user directly, or by OS-level services. Mix-and-match of these two approaches should be disallowed.
This is a meta package that includes everything listed for the other two packages.
TBD. Currently IEP for odbc not ready.
TBD.
TBD
The issue of publishing assembled packages should be highlighted in a separate paragraph.
...