Giter Site home page Giter Site logo

openfaas-store's Introduction

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

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:

openfaas-store's People

Contributors

alexellis avatar rgee0 avatar martindekov avatar rorpage avatar esimov avatar viveksyngh avatar burtonr avatar scottleedavis avatar pmlopes avatar kenfdev avatar jockdarock avatar koffeinfrei avatar tmiklas avatar tpei avatar stefanprodan avatar piotr-roslaniec avatar nitishkumar71 avatar michaelmior avatar lucasroesler avatar kylos101 avatar affix avatar ivanayov avatar ericstoekl avatar devries avatar distantcam avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.