• Stars
    star
    162
  • Rank 224,937 (Top 5 %)
  • Language
    Shell
  • License
    MIT License
  • Created over 6 years ago
  • Updated 7 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Official Function and Template Store for OpenFaaS

OpenFaaS Function Store

ci-only

The Function Store is a curated index of OpenFaaS functions which have been tested by the community and chosen for their experience.

See the announcement here

Q&A

  • How much does this cost?

It's free

  • What's happening conceptually?

The concept is that we will keep a curated list of interesting functions that you can deploy in one-click to your existing OpenFaaS API Gateway using the UI. We do not need access to your API gateway.

We may update the CLI to make use of the store future too.

  • Where are functions hosted?

In any public Docker registry whether that be the Docker Hub, Quay or elsewhere.

  • Where is the list/definition kept?

We are using a .json file in this repository and GitHub's raw download CDN.

  • Why is it called a store if I don't have to pay money?

See also: Google Play Store/Apple App Store.

Make a submission to the Function Store

If you'd like to make a submission then raise an issue to propose it. This should follow the CONTRIBUTION guide for OpenFaaS.

Here are two example function definitions.

Version 0.1.0 (store.json)

[
  {
    "title": "Inception",
    "description": "This is a forked version of the work by Magnus Erik Hvass Pedersen - it has been re-packaged as an OpenFaaS serverless function.",
    "image": "alexellis/inception",
    "name": "inception",
    "fprocess": "python3 index.py",
    "network": "func_functions",
    "repo_url": "https://github.com/faas-and-furious/inception-function",
    "labels": {
      "com.openfaas.ui.ext": "json"
    },
    "environment": {
      "write_timeout": "30"
    }
  }
]

Version 0.2.0 (functions.json)

{
    "version": "0.2.0",
    "functions": [
    {
        "title": "NodeInfo",
        "name": "nodeinfo",
        "description": "Get info about the machine that you're deployed on. Tells CPU count, hostname, OS, and Uptime",
        "images": {
            "arm64": "functions/nodeinfo:arm64",
            "armhf": "functions/nodeinfo:latest-armhf",
            "x86_64": "functions/nodeinfo:latest"
        },
        "labels": {
          "com.openfaas.ui.ext": "json"
        },
        "environment": {
          "write_timeout": "30"
        },
        "fprocess": "node main.js",
        "network": "func_functions",
        "repo_url": "https://github.com/openfaas/faas/tree/master/sample-functions/NodeInfo"
    }
  ]
}

See also:

  • labels

You can set the file extension used by the UI to download a result from your function i.e. csv/mp3/txt

  • environment

Set timeouts etc

OpenFaaS Template Store

The Template Store contains all the templates from OpenFaaS and OpenFaaS-Incubator organizations, along with user-defined templates which have been approved by the community.

How to submit to the Template Store

If you'd like to see your template in the official store follow these steps:

  1. Open an issue to propose the template and include a link to your template repository. This should follow the CONTRIBUTION guide for OpenFaaS.
  2. Await feedback on, and subsequent approval of, your proposal from the community.
  3. Add your template to the templates.json file. Here is example of a template definition:
    {
        "template": "go",
        "platform": "x86_64",
        "language": "Go",
        "source": "openfaas",
        "description": "Classic Golang template",
        "repo": "https://github.com/openfaas/templates",
        "official": "true"
    },
  1. Open PR for your template to be merged in the Template Store

Once merged you can see your template displayed by typing faas-cli template store list in the terminal.

Templates created by the community:

Those are the custom templates created by the community:

More Repositories

1

faas

OpenFaaS - Serverless Functions Made Simple
Go
24,366
star
2

faasd

A lightweight & portable faas engine
Go
2,550
star
3

faas-netes

Serverless Functions For Kubernetes
Go
2,095
star
4

workshop

Learn Serverless for Kubernetes with OpenFaaS
Python
956
star
5

faas-cli

Official CLI for OpenFaaS
Go
787
star
6

openfaas-cloud

The Multi-user OpenFaaS Platform
Go
767
star
7

templates

OpenFaaS Classic templates
Dockerfile
261
star
8

of-watchdog

Reverse proxy for STDIO and HTTP microservices
Go
244
star
9

ofc-bootstrap

Bootstrap OpenFaaS Cloud for your team
Go
181
star
10

nats-queue-worker

Queue-worker for OpenFaaS with NATS Streaming
Go
122
star
11

faas-provider

A backend provider interface for OpenFaaS
Go
120
star
12

golang-http-template

Golang templates for OpenFaaS using HTTP extensions
Shell
100
star
13

openfaas-linkerd-workshop

Lightweight Serverless on Kubernetes with mTLS and traffic-splitting with Linkerd2
98
star
14

python-flask-template

HTTP and Flask-based OpenFaaS templates for Python 3
Python
82
star
15

faas-swarm

OpenFaaS provider for Docker Swarm
Go
79
star
16

ingress-operator

Custom domains, paths and TLS for your OpenFaaS Functions
Go
68
star
17

docs

Official Docs for OpenFaaS
65
star
18

community-cluster

OpenFaaS Cloud Cluster for Community
60
star
19

connector-sdk

SDK for connecting events to functions
Go
56
star
20

openfaas.github.io

Primary website / landing-page for the project
HTML
53
star
21

store-functions

Common CLIs packaged in containers with a HTTP interface
Dockerfile
51
star
22

media

Press kit / Media pack for OpenFaaS
44
star
23

cron-connector

Invoke functions on a schedule.
Go
39
star
24

nats-connector

An OpenFaaS event-connector to trigger functions from NATS
Go
38
star
25

mqtt-connector

MQTT connector for OpenFaaS
Go
32
star
26

cloud-functions

OpenFaaS social functions
Python
28
star
27

classic-watchdog

Classic Watchdog for OpenFaaS
Go
25
star
28

certifier

OpenFaaS Compliance testing
Go
25
star
29

license-check

Check your code for Copyright header compliance
Go
19
star
30

ruby-http

A Ruby HTTP template for OpenFaaS
Ruby
12
star
31

faas-middleware

HTTP middleware for OpenFaaS
Go
12
star
32

templates-sdk

SDK resources for templates such as models and entrypoints
Java
10
star
33

function-builder-examples

OpenFaaS Pro function builder API examples
Go
10
star
34

social-functions

Enabling social media for OpenFaaS
Go
9
star
35

cli.openfaas.com

The installation script for the OpenFaaS CLI served by Netlify
Shell
9
star
36

python-fan-in-example

Python code example for implementing a fan-out/fan-in pattern with OpenFaaS functions.
Python
8
star
37

config-checker

Check your OpenFaaS Configuration
Go
7
star
38

astradb-openfaas

Connect to Astra DB using Node.js and OpenFaaS
JavaScript
3
star
39

go-sdk

An SDK for use within OpenFaaS functions
Go
3
star
40

openfaas-autoscaler-tests

JavaScript
2
star
41

derek-test-repo

Testing compliance
1
star
42

.github

README for organisation
1
star