close
The Wayback Machine - https://web.archive.org/web/20200331214444/https://github.com/openfaas/store
Skip to content
Official Function and Template Store for OpenFaaS
Shell
Branch: master
Clone or download

Latest commit

Image Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Image ci Make ci/function_images_check.sh executable Apr 22, 2019
Image .DEREK.yml Redirect Derek file to openfaas/faas file Jun 16, 2018
Image .travis.yml
Image LICENSE Create LICENSE Oct 2, 2018
Image README.md Update wording of "Official" to "Classic" Nov 1, 2019
Image functions.json Move to nodeinfo-http Mar 1, 2020
Image store-arm64.json Remove unnecessary network attribute May 31, 2019
Image store-armhf.json Point youtubedl to working multiarch image Jun 14, 2019
Image store.json change request by @alexellis Nov 3, 2019
Image templates.json Update node10-express-service template to updated repo location Feb 8, 2020

README.md

OpenFaaS Function Store

Build Status

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

Image

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:

You can’t perform that action at this time.