- Notifications
You must be signed in to change notification settings - Fork408
Pravega - Streaming as a new software defined storage primitive
License
pravega/pravega
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Pravega is an open source distributed storage service implementingStreams. It offers Stream as the main primitive for the foundation of reliable storage systems: a high-performance, durable, elastic, and unlimited append-only byte stream with strict ordering and consistency.
To learn more about Pravega, visithttps://pravega.io
- Java 11+
In spite of the requirements of using JDK 11+ to build this project,client
artifacts (and its dependencies) must be compatible with aJava 8 runtime. All other components are built and ran using JDK11+.
TheclientJavaVersion
project property determines the version used to build the client (defaults to8).
Checkout the source code:
git clone https://github.com/pravega/pravega.gitcd pravega
Build the pravega distribution:
./gradlew distribution
Install pravega jar files into the local maven repository. This is handy for running thepravega-samples
locally against a custom version of pravega.
./gradlew install
Running unit tests:
./gradlew test
Pravega usesProject Lombok so you should ensure you have your IDE setup with the required plugins. Using IntelliJ is recommended.
To import the source into IntelliJ:
- Import the project directory into IntelliJ IDE. It will automatically detect the gradle project and import things correctly.
- Enable
Annotation Processing
by going toBuild, Execution, Deployment
->Compiler
>Annotation Processors
and checking 'Enable annotation processing'. - Install the
Lombok Plugin
. This can be found inPreferences
->Plugins
. Restart your IDE. - Pravega should now compile properly.
For eclipse, you can generate eclipse project files by running./gradlew eclipse
.
Note: Some unit tests will create (and delete) a significant amount of files. For improved performance on Windows machines, be sure to add the appropriate 'Microsoft Defender' exclusion.
The latest pravega releases can be found on theGithub Release project page.
All snapshot artifacts frommaster
andrelease
branches are available in GitHub Packages Registry
Add the following to your repositories list and import dependencies as usual.
maven { url "https://maven.pkg.github.com/pravega/pravega" credentials { username = "pravega-public" password = "\u0067\u0068\u0070\u005F\u0048\u0034\u0046\u0079\u0047\u005A\u0031\u006B\u0056\u0030\u0051\u0070\u006B\u0079\u0058\u006D\u0035\u0063\u0034\u0055\u0033\u006E\u0032\u0065\u0078\u0039\u0032\u0046\u006E\u0071\u0033\u0053\u0046\u0076\u005A\u0049" }}
Note GitHub Packages requires authentication to download packages thus credentials above are required. Use the provided password as is, please do not decode it.
If you need a dedicated token to use in your repository (and GitHub Actions) please reach out to us.
As alternative option you can use JitPack (https://jitpack.io/#pravega/pravega) to get pre-release artifacts.
ReadGetting Started page for more information, and also visitsample-apps repo for more applications.
Pravega can be installed locally or in a distributed environment. The installation and deployment of pravega is covered in theRunning Pravega guide.
Don’t hesitate to ask! Contact the developers and community onslack(signup) if you need any help.Open an issue if you found a bug onGithub Issues.
The Pravega documentation is hosted on the website:https://pravega.io/docs/latest or in thedocumentation directory of the source code.
Become one of the contributors! We thrive to build a welcoming and opencommunity for anyone who wants to use the system or contribute to it.Here we describe how to contribute to Pravega!You can see the roadmap documenthere.
Pravega is 100% open source and community-driven. All components are availableunderApache 2 License onGitHub.
About
Pravega - Streaming as a new software defined storage primitive