<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Function Runner on Porch Documentation</title><link>/docs/5_architecture_and_components/function-runner/</link><description>Recent content in Function Runner on Porch Documentation</description><generator>Hugo</generator><language>en-us</language><atom:link href="/docs/5_architecture_and_components/function-runner/index.xml" rel="self" type="application/rss+xml"/><item><title>Function Runner Design</title><link>/docs/5_architecture_and_components/function-runner/design/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/5_architecture_and_components/function-runner/design/</guid><description>&lt;h2 id="architectural-context"&gt;Architectural Context&lt;a class="td-heading-self-link" href="#architectural-context" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The Function Runner is &lt;strong&gt;one of several function execution mechanisms&lt;/strong&gt; in Porch. The Task Handler uses a &lt;strong&gt;Function Runtime&lt;/strong&gt; interface that can be implemented by:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Task Handler (in Porch)
 ↓
 Function Runtime
 ↓
 ┌─────┴─────┬──────────┐
 ↓ ↓ ↓
Builtin gRPC Multi
Runtime Runtime Runtime
 ↓ ↓ ↓
In-Process Function Chains
Go Code Runner Runtimes
 (External)
 ↓
 ┌─────────┴─────────┬──────────┐
 ↓ ↓ ↓
 Pod Executable Multi
 Evaluator Evaluator Evaluator
 ↓ ↓ ↓
 Function Cached Fallback
 Pods Binaries Chain
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Function Runtime implementations:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Function Runner Interactions</title><link>/docs/5_architecture_and_components/function-runner/interactions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/5_architecture_and_components/function-runner/interactions/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The Function Runner is a &lt;strong&gt;separate gRPC service&lt;/strong&gt; that interacts with multiple systems:
the Task Handler (via gRPC), Kubernetes API (for pod management, FunctionConfig objects, and pod/service templates),
container registries (for image metadata), and wrapper servers (for function execution).
It operates independently from the Porch server, enabling isolated function execution.&lt;/p&gt;
&lt;p&gt;An embedded FunctionConfig reconciler watches FunctionConfig objects in the function-pod namespace and fills an in-memory store.
That store is how the executable evaluator resolves binaries and how the pod evaluator applies per-image TTL, parallelism, and template overrides.
Go execution is not handled here; it runs in porch-server / porch-controllers.
See 
&lt;a href="/docs/6_configuration_and_deployments/configurations/components/function-runner-config/function-configuration/"&gt;Function Configuration&lt;/a&gt;.&lt;/p&gt;</description></item></channel></rss>