Turn anything into a serverless function.. Docker ready!
jerverless is a serverless runner which will execute anything (binaries, commands or your scripts) as a serverless function. It simply pipes http POST data into STDIN of any executable vice versa.
How it works!
See more info,
How to create functions?
On Machine (or VM)
Download Jerverless and extract the archive
# use port 8080 port: 8080 # enable CORS for the server cors: '*' # Define your routes routes: # a sample route with - endpoint: /foo # endpoint /foo command: python test.py # command to run contentType: text/html # set content type - endpoint: /bar #endpoint /bar command: python test.py --bar # command with an argument contentType: text/html # set your content type cors: 'xyz.com' # override cors for this specific route
- Create your program (eg:-
We are using python2.7 in example
name = raw_input() print "Hello %s!" % name
- Start server!
or if you are on windows
- Test it!
$ curl -d Jerverless http://localhost:8080/foo
Or simply use template and jump to last step!
- On your local machine, clone this repo and go to an examples directory of choice (eg: python):
$ git clone https://github.com/jerverless/jerverless.git $ cd jerverless/examples/python
- Create the docker image:
$ docker build --no-cache -t jerverless-py .
- Run the app:
$ docker run -it -p 8080:8080 jerverless-py
- Navigate to 'https://localhost:8080/function' in your browser.
Create docker image for your function and push to dockerhub
Add docker image name to
- Initial work (Structure, basic server with runner)
- Multithreaded server mode
- Unit cases
- CLI commands
- Basic Samples
- Beta Release!
- JDK 1.8
Clone the repository in your local directory
$ git clone <forked_url>
We are using gradle as the build tool. This command will download and install gradle, then it will build the jar file.
Windows users may use .\gradlew instead of ./gradlew It applies to all bash commands listed below.
$ ./gradlew assemble
The resulted jar file can be found in
$ java -jar build/libs/jerverless-1.0.0.jar
$ ./gradlew assembleDist
This will create distributions of
jerverless, you can find them in
To install this distribution in a path you desired try out
$ ./gradlew installDist
By default it will be installed in
To run the distribution, try
Become a committer
Submit a pull request or raise 3 helpful issues to join jerverless Team!