MCPcopy Index your code
hub / github.com/OpenFunction/OpenFunction

github.com/OpenFunction/OpenFunction @v1.2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.2.0 ↗ · + Follow
1,134 symbols 2,728 edges 115 files 644 documented · 57%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

banner

Cloud native FaaS platform for running Serverless workloads with ease

A+ good first follow on Twitter

👀 Overview

OpenFunction is a cloud-native open source FaaS (Function as a Service) platform aiming to let you focus on your business logic without having to maintain the underlying runtime environment and infrastructure. You only need to submit business-related source code in the form of functions.

OpenFunction features include:

  • Cloud agnostic and decoupled with cloud providers' BaaS
  • Pluggable architecture that allows multiple function runtimes
  • Support both sync and async functions
  • Unique async functions support that can consume events directly from event sources
  • Support generating OCI-Compliant container images directly from function source code.
  • Flexible autoscaling between 0 and N
  • Advanced async function autoscaling based on event sources' specific metrics
  • Simplified BaaS integration for both sync and async functions by introducing Dapr
  • Advanced function ingress & traffic management powered by K8s Gateway API
  • Flexible and easy-to-use events management framework

☸ Architecture

OpenFunction manages its components in the form of Custom Resource Definitions (CRD) throughout the lifecycle of a function, you can find more details in the Concepts section.

OpenFunction Events is OpenFunction's events framework, you can refer to OpenFunction Events for more information.

🚀 QuickStart

Install OpenFunction

To install OpenFunction, please refer to Installation Guide.

Create functions

You can find guides to create the sync and async functions in different languages here

Uninstall OpenFunction

To uninstall OpenFunction, please refer to Uninstallation Guide.

FAQ

When you encounter any problems when using OpenFunction, you can refer to the FAQ for help.

💻 Development

See the Development Guide to get started with developing this project.

🛣️ Roadmap

Here you can find OpenFunction roadmap.

🏘️ Community

Contact Us

Community Call

Events

Landscape

    

OpenFunction is a CNCF Sandbox project now which also enriches the CNCF Cloud Native Landscape.

📊 Status

Alt

Extension points exported contracts — how you extend this code

FunctionInterface (Interface)
FunctionInterface has methods to work with Function resources. [16 implementers]
pkg/client/clientset/versioned/typed/core/v1beta1/function.go
OpenFunctionEventSource (Interface)
(no doc) [5 implementers]
pkg/event/event.go
ServingRun (Interface)
(no doc) [3 implementers]
pkg/core/interface.go
ServingInterface (Interface)
ServingInterface has methods to work with Serving resources. [16 implementers]
pkg/client/clientset/versioned/typed/core/v1beta1/serving.go
OpenFunctionEventBus (Interface)
(no doc) [5 implementers]
pkg/event/event.go
BuilderRun (Interface)
(no doc) [1 implementers]
pkg/core/interface.go
BuilderInterface (Interface)
BuilderInterface has methods to work with Builder resources. [16 implementers]
pkg/client/clientset/versioned/typed/core/v1beta1/builder.go
FunctionInterface (Interface)
FunctionInterface has methods to work with Function resources. [16 implementers]
pkg/client/clientset/versioned/typed/core/v1beta2/function.go

Core symbols most depended-on inside this repo

Get
called by 52
pkg/client/clientset/versioned/typed/core/v1beta2/serving.go
Update
called by 31
pkg/client/clientset/versioned/typed/core/v1beta2/serving.go
IgnoreNotFound
called by 26
pkg/util/error.go
AddCondition
called by 25
apis/events/v1alpha1/event.go
SetMessage
called by 25
apis/events/v1alpha1/event.go
Delete
called by 18
pkg/client/clientset/versioned/typed/core/v1beta2/serving.go
List
called by 17
pkg/client/clientset/versioned/typed/core/v1beta2/serving.go
Create
called by 13
pkg/client/clientset/versioned/typed/core/v1beta2/serving.go

Shape

Method 771
Struct 181
Function 131
Interface 39
TypeAlias 12

Languages

Go100%

Modules by API surface

apis/core/v1beta2/zz_generated.deepcopy.go104 symbols
apis/core/v1beta1/zz_generated.deepcopy.go76 symbols
apis/events/v1alpha1/zz_generated.deepcopy.go60 symbols
controllers/core/function_controller.go28 symbols
pkg/core/serving/common/common.go27 symbols
apis/core/v1beta2/serving_types.go26 symbols
apis/core/v1beta1/function_types.go24 symbols
pkg/client/clientset/versioned/typed/events/v1alpha1/trigger.go23 symbols
pkg/client/clientset/versioned/typed/events/v1alpha1/eventsource.go23 symbols
pkg/client/clientset/versioned/typed/core/v1beta2/serving.go23 symbols
pkg/client/clientset/versioned/typed/core/v1beta2/function.go23 symbols
pkg/client/clientset/versioned/typed/core/v1beta2/builder.go23 symbols

For agents

$ claude mcp add OpenFunction \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact