...
Three packages will be provided:
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 igniteignite3-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
...
...
NOTE: All formats and running options MUST provide possibility to run multiple instances of igniteignite3-core db module.
The file includes:
Installation:
Uninstallation v1:
Uninstallation v2:
Upgrade v1:
Upgrade v2:
...
Zip archive can be built with a maven/ gradle plugin or a script.
The package includes:
Installation:
Uninstallation:
Upgrade:
...
NOTE: Also in the future it is necessary to consider the possibility of adding our packages to the standard repositories of common distributions.
...
There is also a way to create Formula via a gradle plugin https://github.com/jreleaser/jreleaser
Installation:
Uninstallation:
Upgrade:
...
A lot of product publishing in SDKMan java, kotlin, scala, maven, gradle, sbt, Scala CLI, Quarkus CLI, Apache ActiveMQ, Flink, Spark, etc.
InstallationInstall:
sdk install ignite 3.0.0-SNAPSHOT (or another version)
Uninstallation:
ignite3 ${version}
Uninstall:
sdk uninstall ignite3 sdk uninstall ignite ${version}
Upgrade:
sdk upgrade ignite3
List:
sdk list ignite (or igniteignite3-cli)
Publishing process is described here and it's not much different from other package managers.
Also publishing process can be simplified by using https://github.com/jreleaser/jreleaser or https://github.com/sdkman/sdkman-vendor-gradle-plugin
For the igniteignite3-core db module we also should build a Docker image which can be used for easy Apache Ignite startup.
...
Also https://jreleaser.org/guide/latest/examples/micronaut-cli-app.html provides native support of Micronaut CLI project which is Apache Ignite CLI.
TDB
// Describe project risks, such as API or binary compatibility issues, major protocol changes, etc.
// Links to discussions on the devlist, if applicable.
// Links to various reference documents, if applicable.TDB
// Links or report with relevant JIRA tickets.