{"id":13692445,"url":"https://github.com/jerverless/jerverless","last_synced_at":"2025-05-02T19:32:01.852Z","repository":{"id":94243393,"uuid":"156957311","full_name":"jerverless/jerverless","owner":"jerverless","description":"Turn anything into an on-prem serverless function","archived":true,"fork":false,"pushed_at":"2019-11-16T13:07:42.000Z","size":396,"stargazers_count":189,"open_issues_count":8,"forks_count":23,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-04-19T17:54:57.609Z","etag":null,"topics":["awesome","docker","kubernetes","runner","serverless","serverless-functions","serverless-java"],"latest_commit_sha":null,"homepage":"https://jerverless.github.io","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jerverless.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null},"funding":{"github":null,"patreon":"shalithasuranga","open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2018-11-10T07:12:43.000Z","updated_at":"2024-12-20T04:06:45.000Z","dependencies_parsed_at":"2023-03-04T22:16:08.739Z","dependency_job_id":null,"html_url":"https://github.com/jerverless/jerverless","commit_stats":{"total_commits":174,"total_committers":8,"mean_commits":21.75,"dds":0.367816091954023,"last_synced_commit":"45a1ef3bb82676bd15a5a15b8968d046f85d7c91"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerverless%2Fjerverless","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerverless%2Fjerverless/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerverless%2Fjerverless/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerverless%2Fjerverless/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jerverless","download_url":"https://codeload.github.com/jerverless/jerverless/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250536132,"owners_count":21446687,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["awesome","docker","kubernetes","runner","serverless","serverless-functions","serverless-java"],"created_at":"2024-08-02T17:00:58.063Z","updated_at":"2025-05-02T19:32:01.831Z","avatar_url":"https://github.com/jerverless.png","language":"Java","readme":"\u003cdiv align=\"center\"\u003e\n   \u003cimg src=\"media/jerverless_logo.png\"\u003e\n\u003c/div\u003e\n\u003cbr/\u003e\n\n[![GitHub license](https://img.shields.io/github/license/jerverless/jerverless.svg)](https://github.com/jerverless/jerverless/blob/master/LICENSE) \n [![Build Status](https://travis-ci.com/jerverless/jerverless.svg?branch=master)](https://travis-ci.com/jerverless/jerverless)\n [![GitHub (pre-)release](https://img.shields.io/github/release/jerverless/jerverless/all.svg)](https://github.com/jerverless/jerverless/releases)\n  [![GitHub last commit](https://img.shields.io/github/last-commit/jerverless/jerverless.svg)](https://github.com/jerverless/jerverless/commits/master)\n[![HitCount](http://hits.dwyl.io/jerverless/jerverless.svg)](http://hits.dwyl.io/jerverless/jerverless)\n[![OpenCollective Backers](https://opencollective.com/jerverless/tiers/backer/badge.svg?label=backer\u0026color=brightgreen)](https://opencollective.com/jerverless) \n\nTurn anything into a serverless function.. Docker ready!\n\njerverless 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.\n\n## How it works!\n\n\u003cdiv  align=\"center\"\u003e\n  \u003cimg src=\"media/jerverless.png\"/\u003e\n\u003c/div\u003e\n\n\nSee more info,\n\n- [A friendly introduction to Serverless Architecture and Why we built jerverless?](https://medium.com/@shalithasuranga/a-friendly-introduction-to-serverless-architecture-and-why-we-built-jerverless-runtime-4c09e7d81e56)\n\n\n## Example functions\n\n- [Bash](https://github.com/jerverless/jerverless/tree/master/examples/bash)\n- [Python](https://github.com/jerverless/jerverless/tree/master/examples/python)\n- [Java](https://github.com/jerverless/jerverless/tree/master/examples/java)\n- [Ballerina](https://github.com/jerverless/jerverless/tree/master/examples/ballerina)\n- [C](https://github.com/jerverless/jerverless/tree/master/examples/c)\n- [C++](https://github.com/jerverless/jerverless/tree/master/examples/cpp)\n- [Node](https://github.com/jerverless/jerverless/tree/master/examples/node)\n- [Go](https://github.com/jerverless/jerverless/tree/master/examples/golang)\n- [Ruby](https://github.com/jerverless/jerverless/tree/master/examples/ruby)\n- [Rust](https://github.com/jerverless/jerverless/tree/master/examples/rust)\n- [php](https://github.com/jerverless/jerverless/tree/master/examples/php)\n- [powershell](https://github.com/jerverless/jerverless/tree/master/examples/powershell)\n\n## How to create functions?\n\n### On Machine (or VM)\n\n1. Download **Jerverless** and extract the archive\n\n2. Create `jerverless.yml`\n```yaml\n# use port 8080\nport: 8080\n# enable CORS for the server\ncors: '*'\n# Define your routes\nroutes:\n  # a sample route with\n  - endpoint: /foo # endpoint /foo\n    command: python test.py # command to run\n    contentType: text/html # set content type\n    \n  - endpoint: /bar #endpoint /bar\n    command: python test.py --bar # command with an argument\n    contentType: text/html # set your content type\n    cors: 'xyz.com' # override cors for this specific route\n```\n3. Create your program (eg:- `helloworld.py`)\n\u003eWe are using python2.7 in example\n```python\nname = raw_input()\nprint \"Hello %s!\" % name\n```\n4. Start server!\n\n```\n $ bin/jerverless\n```\n\nor if you are on windows\n\n```\n $ bin\\jerverless.bat\n```\n\n5. Test it!\n\n```\n $ curl -d Jerverless http://localhost:8080/foo\n```\n\nOr simply use [template](https://github.com/jerverless/jerverless/tree/master/examples) and jump to last step! \n\n### Docker\n\n1. On your local machine, clone this repo and go to an examples directory of choice (eg: python): \n\n```\n $ git clone https://github.com/jerverless/jerverless.git\n $ cd jerverless/examples/python\n```\n\n2. Create the docker image:\n\n```\n $ docker build --no-cache -t jerverless-py .\n```\n\n3. Run the app:\n\n```\n $ docker run -it -p 8080:8080 jerverless-py\n```\n\n4. Navigate to 'https://localhost:8080/function' in your browser.\n\n### Kubernetes\n\n1. Create docker image for your function and push to dockerhub\n\n2. Add docker image name to `.yml` deployment\n\n\n\n## Project Status\n\n- [x] Initial work (Structure, basic server with runner)\n- [x] Multithreaded server mode\n- [ ] Unit cases\n- [x] CLI commands\n- [x] Basic Samples\n- [x] Docs\n- [x] Beta Release!\n\n\n# Developer Guide\n\n## Requirements\n- JDK 1.8\n\n## Getting started\n\nClone the repository in your local directory\n\n```bash\n $ git clone \u003cforked_url\u003e\n```\n\nWe are using gradle as the build tool.\nThis command will download and install gradle, then it will build the jar file.\n\n\u003e Windows users may use **.\\gradlew** _instead_ of **./gradlew**\n\u003e It applies to all bash commands listed below.\n\n```bash\n $ ./gradlew assemble\n```\n\nThe resulted jar file can be found in `build/libs`\n\n```\n $ java -jar build/libs/jerverless-1.0.0.jar\n```\n\nOr run \n\n```bash\n $ ./gradlew assembleDist\n```\n\nThis will create distributions of `jerverless`, you can find them in `build/distributions/`\n\nTo install this distribution in a path you desired try out\n\n```bash\n $ ./gradlew installDist\n```\n\nBy default it will be installed in `build/install/jerverless`\n\nTo run the distribution, try\n\n```bash\n $ build/install/jerverless/bin/jerverless\n```\n\n## Become a committer \n\nSubmit a pull request or raise 3 helpful issues to join jerverless Team!\n\n","funding_links":["https://patreon.com/shalithasuranga","https://opencollective.com/jerverless"],"categories":["Uncategorized","Java","Serverless"],"sub_categories":["Uncategorized"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjerverless%2Fjerverless","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjerverless%2Fjerverless","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjerverless%2Fjerverless/lists"}