msciabarra / nuvolaris

Nuvolaris is an Apache OpenWhisk distribution that runs in every Kubernetes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Nuvolaris

Welcome to the Nuvolaris project.

Nuvolaris is an ongoing project to build an Open Source distribution of Apache OpenWhisk licensed released under the Apache Licence 2.0 (like OpenWhisk itself).

There are currently no releases yet. Our first release is scheduled for January 2022.

TL;DR

If you are in a hurry, here a few starting points:

If you have Git, Docker and VSCode already installed, AND YOU HAVE AT LEAST 12 GIGABYTES OF MEMORY in your machine, assign 8 gigabytes to Docker and start with:

git clone https://github.com/nuvolaris/nuvolaris --recurse-submodules
code nuvolaris

then say yes to "Reopen in container".

It can take some time the first time as it will download a large development image and setup a development Kubernetes cluster with kind.

You can then open the various workspaces of the nuvolaris-* subfolders (if they are empty, did you use --recurse-submodules?)

This is the procedure to install everything and play with the source code. Usually however you want to work with each subproject individually. The details are in our development guide.

How to submit a contribution

If you want to contribute, YOU HAVE TO PUT YOUR CODE UNDER A LICENSE .

Quick way to to it:

  1. Fork the repository where you want to contribute (one of nuvolaris/nuvolaris-*)

  2. Push your changes to your fork

git remote add <user> https://github.com/<your-user>/<your-fork>
git push <user> main
  1. Ensure all your contributions have a LICENSE HEADER. We use the Apache License 2.0.

Use license-eye to check: license-eye header check.

If something is not properly licensed, you can fix automatically with:

license-eye header fix

Note that some kind of files are not recognized so you have to fix them adding a license header manually.

  1. Commit, push and send a pull request to us.

About

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 is tested against a set of supported distribuytions
  • includes a number 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.

If you want to help here is how:

Get in touch

Do you want to help?

What is the next activity?

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. The next one will be Trinity. Future Milestones will be named Morpheus, Agent Smith and so on.

The milestone to reach when we release 1.0 is Matrix.

To manage the milestones we use GitHub Projects that in turn uses the GitHub Issue Tracker.

How to contribute

In order to contribute to our project:

  • Review the Code Contribution rules. In particular we need you sign the Apache ICLA (Individual 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 with us 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. Toucan Over 100 word limit We’re working to increase this limit and keep load times short. In the meantime, try highlighting up to 100 words at one time to translate. Don’t show again

About

Nuvolaris is an Apache OpenWhisk distribution that runs in every Kubernetes

License:Apache License 2.0


Languages

Language:Shell 58.1%Language:Dockerfile 41.9%