{"id":19481814,"url":"https://github.com/jasonshin/openfaas-for-fun","last_synced_at":"2026-06-18T07:32:33.065Z","repository":{"id":149202355,"uuid":"145420125","full_name":"JasonShin/openfaas-for-fun","owner":"JasonShin","description":"Just for fun","archived":false,"fork":false,"pushed_at":"2020-09-02T08:49:52.000Z","size":4143,"stargazers_count":1,"open_issues_count":4,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-25T17:37:33.158Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","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/JasonShin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-08-20T13:17:51.000Z","updated_at":"2019-10-27T16:00:47.000Z","dependencies_parsed_at":"2023-04-07T05:36:35.379Z","dependency_job_id":null,"html_url":"https://github.com/JasonShin/openfaas-for-fun","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/JasonShin/openfaas-for-fun","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JasonShin%2Fopenfaas-for-fun","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JasonShin%2Fopenfaas-for-fun/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JasonShin%2Fopenfaas-for-fun/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JasonShin%2Fopenfaas-for-fun/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JasonShin","download_url":"https://codeload.github.com/JasonShin/openfaas-for-fun/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JasonShin%2Fopenfaas-for-fun/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34481313,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-18T02:00:06.871Z","response_time":128,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-11-10T20:06:40.852Z","updated_at":"2026-06-18T07:32:33.060Z","avatar_url":"https://github.com/JasonShin.png","language":"Go","funding_links":["https://www.patreon.com/alexellis"],"categories":[],"sub_categories":[],"readme":"## OpenFaaS - Serverless Functions Made Simple\n\n[![Go Report Card](https://goreportcard.com/badge/github.com/openfaas/faas)](https://goreportcard.com/report/github.com/openfaas/faas) [![Build\nStatus](https://travis-ci.org/openfaas/faas.svg?branch=master)](https://travis-ci.org/openfaas/faas) [![GoDoc](https://godoc.org/github.com/openfaas/faas?status.svg)](https://godoc.org/github.com/openfaas/faas) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![OpenFaaS](https://img.shields.io/badge/openfaas-serverless-blue.svg)](https://www.openfaas.com)\n\n![OpenFaaS Logo](https://blog.alexellis.io/content/images/2017/08/faas_side.png)\n\nOpenFaaS (Functions as a Service) is a framework for building serverless functions with Docker and Kubernetes which has first class support for metrics. Any process can be packaged as a function enabling you to consume a range of web events without repetitive boiler-plate coding.\n\n[![Twitter URL](https://img.shields.io/twitter/url/https/twitter.com/fold_left.svg?style=social\u0026label=Follow%20%40openfaas)](https://twitter.com/openfaas)\n\n**Highlights**\n\n* Ease of use through UI portal and *one-click* install\n* Write functions in any language for Linux or Windows and package in Docker/OCI image format\n* Portable - runs on existing hardware or public/private cloud - [Kubernetes](https://github.com/openfaas/faas-netes) and Docker Swarm native\n* [CLI](http://github.com/openfaas/faas-cli) available with YAML format for templating and defining functions\n* Auto-scales as demand increases\n\n## Overview of OpenFaaS\n\n\u003e Serverless Functions Made Simple.\n\n![Stack](https://pbs.twimg.com/media/DFrkF4NXoAAJwN2.jpg)\n\n## Press-kit/media/swag\n\nFor stickers, swag, media or press-kit information head over to [openfaas/media](https://github.com/openfaas/media/blob/master/README.md)\n\n## Governance\n\nOpenFaaS is an independent project created by [Alex Ellis](https://www.alexellis.io) which is now being built and shaped by a growing community of contributors. Project website: [openfaas.com](https://www.openfaas.com).\n\n## Users\n\n[View some of our end-users](https://docs.openfaas.com/#users-of-openfaas) or [get in touch to be listed](https://github.com/openfaas/faas/issues/776).\n\n\u003e Please support [OpenFaaS on Patreon](https://www.patreon.com/alexellis)). Help us hit our goals and get to back a great project at the same time. View the [List of backers and sponsors](https://github.com/openfaas/faas/blob/master/BACKERS.md).\n\nThank you for your help\n\n### Function Watchdog\n\n* You can make any Docker image into a serverless function by adding the *Function Watchdog* (a tiny Golang HTTP server)\n* The *Function Watchdog* is the entrypoint allowing HTTP requests to be forwarded to the target process via STDIN. The response is sent back to the caller by writing to STDOUT from your application.\n\n### API Gateway / UI Portal\n\n* The API Gateway provides an external route into your functions and collects Cloud Native metrics through Prometheus.\n* Your API Gateway will scale functions according to demand by altering the service replica count in the Docker Swarm or Kubernetes API.\n* A UI is baked in allowing you to invoke functions in your browser and create new ones as needed.\n\n\u003e The API Gateway is a RESTful micro-service and you can view the [Swagger docs here](https://github.com/openfaas/faas/tree/master/api-docs).\n\n### CLI\n\nAny container or process in a Docker container can be a serverless function in FaaS. Using the [FaaS CLI](http://github.com/openfaas/faas-cli) you can deploy your functions quickly.\n\nCreate new functions from templates for Node.js, Python, [Go](https://blog.alexellis.io/serverless-golang-with-openfaas/) and many more. If you can't find a suitable template you can also use a Dockerfile.\n\n\u003e The CLI is effectively a RESTful client for the API Gateway.\n\nWhen you have OpenFaaS configured you can [get started with the CLI here](https://blog.alexellis.io/quickstart-openfaas-cli/)\n\n### Function examples\n\nYou can generate new functions using the FaaS-CLI and built-in templates or use any binary for Windows or Linux in a Docker container.\n\n* Python example:\n\n```python\nimport requests\n\ndef handle(req):\n    r =  requests.get(req, timeout = 1)\n    print(req +\" =\u003e \" + str(r.status_code))\n```\n*handler.py*\n\n* Node.js example:\n\n```js\n\"use strict\"\n\nmodule.exports = (callback, context) =\u003e {\n    callback(null, {\"message\": \"You said: \" + context})\n}\n```\n*handler.js*\n\nOther [Sample functions](https://github.com/openfaas/faas/tree/master/sample-functions) are available in the Github repository in a range of programming languages.\n\n## Documentation\n\nWe are building a new documentation site at [docs.openfaas.com](http://docs.openfaas.com). \nThe source repository for the documentation website is [openfaas/docs](https://github.com/openfaas/docs).\n\nFor all other guides, tutorials, trouble-shooting and blog posts head over to our [guides page](https://github.com/openfaas/faas/tree/master/guide) on GitHub.\n\n## Get started with OpenFaaS\n\n### Official documentation and blog\nSee our documentation on [docs.openfaas.com](https://docs.openfaas.com/)\n\nRead latest news on OpenFaaS from the community [blog](https://www.openfaas.com/blog/)\n\n### Hands-on labs (detailed getting started)\n\nYou can learn how to build functions with OpenFaaS using our hands-on labs in the [OpenFaaS workshop](http://github.com/openfaas/workshop).\n\n### TestDrive (classic getting started)\n\n**Kubernetes**\n\nOpenFaaS is Kubernetes-native - you can follow the [deployment guide here](http://docs.openfaas.com/deployment/kubernetes/).\n\n**Docker Swarm**\n\nThe deployment guide for Docker Swarm contains a simple one-line command to get you up and running in around 60 seconds. It also includes a set of [sample functions](https://github.com/openfaas/faas/tree/master/sample-functions) which you can use with the TestDrive instructions below.\n\n[Deployment guide for Docker Swarm](http://docs.openfaas.com/deployment/docker-swarm/)\n\n**Docker Playground**\n\nYou can quickly start OpenFaaS on Docker Swarm online using the community-run Docker playground: [Play-with-Docker](https://labs.play-with-docker.com/) (PWD)\n\nSimply follow the deployment guide for Swarm above in a new session\n\n\u003e You will need a free Docker Hub account to get access. Get one here: [Docker Hub](https://hub.docker.com/)\n\n\n#### Begin the TestDrive\n\n* [Begin the TestDrive with Docker Swarm](https://github.com/openfaas/faas/blob/master/TestDrive.md)\n\nHere is a screenshot of the API gateway portal - designed for ease of use.\n\n![Portal](https://pbs.twimg.com/media/C7bkpZbWwAAnKsx.jpg)\n\n## Find out more about OpenFaaS\n\n### SkillsMatter video presentation\n\nGreat overview of OpenFaaS features, users and roadmap\n\n* [HD Video](https://skillsmatter.com/skillscasts/10813-faas-and-furious-0-to-serverless-in-60-seconds-anywhere)\n\n### OpenFaaS presents to CNCF Serverless workgroup\n\n* [Video and blog post](https://blog.alexellis.io/openfaas-cncf-workgroup/)\n\n### Closing Keynote at Dockercon 2017\n\nFunctions as a Service or FaaS was a winner in the Cool Hacks contest for Dockercon 2017.\n\n* [Watch my FaaS keynote at Dockercon 2017](https://blog.docker.com/2017/04/dockercon-2017-mobys-cool-hack-sessions/)\n\nIf you'd like to find the functions I used in the demos head over to the [faas-dockercon](https://github.com/alexellis/faas-dockercon/) repository.\n\n**Background story**\n\n* [Introducing OpenFaaS (Functions as a Service)](https://blog.alexellis.io/introducing-functions-as-a-service/) -  August 2017\n* [Functions as a Service (FaaS)](http://blog.alexellis.io/functions-as-a-service/) - January 2017\n\n### Community\n\nHave you written a blog about OpenFaaS? Send a Pull Request to the community page below.\n\n* [Read blogs/articles and find events about OpenFaaS](https://github.com/openfaas/faas/blob/master/community.md)\n\nIf you'd like to join OpenFaaS community Slack channel to chat with contributors or get some help then check out [this page on community](https://docs.openfaas.com/community).\n\n### Roadmap and contributing\n\nOpenFaaS is written in Golang and is MIT licensed - contributions are welcomed whether that means providing feedback, testing existing and new feature or hacking on the source.\n\n#### How do I become a contributor?\n\nPlease see the guide on [community \u0026 contributing](https://docs.openfaas.com/community/#contribute)\n\n#### Roadmap\n\nThe roadmap is represented in [GitHub issues](https://github.com/openfaas/faas/issues) and a Trello board. There is also a historical ROADMAP file in the [main faas repository](https://github.com/openfaas/faas/blob/master/ROADMAP.md).\n\n### Other\n\nExample of a Grafana dashboards linked to OpenFaaS showing auto-scaling live in action: [here](https://grafana.com/dashboards/3526)\n\n![](https://pbs.twimg.com/media/C9caE6CXUAAX_64.jpg:large)\n\nAn alternative community dashboard is [available here](https://grafana.com/dashboards/3434)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjasonshin%2Fopenfaas-for-fun","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjasonshin%2Fopenfaas-for-fun","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjasonshin%2Fopenfaas-for-fun/lists"}