# openfaas/faas

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/openfaas-faas).**

26,092 stars · 1,971 forks · Go · other

## Links

- GitHub: https://github.com/openfaas/faas
- Homepage: https://www.openfaas.com
- awesome-repositories: https://awesome-repositories.com/repository/openfaas-faas.md

## Topics

`docker` `faas` `functions` `functions-as-a-service` `gitops` `golang` `k8s` `kubernetes` `lambda` `nodejs` `paas` `prometheus` `serverless` `serverless-functions`

## Description

OpenFaaS is a serverless function platform that provides a container-native framework for deploying and managing event-driven code. It functions as an abstraction layer over container orchestrators, allowing developers to package code into scalable functions that run across Kubernetes clusters or edge computing environments.

The platform distinguishes itself through a developer-centric runtime that utilizes standardized language templates and automated build pipelines to simplify the creation of container images. It features a central API gateway that manages request routing, authentication, and metrics, while a sidecar-based watchdog process handles the translation of HTTP requests into standard input and output for function code. To support complex workflows, the system includes an asynchronous queue-based execution layer that buffers requests for long-running tasks and provides reliable retries.

The project covers a broad capability surface, including event-driven integration through connectors for various message queues and external sources, as well as comprehensive tooling for CLI-based management, secret handling, and CI/CD pipeline integration. It also supports advanced operational requirements such as autoscaling, fine-grained monitoring, and identity management through various single sign-on providers.

The platform is designed for deployment on Kubernetes, including managed services and local environments, and provides extensive documentation and tutorials to guide users through the installation and development lifecycle.

## Tags

### Web Development

