Welcome to Nuvolaris. Starting points:
This is an ongoing project, that is still in early stages, to build an Open Source distribution of Apache OpenWhisk licensed released under the Apache Licence 2.0 (like OpenWhisk itself)
Before you ask, I tell you that there are currently no releases yet. So if you look for something to run, you are out of luck. If you look for contributing to an Open Source project, then maybe you can find something of interest.
- About this project
- Get in touch
- What is the next activity?
- How to contribute
- Overview of the project
- Repo
nuvolaris - Repo
nuvolaris-controller - Repo
nuvolaris-runtimes - Repo
nuvolaris-operator - Repo
nuvolaris-cli - Repo
nuvolaris-testing - Repo
nuvolaris-training
We want to build a complete distribution of a serverless environment that is:
- it is easy to install and manage
- potentially runs in every Kubernetes, but it works on a tested set
- includes a good set of integrated services
THis is the main differentiation from Apache OpenWHisk as it only provides a basic engine for serverless.
Our goals are described in our roadmap document to read about.
Do you want to help?
- Start introducing yourself in the forum and partecipating to discussions.
- Chat with us joining our discord server. Note there is a channel for every repository in the project to discuss specific issues.
We split activities in milestones. We give to them a friendly name and we name milestones after characters the movies of The Matrix franchise.
The current milestone (the first one) is Neo. And of course the milestone to reach to release 1.0 is Matrix.
Future Milestones will be named Trinity, Morpheus, Smith and so on.
To manage the milestones we use GitHub Projects that in turn uses the GitHub Issue Tracker.
In order to contribute to our project:
- Review the Code Contribution rules. In particular we need you sign the Apache CLA (Contributor License) and include the Apache License Header in every file. Also every PR will have to pass the existing tests (there are none yet but there will be).
- Either find an open and unassigned issue, or open one by yourself in the Issue Tracker describing what you want to do.
- Please discuss in the forum and ensure you want to do is approved by the project owners, if you want to be sure your PR will be merged. We can still merge unsolicited PR, but if you do not discuss it before there is some risk that for some reason we may unable to merge it. -
- Get an issue assigned. Seriously.
- Code it!
- Submit a Pull Request and get it merged after the review.
There are lot of repos in this organization.
The main repositories, those relevant for the project, are pinned and named nuvolaris*. All the other, especially those starting with openwhisk* and nimbella* are forks of our upstream source code.
If we to make changes to our fork, we try to limit changes to the absolute minimum. Our work is always placed in branches starting with nuvolaris, and then they are included as git modules in the main ones. And we try, when possible, to contribute back our changes tp upstream.
Let's review the main repositories:
This repo is the starting point.
It contains:
- project management documentation (that you are reading right now)
- the build for the development environment container
- references to all the other repositories
- the discussion forum
- the Issue Tracker to manage the whole project.
To discuss the project in general, introduce yourself, make suggestions or ask questions, post in the [general] category on forum or join the the #general discord and ask.
Do not ask if you can ask, just ask :)
As a prerequisite, you need an modern Unix environment, either Linux, OSX os Windows WSL. You need to preinstall java and build tools
If you have those you can start with:
git clone --recurse-submodules https://github.com/nuvolaris/nuvolaris
cd nuvolaris
source setup.source
More details are in the DEVEL document.
This repo builds the OpenWhisk controller that is the core of OpenWhisk and publishes the images in the GitHub docker registry.
It includes as a subrepo our fork of apache/openwhisk
You can discuss it in the #nuvolaris-controller discord channel and in the forum under the category controller.
This repo builds the OpenWhisk runtimes and publishes the images in the GitHub docker registry.
It includes as a subrepo our fork of some (but not all) apache/openwhisk-runtime-*
You can discuss it in the #nuvolaris-runtimes discord channel and in the forum under the category runtimes.
This repo builds our operator and published the image in the GitHub docker registry.
You can discuss it in the #nuvolaris-operator discord channel and in the forum under the category operator.
This repo builds our operator and published the image in the GitHub docker registry.
You can discuss it in the #nuvolaris-cli discord channel and in the forum under the category operator.
This repo includes our test suite and the scripts to build our test environments.
You can discuss it in the #nuvolaris-testing discord channel and in the forum under the category testing.
This repo includes our test suite and the scripts to build our test environments.
You can discuss it in the #nuvolaris-training discord channel and in the forum under the category training.