All Projects → jerverless → Jerverless

jerverless / Jerverless

Licence: mit
Turn anything into an on-prem serverless function

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Jerverless

Frontendmasters Serverless
Source code for the Serverless workshop on Frontend Masters.
Stars: ✭ 54 (-68.42%)
Mutual labels:  serverless, serverless-functions
Lambda Cost Calculator
Forecast Lambda functions costs 💰
Stars: ✭ 91 (-46.78%)
Mutual labels:  serverless, serverless-functions
Openwhisk Apigateway
Apache OpenWhisk API Gateway service for exposing actions as REST interfaces.
Stars: ✭ 56 (-67.25%)
Mutual labels:  serverless, serverless-functions
Openwhisk Runtime Php
Apache OpenWhisk Runtime PHP supports Apache OpenWhisk functions written in PHP
Stars: ✭ 26 (-84.8%)
Mutual labels:  serverless, serverless-functions
Serverless Openwhisk
Adds Apache OpenWhisk support to the Serverless Framework!
Stars: ✭ 131 (-23.39%)
Mutual labels:  serverless, serverless-functions
Openwhisk Runtime Nodejs
Apache OpenWhisk Runtime NodeJS supports Apache OpenWhisk functions written in JavaScript for NodeJS
Stars: ✭ 43 (-74.85%)
Mutual labels:  serverless, serverless-functions
Openwhisk Cli
Apache OpenWhisk Command Line Interface (CLI)
Stars: ✭ 73 (-57.31%)
Mutual labels:  serverless, serverless-functions
Riff
riff is for functions
Stars: ✭ 801 (+368.42%)
Mutual labels:  serverless, serverless-functions
Serverless Plugin Optimize
Bundle with Browserify, transpile and minify with Babel automatically to your NodeJS runtime compatible JavaScript
Stars: ✭ 122 (-28.65%)
Mutual labels:  serverless, serverless-functions
Awesome Layers
λ A curated list of awesome AWS Lambda Layers. Sponsored by https://cloudash.dev
Stars: ✭ 1,655 (+867.84%)
Mutual labels:  serverless, serverless-functions
Serverless Plugin Select
Select which functions are to be deployed based on region and stage.
Stars: ✭ 25 (-85.38%)
Mutual labels:  serverless, serverless-functions
Sample Stripe Handler
Serverless function that uses the stripe api for a checkout process in a Vue application
Stars: ✭ 155 (-9.36%)
Mutual labels:  serverless, serverless-functions
Epsagon Go
Automated tracing library for Go 1.x ⚡️
Stars: ✭ 24 (-85.96%)
Mutual labels:  serverless, serverless-functions
Gcf.cr
gcf.cr provides serverless execution and deployment of crystal language code in Google Cloud Functions
Stars: ✭ 51 (-70.18%)
Mutual labels:  serverless, serverless-functions
Aws Node Elasticache Vpc
Serverless function using elasticache (redis) within VPC
Stars: ✭ 22 (-87.13%)
Mutual labels:  serverless, serverless-functions
Ecommerce Netlify
🛍 A JAMstack Ecommerce Site built with Nuxt and Netlify Functions
Stars: ✭ 1,147 (+570.76%)
Mutual labels:  serverless, serverless-functions
Openwhisk
Apache OpenWhisk is an open source serverless cloud platform
Stars: ✭ 5,499 (+3115.79%)
Mutual labels:  serverless, serverless-functions
Fission
Fast and Simple Serverless Functions for Kubernetes
Stars: ✭ 6,646 (+3786.55%)
Mutual labels:  serverless, serverless-functions
Cda Locale
Showing Microsoft Cloud Developer Advocates speaking, 2017 and 2018
Stars: ✭ 101 (-40.94%)
Mutual labels:  serverless, serverless-functions
Openwhisk Devtools
Development tools for building and deploying Apache OpenWhisk
Stars: ✭ 141 (-17.54%)
Mutual labels:  serverless, serverless-functions

GitHub license Build Status GitHub (pre-)release GitHub last commit HitCount OpenCollective Backers

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,

Example functions

How to create functions?

On Machine (or VM)

  1. Download Jerverless and extract the archive

  2. Create jerverless.yml

# 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
  1. Create your program (eg:- helloworld.py)

We are using python2.7 in example

name = raw_input()
print "Hello %s!" % name
  1. Start server!
 $ bin/jerverless

or if you are on windows

 $ bin\jerverless.bat
  1. Test it!
 $ curl -d Jerverless http://localhost:8080/foo

Or simply use template and jump to last step!

Docker

  1. 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
  1. Create the docker image:
 $ docker build --no-cache -t jerverless-py .
  1. Run the app:
 $ docker run -it -p 8080:8080 jerverless-py
  1. Navigate to 'https://localhost:8080/function' in your browser.

Kubernetes

  1. Create docker image for your function and push to dockerhub

  2. Add docker image name to .yml deployment

Project Status

  • [x] Initial work (Structure, basic server with runner)
  • [x] Multithreaded server mode
  • [ ] Unit cases
  • [x] CLI commands
  • [x] Basic Samples
  • [x] Docs
  • [x] Beta Release!

Developer Guide

Requirements

  • JDK 1.8

Getting started

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 build/libs

 $ java -jar build/libs/jerverless-1.0.0.jar

Or run

 $ ./gradlew assembleDist

This will create distributions of jerverless, you can find them in build/distributions/

To install this distribution in a path you desired try out

 $ ./gradlew installDist

By default it will be installed in build/install/jerverless

To run the distribution, try

 $ build/install/jerverless/bin/jerverless

Become a committer

Submit a pull request or raise 3 helpful issues to join jerverless Team!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].