- [Serverless Platforms](https://awesome-repositories.com/f/web-development/serverless-platforms.md) — Transforms code into scalable, event-driven functions deployed across infrastructure.
- [Serverless Frameworks](https://awesome-repositories.com/f/web-development/serverless-frameworks.md) — Deploys and manages event-driven functions that scale automatically.
- [REST APIs](https://awesome-repositories.com/f/web-development/rest-apis.md) — Exposes a comprehensive REST API for managing and invoking functions. ([source](https://docs.openfaas.com/reference/private-registries/))
- [Microservices Platforms](https://awesome-repositories.com/f/web-development/microservices-platforms.md) — Packages and runs modular application components as containers.

### DevOps & Infrastructure

- [Serverless Orchestration](https://awesome-repositories.com/f/devops-infrastructure/serverless-orchestration.md) — ## Layers and responsibilities¶ The recommended platform for deploying OpenFaaS is Kubernetes, whether that is a local environment, a self-hosted cluster, or with a managed service such as AWS Elastic Kubernetes Service ([source](https://docs.openfaas.com/architecture/stack/))
- [Serverless Platforms](https://awesome-repositories.com/f/devops-infrastructure/serverless-platforms.md) — ## Layers and responsibilities¶ The recommended platform for deploying OpenFaaS is Kubernetes, whether that is a local environment, a self-hosted cluster, or with a managed service such as AWS Elastic Kubernetes Service ([source](https://docs.openfaas.com/architecture/stack/))
- [API Gateways](https://awesome-repositories.com/f/devops-infrastructure/api-gateways.md) — On this page: - OpenFaaS Pro Autoscaler (below) - Legacy scaling for the Community Edition (CE) ## OpenFaaS Pro Autoscaler¶ OpenFaaS Pro feature This feature is included for OpenFaaS Pro customers, and is designed for co ([source](https://docs.openfaas.com/architecture/autoscaling/))
- [Auto-scaling Policies](https://awesome-repositories.com/f/devops-infrastructure/auto-scaling-policies.md) — OpenFaaS Edge ships a simplified version of scale to zero, which supports a global idle value for all functions. OpenFaaS on Kubernetes supports fine-grained idle times for each function. To enable scale to zero for a fu ([source](https://docs.openfaas.com/edge/scale-to-zero/))
- [Cloud Native Infrastructure](https://awesome-repositories.com/f/devops-infrastructure/cloud-native-infrastructure.md) — Standardizes deployment and operation of workloads across clusters.
- [Deployment Orchestration](https://awesome-repositories.com/f/devops-infrastructure/deployment-orchestration.md) — OpenFaaS can be deployed to a variety of container orchestrators such as Kubernetes, K3s, OpenShift, or to a single host with faasd. ## OpenFaaS Pro - Standard or for Enterprises (production, commercial use)¶ OpenFaaS Pr ([source](https://docs.openfaas.com/deployment/))
- [Event Connectors](https://awesome-repositories.com/f/devops-infrastructure/event-connectors.md) — Provides native integration to trigger functions from RabbitMQ message queues. ([source](https://docs.openfaas.com/openfaas-pro/rabbitmq-events/))
- [Message Queues](https://awesome-repositories.com/f/devops-infrastructure/message-queues.md) — A message-passing layer buffers function requests to handle long-running tasks and provide reliable retries for event-driven workflows.
- [Request Routing](https://awesome-repositories.com/f/devops-infrastructure/request-routing.md) — A central API gateway manages authentication, traffic routing, and metrics collection for all incoming function invocations across the cluster.
- [Sidecar Proxies](https://awesome-repositories.com/f/devops-infrastructure/sidecar-proxies.md) — A lightweight process runs alongside each function container to translate HTTP requests into standard input and output for the function code.
- [Autoscaling Systems](https://awesome-repositories.com/f/devops-infrastructure/autoscaling-systems.md) — On this page: - OpenFaaS Pro Autoscaler (below) - Legacy scaling for the Community Edition (CE) ## OpenFaaS Pro Autoscaler¶ OpenFaaS Pro feature This feature is included for OpenFaaS Pro customers, and is designed for co ([source](https://docs.openfaas.com/architecture/autoscaling/))
- [Deployment Pipelines](https://awesome-repositories.com/f/devops-infrastructure/deployment-pipelines.md) — Enables automated function deployment triggered by source code changes. ([source](https://docs.openfaas.com/reference/cicd/gitlab/))
- [Kubernetes Controllers](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-controllers.md) — The system uses custom resource definitions and controllers to reconcile the desired state of functions with the underlying container orchestrator.
- [Kubernetes Integrations](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-integrations.md) — OpenFaaS can be deployed to a variety of container orchestrators such as Kubernetes, K3s, OpenShift, or to a single host with faasd. ## OpenFaaS Pro - Standard or for Enterprises (production, commercial use)¶ OpenFaaS Pr ([source](https://docs.openfaas.com/deployment/))
- [Orchestration Abstractions](https://awesome-repositories.com/f/devops-infrastructure/orchestration-abstractions.md) — Provides a unified interface for managing containerized workloads.
- [Container Runtimes](https://awesome-repositories.com/f/devops-infrastructure/container-runtimes.md) — The OpenFaaS Pro Dashboard is compatible with OpenFaaS Edge. Optional add-on The dashboard is included with OpenFaaS for Kubernetes, but is an optional add-on for Edge and requires an additional tier or purchase. ## Enab ([source](https://docs.openfaas.com/edge/dashboard/))
- [Deployment Automation](https://awesome-repositories.com/f/devops-infrastructure/deployment-automation.md) — Send prompts to the OpenAI Responses API and return the response. Running this inside an OpenFaaS function lets you trigger AI inference on demand via HTTP, or integrate it into event-driven workflows. Use-cases: - Chatb ([source](https://docs.openfaas.com/languages/python/examples/openai/))
- [Message Queue Workers](https://awesome-repositories.com/f/devops-infrastructure/message-queue-workers.md) — In this guide, you'll learn how to deploy from GitLab CI/CD using OpenFaaS's IAM support and Web Identity Federation. You'll need to create YAML files for an Issuer, a Policy and a Role. These need to be applied through ([source](https://docs.openfaas.com/openfaas-pro/iam/gitlab-federation/))
- [Workload Orchestration](https://awesome-repositories.com/f/devops-infrastructure/workload-orchestration.md) — Manages the deployment and lifecycle of containerized functions across infrastructure. ([source](https://docs.openfaas.com/reference/triggers/))
- [Container Registries](https://awesome-repositories.com/f/devops-infrastructure/container-registries.md) — Supports pulling function images from private container registries. ([source](https://docs.openfaas.com/reference/private-registries/))
- [Enterprise Deployment Tools](https://awesome-repositories.com/f/devops-infrastructure/enterprise-deployment-tools.md) — OpenFaaS CE has been tested with OpenShift 3.11 and also works with OpenShift 4.x, but no instructions are provided at this time. ## Deploy in a container¶ You can deploy OpenFaaS to OpenShift 3.11 in a container for dev ([source](https://docs.openfaas.com/deployment/openshift/))
- [Event Triggers](https://awesome-repositories.com/f/devops-infrastructure/event-triggers.md) — Maps external events, topics, and queues to trigger automated function execution. ([source](https://docs.openfaas.com/reference/triggers/))
- [Infrastructure Profiles](https://awesome-repositories.com/f/devops-infrastructure/infrastructure-profiles.md) — Allows defining reusable infrastructure profiles for function execution. ([source](https://docs.openfaas.com/reference/private-registries/))
- [Task Scheduling](https://awesome-repositories.com/f/devops-infrastructure/task-scheduling.md) — Allows scheduling functions to run at specific intervals using cron syntax. ([source](https://docs.openfaas.com/reference/cors/))

### Software Engineering & Architecture

- [Serverless Frameworks](https://awesome-repositories.com/f/software-engineering-architecture/serverless-frameworks.md) — On this page: - OpenFaaS Pro Autoscaler (below) - Legacy scaling for the Community Edition (CE) ## OpenFaaS Pro Autoscaler¶ OpenFaaS Pro feature This feature is included for OpenFaaS Pro customers, and is designed for co ([source](https://docs.openfaas.com/architecture/autoscaling/))
- [Function Execution Engines](https://awesome-repositories.com/f/software-engineering-architecture/function-execution-engines.md) — On this page: - OpenFaaS Pro Autoscaler (below) - Legacy scaling for the Community Edition (CE) ## OpenFaaS Pro Autoscaler¶ OpenFaaS Pro feature This feature is included for OpenFaaS Pro customers, and is designed for co ([source](https://docs.openfaas.com/architecture/autoscaling/))
- [Deployment Patterns](https://awesome-repositories.com/f/software-engineering-architecture/deployment-patterns.md) — You can write a custom log provider and configure the OpenFaaS Gateway to use it. A log provider is an HTTP server that provides a `/system/logs` endpoint that supports a `GET` request with the following query parameters ([source](https://docs.openfaas.com/architecture/logs-provider/))

### Programming Languages & Runtimes

- [Function Runtimes](https://awesome-repositories.com/f/programming-languages-runtimes/function-runtimes.md) — Provides language-specific templates and build pipelines for rapid development.
- [Language Runtimes](https://awesome-repositories.com/f/programming-languages-runtimes/language-runtimes.md) — ## C# (CSharp)¶ The `dotnet8-csharp` template is a C# template built with WebApplication and the minimal API style. It is multi-arch, and can be deployed to an amd64 or arm64 platform. For a function based upon an existi ([source](https://docs.openfaas.com/languages/csharp/))
- [Language Templates](https://awesome-repositories.com/f/programming-languages-runtimes/language-templates.md) — ## Go (Golang)¶ Go, aka Golang is a popular open-source programming language created and maintained by a team at Google. Do you need to customise this template? You can customise the official templates, or provide your o ([source](https://docs.openfaas.com/languages/go/))
- [Python Runtimes](https://awesome-repositories.com/f/programming-languages-runtimes/python-runtimes.md) — ## Python¶ These are the official Python 3 templates maintained by OpenFaaS Ltd. The `python3-http` template is recommended for most Python functions. Use `python3-http-debian` when a dependency requires native compilati ([source](https://docs.openfaas.com/languages/python/))

### Networking & Communication

- [Event-Driven Architectures](https://awesome-repositories.com/f/networking-communication/event-driven-architectures.md) — Connects services and queues to trigger automated workflows.
- [Integration Layers](https://awesome-repositories.com/f/networking-communication/integration-layers.md) — Triggers function execution based on external events from queues and webhooks.

### Security & Cryptography

- [Access Management](https://awesome-repositories.com/f/security-cryptography/access-management.md) — In this guide, you'll learn how to deploy from GitLab CI/CD using OpenFaaS's IAM support and Web Identity Federation. You'll need to create YAML files for an Issuer, a Policy and a Role. These need to be applied through ([source](https://docs.openfaas.com/openfaas-pro/iam/gitlab-federation/))
- [Authentication Strategies](https://awesome-repositories.com/f/security-cryptography/authentication-strategies.md) — Provides mechanisms for securing individual functions with authentication. ([source](https://docs.openfaas.com/reference/authentication/))
- [Identity Providers](https://awesome-repositories.com/f/security-cryptography/identity-providers.md) — ## Configure Okta¶ This guide covers how to configure Okta as an Identity provider for OpenFaaS IAM. 1. Create a new App integration for OpenFaaS Create am *OIDC - OpenID Connect* app integration using the *Single-Page A ([source](https://docs.openfaas.com/openfaas-pro/sso/okta/))
- [Secret Management](https://awesome-repositories.com/f/security-cryptography/secret-management.md) — Provides secure injection of sensitive data like API tokens into functions. ([source](https://docs.openfaas.com/reference/secrets/))
- [Transport Security](https://awesome-repositories.com/f/security-cryptography/transport-security.md) — Supports TLS encryption for secure communication with functions. ([source](https://docs.openfaas.com/reference/secrets/))
- [Identity Federation](https://awesome-repositories.com/f/security-cryptography/identity-federation.md) — In order to access the OpenFaaS API, a JWT Issuer must first be registered with the system. In this example we will be using Auth0 as the identity provider for OpenFaaS. Create an application on Auth0 for the OpenFaaS ga ([source](https://docs.openfaas.com/openfaas-pro/iam/example-auth0/))
- [Access Management Policies](https://awesome-repositories.com/f/security-cryptography/access-management-policies.md) — In this guide, you'll learn how to deploy from GitLab CI/CD using OpenFaaS's IAM support and Web Identity Federation. You'll need to create YAML files for an Issuer, a Policy and a Role. These need to be applied through ([source](https://docs.openfaas.com/openfaas-pro/iam/gitlab-federation/))
- [Identity and Access Management](https://awesome-repositories.com/f/security-cryptography/identity-access-management.md) — ## Python¶ These are the official Python 3 templates maintained by OpenFaaS Ltd. The `python3-http` template is recommended for most Python functions. Use `python3-http-debian` when a dependency requires native compilati ([source](https://docs.openfaas.com/languages/python/))
- [Identity Management](https://awesome-repositories.com/f/security-cryptography/identity-management.md) — Supports single sign-on authentication for command-line interface access. ([source](https://docs.openfaas.com/openfaas-pro/sns-events/))
- [Single Sign-On Providers](https://awesome-repositories.com/f/security-cryptography/single-sign-on-providers.md) — ## Configure Google¶ This guide will cover how to configure Google as an identity provider for OpenFaaS IAM. This is an easy way to authorize with OpenFaaS if your team is already using Google Workspace. 1. Setup a new p ([source](https://docs.openfaas.com/openfaas-pro/sso/google/))

### Development Tools & Productivity

- [Build Templates](https://awesome-repositories.com/f/development-tools-productivity/build-templates.md) — Standardized language-specific templates allow developers to package code into container images without manually writing complex Dockerfiles for every function.
- [Build Tooling](https://awesome-repositories.com/f/development-tools-productivity/build-tooling.md) — The OpenFaaS CLI supports various options for building a function. For details and examples run `faas-cli build --help` - Build images with Docker The `faas-cli build` command builds a Docker image into your local Docker ([source](https://docs.openfaas.com/cli/build/))
- [Command Line Interfaces](https://awesome-repositories.com/f/development-tools-productivity/command-line-interfaces.md) — Provides a CLI for creating, building, and deploying functions. ([source](https://docs.openfaas.com/tutorials/CLI-with-node/))
- [Development Templates](https://awesome-repositories.com/f/development-tools-productivity/development-templates.md) — ## C# (CSharp)¶ The `dotnet8-csharp` template is a C# template built with WebApplication and the minimal API style. It is multi-arch, and can be deployed to an amd64 or arm64 platform. For a function based upon an existi ([source](https://docs.openfaas.com/languages/csharp/))
- [Build APIs](https://awesome-repositories.com/f/development-tools-productivity/build-apis.md) — The Function Builder API provides a simple REST API to create your functions from source code. OpenFaaS Enterprise feature This feature is included for OpenFaaS Enterprise customers. The Function Builder is designed to b ([source](https://docs.openfaas.com/openfaas-pro/builder/))
- [Developer Productivity Tools](https://awesome-repositories.com/f/development-tools-productivity/developer-productivity-tools.md) — Streamlines build, test, and deployment cycles with templates and CLI tools.
- [Management Dashboards](https://awesome-repositories.com/f/development-tools-productivity/management-dashboards.md) — The OpenFaaS Pro Dashboard is compatible with OpenFaaS Edge. Optional add-on The dashboard is included with OpenFaaS for Kubernetes, but is an optional add-on for Edge and requires an additional tier or purchase. ## Enab ([source](https://docs.openfaas.com/edge/dashboard/))
- [Scaffolding Tools](https://awesome-repositories.com/f/development-tools-productivity/scaffolding-tools.md) — Via an extensible API, OpenFaaS Provides access to function logs via the Gateway API and the CLI. This provides a simple and consistent way to access function logs regardless of your orchestration provider. The log provi ([source](https://docs.openfaas.com/cli/logs/))

### Data & Databases

- [Event Connectors](https://awesome-repositories.com/f/data-databases/event-connectors.md) — Trigger function invocations from messages received on Kafka topics. > Note: This feature is included for OpenFaaS Standard & For Enterprises customers. ## Feature blog posts¶ - Trigger your functions from Kafka with Con ([source](https://docs.openfaas.com/openfaas-pro/kafka-events/))

### System Administration & Monitoring

- [Log Aggregation](https://awesome-repositories.com/f/system-administration-monitoring/log-aggregation.md) — Via an extensible API, OpenFaaS Provides access to function logs via the Gateway API and the CLI. This provides a simple and consistent way to access function logs regardless of your orchestration provider. The log provi ([source](https://docs.openfaas.com/cli/logs/))
- [System Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/system-monitoring.md) — You can write a custom log provider and configure the OpenFaaS Gateway to use it. A log provider is an HTTP server that provides a `/system/logs` endpoint that supports a `GET` request with the following query parameters ([source](https://docs.openfaas.com/architecture/logs-provider/))

### Testing & Quality Assurance

- [Unit Testing Frameworks](https://awesome-repositories.com/f/testing-quality-assurance/unit-testing-frameworks.md) — Supports local unit testing of functions using standard Python testing tools. ([source](https://docs.openfaas.com/languages/python/examples/testing/))
- [Browser Automation Testing](https://awesome-repositories.com/f/testing-quality-assurance/browser-automation-testing.md) — Playwright is a Python library for controlling a headless browser programmatically. Running it inside an OpenFaaS function lets you trigger browser automation on demand via HTTP — useful for tasks that require a real ren ([source](https://docs.openfaas.com/languages/python/examples/playwright/))

### Artificial Intelligence & ML

- [AI Service Integrations](https://awesome-repositories.com/f/artificial-intelligence-ml/ai-service-integrations.md) — Send prompts to the OpenAI Responses API and return the response. Running this inside an OpenFaaS function lets you trigger AI inference on demand via HTTP, or integrate it into event-driven workflows. Use-cases: - Chatb ([source](https://docs.openfaas.com/languages/python/examples/openai/))
