Welcome to Apache OpenServerless, an incubating project at the Apache Software Foundation
-
If you want to install Apache OpenServerless in cloud go here.
-
If you want to understand what this project is check the original proposal.
-
If you want to discuss with us, join our mailing list sending an email to
dev-subscribe@openserverless.apache.org -
If you want to contribute to the project, building from the sources or setting up a development environment, read on this README.
Download a releases tarbal or clone all the latest sources with
git clone https://github.com/apache/openserverless --recurse-submodules
cd openserverless
You can then build and test
You need Ubuntu 22+ or Debian 11+ and docker.
You can install it with:
curl -sL get.docker.com | bash
sudo usermod -aG docker $USER
then exit and re-enter in the shell
It is also recommended you do a docker login to avoid hittig the rate restrictions.
Execute:
./build-and-test-ubuntu.sh
It can work on other distros but you have to adapt the scripts.
You need Windows 10/11 with WSL. Execute from PowerShell:
.\build-and-test-windows.ps1
You have to install lima (example: brew install lima). Execute:
./build-and-test-mac.sh
- you need an Unix environment, either OSX, Linux or Windows WSL.
- you need docker on the path
- you need go available on the path
- you need task (https://taskfile.dev) available in the path
Here the procedures for MacOS, Windows 11 and Ubuntu Linux
On Mac, install brew and Docker Desktop. then do
brew install taskbrew install go
On windows,
- install Docker Desktop then
wsl --install Ubuntu-24.04
then enable docker to be used in the distro Ubuntu-24.04
Access the distro (wsl -d Ubuntu-24.04 ), configure a new user, then execute:
sudo apt-get update
sudo apt-get -y install jq unzip zip
sudo snap install go --classic
sudo snap install task --classic
sudo snap install kubectl --classic
Setup for a plain Ubuntu Linux with an user with sudo power:
sudo apt-get update
sudo apt-get -y install jq
sudo snap install go --classic
sudo snap install task --classic
sudo snap install kubectl --classic
curl -sL get.docker.com | sudo bash
go install github.com/apache/skywalking-eyes/cmd/license-eye@latest
export PATH="$PATH:$(go env GOPATH)/bin"
sudo usermod -aG docker $USER
newgrp docker
docker ps
git clone https://github.com/apache/openserverless --recurse-submodules
cd openserverless
You can build with: task build
You can run the test suite with: task test
You can check all the files have the license header: task license
Read the task files (that are basically shell scripts wrapped in an yaml environment) to learn all the build procedures.