internal/

directory
v0.9.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 10, 2026 License: Apache-2.0

Directories

Path Synopsis
Package activator implements scale-to-zero (ADR-0016): an in-process data-path component backing a gateway route's upstream.
Package activator implements scale-to-zero (ADR-0016): an in-process data-path component backing a gateway route's upstream.
storescaler
Package storescaler is the V1 store-backed activator.Scaler driver (ADR-0016): it records a function's scale intent as its partitioned status Phase — the wake edge Idle→Deploying for replicas>=1, the reclaim edge Ready/Degraded/empty→Idle for replicas==0 (activator.Reclaimable, ADR-0169, ADR-0185) — via store.Update.
Package storescaler is the V1 store-backed activator.Scaler driver (ADR-0016): it records a function's scale intent as its partitioned status Phase — the wake edge Idle→Deploying for replicas>=1, the reclaim edge Ready/Degraded/empty→Idle for replicas==0 (activator.Reclaimable, ADR-0169, ADR-0185) — via store.Update.
Package app is the App kind's server side (ADR-0199, F113): the app-parts admission, which admits each declared part as a direct write of it would be admitted, and the App reconciler, which writes the parts, reports one status and prunes what a new spec drops.
Package app is the App kind's server side (ADR-0199, F113): the app-parts admission, which admits each declared part as a direct write of it would be admitted, and the App reconciler, which writes the parts, reports one status and prunes what a new spec drops.
Package artifact is OCI artifact distribution (ADR-0031): how a function source bundle reaches the platform.
Package artifact is OCI artifact distribution (ADR-0031): how a function source bundle reaches the platform.
Package auth is the authorization kernel (ADR-0018): the Authorizer port (PDP) every enforcement point (PEP) calls, plus the typed principal/verb/decision model.
Package auth is the authorization kernel (ADR-0018): the Authorizer port (PDP) every enforcement point (PEP) calls, plus the typed principal/verb/decision model.
authcontract
Package authcontract is the shared conformance suite for the auth.Authorizer port (ADR-0018): Run asserts the default-deny namespace-RBAC guarantee against any driver — admin spans namespaces + cluster-scoped kinds, developer writes only in its namespaces, viewer is read-only and never reads a Secret, and an unknown principal is denied.
Package authcontract is the shared conformance suite for the auth.Authorizer port (ADR-0018): Run asserts the default-deny namespace-RBAC guarantee against any driver — admin spans namespaces + cluster-scoped kinds, developer writes only in its namespaces, viewer is read-only and never reads a Secret, and an unknown principal is denied.
cedar
Package cedar is the cedar-go authorization driver (ADR-0074) behind the auth.Authorizer port (ADR-0018): it answers per-object, fine-grained data-plane decisions (KV first) that the coarse RBAC driver cannot express.
Package cedar is the cedar-go authorization driver (ADR-0074) behind the auth.Authorizer port (ADR-0018): it answers per-object, fine-grained data-plane decisions (KV first) that the coarse RBAC driver cannot express.
rbac
Package rbac is the built-in namespace-scoped RBAC Authorizer driver (ADR-0018): admin / developer / viewer roles, default-deny.
Package rbac is the built-in namespace-scoped RBAC Authorizer driver (ADR-0018): admin / developer / viewer roles, default-deny.
Package blob is the storage-layer port (ADR-0007): opaque byte objects behind the blob.Bucket port.
Package blob is the storage-layer port (ADR-0007): opaque byte objects behind the blob.Bucket port.
blobcontract
Package blobcontract is the shared conformance suite for the blob.Bucket port (ADR-0007).
Package blobcontract is the shared conformance suite for the blob.Bucket port (ADR-0007).
gocloud
Package gocloud is the gocloud.dev/blob driver for the blob.Bucket port (ADR-0007): memory / file / S3 by URL, all pure-Go (no cgo).
Package gocloud is the gocloud.dev/blob driver for the blob.Bucket port (ADR-0007): memory / file / S3 by URL, all pure-Go (no cgo).
s3gateway
Package s3gateway is the funcd S3-protocol frontend over the blob.Bucket substrate (ADR-0080), with in-platform identity via funcd-managed per-principal SigV4 keypairs resolved by an in-process versitygw auth.IAMService (ADR-0085).
Package s3gateway is the funcd S3-protocol frontend over the blob.Bucket substrate (ADR-0080), with in-platform identity via funcd-managed per-principal SigV4 keypairs resolved by an in-process versitygw auth.IAMService (ADR-0085).
bus
Package bus is the messaging port (ADR-0008): core pub/sub plus durable JetStream streams/consumers, behind the bus.Bus port.
Package bus is the messaging port (ADR-0008): core pub/sub plus durable JetStream streams/consumers, behind the bus.Bus port.
buscontract
Package buscontract is the shared conformance suite for the bus.Bus port (ADR-0008).
Package buscontract is the shared conformance suite for the bus.Bus port (ADR-0008).
nats
Package nats is the embedded-NATS driver for the bus.Bus port (ADR-0008): an in-process nats-server with JetStream (memory or file storage), all pure-Go (no cgo).
Package nats is the embedded-NATS driver for the bus.Bus port (ADR-0008): an in-process nats-server with JetStream (memory or file storage), all pure-Go (no cgo).
catalog
gateway
Package gateway is the funcd catalog PEP proxy over the Quack/DuckLake serving path (ADR-0137, FEAT-0008/F102).
Package gateway is the funcd catalog PEP proxy over the Quack/DuckLake serving path (ADR-0137, FEAT-0008/F102).
Package contract enforces the funcd contract type profile (ADR-0058): the bounded, language-agnostic subset of JSON Schema 2020-12 that a function's I/O contract may use — "the def" (the discipline JTD and WIT apply).
Package contract enforces the funcd contract type profile (ADR-0058): the bounded, language-agnostic subset of JSON Schema 2020-12 that a function's I/O contract may use — "the def" (the discipline JTD and WIT apply).
Package controller is the one general reconcile engine (ADR-0015): a store-watch informer feeds a rate-limited, deduplicating workqueue that worker goroutines drain by calling each kind's registered Reconciler — with exponential-backoff retry, RequeueAfter, status write-back (the reconciler's), and clean shutdown.
Package controller is the one general reconcile engine (ADR-0015): a store-watch informer feeds a rate-limited, deduplicating workqueue that worker goroutines drain by calling each kind's registered Reconciler — with exponential-backoff retry, RequeueAfter, status write-back (the reconciler's), and clean shutdown.
Package controlplane owns the huma API registration, typed operations, the Handlers seam, and the api/fault → huma problem+json error bridge (ADR-0005).
Package controlplane owns the huma API registration, typed operations, the Handlers seam, and the api/fault → huma problem+json error bridge (ADR-0005).
admission
Package admission is the control-plane admission framework (ADR-0063): a two-phase pipeline (mutate-all → validate-all) of single-purpose Admissions run on every resource write, after authz and before the store.
Package admission is the control-plane admission framework (ADR-0063): a two-phase pipeline (mutate-all → validate-all) of single-purpose Admissions run on every resource write, after authz and before the store.
cmd/specgen command
Command specgen writes the huma-generated OpenAPI 3.1 spec to the committed path.
Command specgen writes the huma-generated OpenAPI 3.1 spec to the committed path.
middleware
Package middleware holds the control-plane API server's net/http middleware (ADR-0018).
Package middleware holds the control-plane API server's net/http middleware (ADR-0018).
Package dataplane is the function-invocation data plane (ADR-0033): the HTTP handler that serves function traffic, separate from the control-plane API (ADR-0028).
Package dataplane is the function-invocation data plane (ADR-0033): the HTTP handler that serves function traffic, separate from the control-plane API (ADR-0028).
edge
authn
Package authn is the edge authentication PEP (ADR-0113, F77): for a data-plane request whose target has an `authenticated` stance, it extracts a bearer token, resolves it to a connection-scoped Identity (never client-asserted), and DELEGATES the allow/deny decision to the existing auth.Authorizer (RBAC namespace-scope in V1; fine-grained Cedar edge policy in V2).
Package authn is the edge authentication PEP (ADR-0113, F77): for a data-plane request whose target has an `authenticated` stance, it extracts a bearer token, resolves it to a connection-scoped Identity (never client-asserted), and DELEGATES the allow/deny decision to the existing auth.Authorizer (RBAC namespace-scope in V1; fine-grained Cedar edge policy in V2).
limit
Package limit is the ingress protection of the data plane (ADR-0112, F75): it refuses abusive traffic before the activator can wake a scaled-to-zero sandbox.
Package limit is the ingress protection of the data plane (ADR-0112, F75): it refuses abusive traffic before the activator can wake a scaled-to-zero sandbox.
observ
Package observ is the edge observability middleware (ADR-0114, F76): RED metrics (request rate / errors / duration by function+status) off the OTel meter, an edge span that mints or adopts a W3C traceparent so the downstream invocation span parents under it (the ingress hop joins the one-run-one-trace waterfall, ADR-0101/0102), and a structured access log correlated by X-Request-Id.
Package observ is the edge observability middleware (ADR-0114, F76): RED metrics (request rate / errors / duration by function+status) off the OTel meter, an edge span that mints or adopts a W3C traceparent so the downstream invocation span parents under it (the ingress hop joins the one-run-one-trace waterfall, ADR-0101/0102), and a structured access log correlated by X-Request-Id.
router
Package router is the edge request matcher (ADR-0110, F79): it compiles the Ready Route set into a host/path/method table and resolves a public data-plane request to a target (namespace, function).
Package router is the edge request matcher (ADR-0110, F79): it compiles the Ready Route set into a host/path/method table and resolves a public data-plane request to a target (namespace, function).
shape
Package shape is the edge shaping middleware (ADR-0114, F78): CORS (preflight + ACAO), response header inject/strip, and gzip compression that SKIPS streaming (text/event-stream) and upgrades (Connection: Upgrade / 101) and FORWARDS http.Flusher + http.Hijacker so SSE/WebSocket pass through unbroken.
Package shape is the edge shaping middleware (ADR-0114, F78): CORS (preflight + ACAO), response header inject/strip, and gzip compression that SKIPS streaming (text/event-stream) and upgrades (Connection: Upgrade / 101) and FORWARDS http.Flusher + http.Hijacker so SSE/WebSocket pass through unbroken.
static
Package static is the edge static-asset handler (ADR-0120, F82): it serves a Bucket-prefix static site directly through the FEAT-0006 edge — index resolution, content-types, a weak (ModTime,Size) ETag + conditional GET (304), HTTP Range (206), an optional SPA fallback, and a pinned three-tier Cache-Control — with no function code and no activator hop.
Package static is the edge static-asset handler (ADR-0120, F82): it serves a Bucket-prefix static site directly through the FEAT-0006 edge — index resolution, content-types, a weak (ModTime,Size) ETag + conditional GET (304), HTTP Range (206), an optional SPA fallback, and a pinned three-tier Cache-Control — with no function code and no activator hop.
tls
Package edgetls is the TLS termination provider port (ADR-0111, F74): it builds the *tls.Config funcd attaches to its own http.Servers (no listener handover — the caller drives ServeTLS).
Package edgetls is the TLS termination provider port (ADR-0111, F74): it builds the *tls.Config funcd attaches to its own http.Servers (no listener handover — the caller drives ServeTLS).
tls/acme
Package acme is the certmagic-backed ACME TLS driver (ADR-0111, F74): automatic public certificates via an ACME CA (Let's Encrypt by default; a test directory URL for Pebble).
Package acme is the certmagic-backed ACME TLS driver (ADR-0111, F74): automatic public certificates via an ACME CA (Let's Encrypt by default; a test directory URL for Pebble).
tls/static
Package static is the stdlib TLS driver (ADR-0111, F74): it builds a *tls.Config from a static certificate — either operator-PROVIDED (tls.LoadX509KeyPair) or SELF-SIGNED (one multi-SAN cert this package generates with crypto/x509 and persists under the storage dir).
Package static is the stdlib TLS driver (ADR-0111, F74): it builds a *tls.Config from a static certificate — either operator-PROVIDED (tls.LoadX509KeyPair) or SELF-SIGNED (one multi-SAN cert this package generates with crypto/x509 and persists under the storage dir).
Package envresolve is the single config+secret env-resolver shared by the Function reconciler and the provider framework (ADR-0093, relocating ADR-0092's helper to a neutral leaf).
Package envresolve is the single config+secret env-resolver shared by the Function reconciler and the provider framework (ADR-0093, relocating ADR-0092's helper to a neutral leaf).
Package eventing implements funcd eventing (ADR-0023, reshaped by ADR-0108): a typed CloudEvents v1.0 envelope, an EventSource reconciler that registers a `timer:` source's NAMED events, and — on each firing — PUBLISHES a named CloudEvent onto a Publisher seam (the in-process Fanout) the F69 Sensor subscribes to.
Package eventing implements funcd eventing (ADR-0023, reshaped by ADR-0108): a typed CloudEvents v1.0 envelope, an EventSource reconciler that registers a `timer:` source's NAMED events, and — on each firing — PUBLISHES a named CloudEvent onto a Publisher seam (the in-process Fanout) the F69 Sensor subscribes to.
deadletter
Package deadletter is the eventing dead-letter queue PORT (ADR-0118, F85): the durable park for a Sensor action-delivery that failed past the bounded retry cap, or that was parked before its attempts ran out (ADR-0156: the Sensor's queue was full, the Sensor changed, or the daemon shut down).
Package deadletter is the eventing dead-letter queue PORT (ADR-0118, F85): the durable park for a Sensor action-delivery that failed past the bounded retry cap, or that was parked before its attempts ran out (ADR-0156: the Sensor's queue was full, the Sensor changed, or the daemon shut down).
deadletter/badger
Package badger is the dead-letter-queue deadletter driver (ADR-0118), backed by Badger v4 in a DEDICATED instance (never the metastore).
Package badger is the dead-letter-queue deadletter driver (ADR-0118), backed by Badger v4 in a DEDICATED instance (never the metastore).
deadletter/memory
Package memory is the in-memory deadletter.Store driver (ADR-0118): a small pure-Go map with no files, for cross-platform tests and the InMemory preset.
Package memory is the in-memory deadletter.Store driver (ADR-0118): a small pure-Go map with no files, for cross-platform tests and the InMemory preset.
Package expr is the funcd reference engine (ADR-0095): one typed `${{ … }}` expression grammar shared across the platform.
Package expr is the funcd reference engine (ADR-0095): one typed `${{ … }}` expression grammar shared across the platform.
Package funclog captures function telemetry over a freeze-safe side channel and persists it OTel-native through the blob.Bucket port (ADR-0081).
Package funclog captures function telemetry over a freeze-safe side channel and persists it OTel-native through the blob.Bucket port (ADR-0081).
compact
Package compact folds the funclog "raw" raw OTLP-JSON-Lines objects (ADR-0081) into columnar Parquet "compacted", time-windowed and Hive-partitioned, through the blob.Bucket port (ADR-0007).
Package compact folds the funclog "raw" raw OTLP-JSON-Lines objects (ADR-0081) into columnar Parquet "compacted", time-windowed and Hive-partitioned, through the blob.Bucket port (ADR-0007).
logread
Package logread is the thin pure-Go function-log reader (ADR-0084): it merges the compacted Parquet (ADR-0083) with the recent raw OTLP-JSONL tail (ADR-0081) over the blob.Bucket port, filters by time/severity/limit, and returns a tenant's function logs time-ordered.
Package logread is the thin pure-Go function-log reader (ADR-0084): it merges the compacted Parquet (ADR-0083) with the recent raw OTLP-JSONL tail (ADR-0081) over the blob.Bucket port, filters by time/severity/limit, and returns a tenant's function logs time-ordered.
Package function is the Function lifecycle reconciler (ADR-0020): the one controller.Reconciler for KindFunction.
Package function is the Function lifecycle reconciler (ADR-0020): the one controller.Reconciler for KindFunction.
Package gateway is the ingress / API gateway port (ADR-0012): program routes declaratively and serve them as an http.Handler that reverse-proxies a matched public path to a function's worker upstream.
Package gateway is the ingress / API gateway port (ADR-0012): program routes declaratively and serve them as an http.Handler that reverse-proxies a matched public path to a function's worker upstream.
embedded
Package embedded implements the gateway.Gateway port with net/http/httputil — a hand-written reverse proxy behind a longest-prefix router (ADR-0012).
Package embedded implements the gateway.Gateway port with net/http/httputil — a hand-written reverse proxy behind a longest-prefix router (ADR-0012).
gatewaycontract
Package gatewaycontract is the shared conformance suite for the gateway.Gateway port (ADR-0012).
Package gatewaycontract is the shared conformance suite for the gateway.Gateway port (ADR-0012).
Package gc is the owner garbage collector (ADR-0170): it deletes every object whose controller OwnerReference names an owner that no longer exists, or exists under another UID.
Package gc is the owner garbage collector (ADR-0170): it deletes every object whose controller OwnerReference names an owner that no longer exists, or exists under another UID.
Package kvstore is the key/value substrate port (ADR-0019): get/put/delete/list over opaque string keys and []byte values.
Package kvstore is the key/value substrate port (ADR-0019): get/put/delete/list over opaque string keys and []byte values.
badger
Package badger is the durable kvstore.KV driver (ADR-0066): a pure-Go Badger instance (separate from the metastore's, ADR-0065) with a single-writer group-commit gateway and per-store DropPrefix teardown.
Package badger is the durable kvstore.KV driver (ADR-0066): a pure-Go Badger instance (separate from the metastore's, ADR-0065) with a single-writer group-commit gateway and per-store DropPrefix teardown.
kvstorecontract
Package kvstorecontract is the shared conformance suite for the kvstore.KV port (ADR-0019): Run asserts put/get/overwrite/delete/list/missing-key against any driver.
Package kvstorecontract is the shared conformance suite for the kvstore.KV port (ADR-0019): Run asserts put/get/overwrite/delete/list/missing-key against any driver.
memory
Package memory is the in-memory kvstore.KV driver (ADR-0019): a mutex-guarded map, for dev/e2e/tests.
Package memory is the in-memory kvstore.KV driver (ADR-0019): a mutex-guarded map, for dev/e2e/tests.
Package network is the worker network-isolation substrate (ADR-0115, FEAT-0007/F80): the L3/L4 egress policy layer.
Package network is the worker network-isolation substrate (ADR-0115, FEAT-0007/F80): the L3/L4 egress policy layer.
egress
Package egress is the transparent egress PEP (ADR-0117, FEAT-0007/F81): the enforcement point F80's nftables substrate REDIRECTs remaining external worker TCP into.
Package egress is the transparent egress PEP (ADR-0117, FEAT-0007/F81): the enforcement point F80's nftables substrate REDIRECTs remaining external worker TCP into.
platform
clock
Package clock is the canonical injected-dependency example (ADR-0002).
Package clock is the canonical injected-dependency example (ADR-0002).
config
Package config is the funcd daemon config — funcdconfig.yaml (ADR-0061, ADR-0062).
Package config is the funcd daemon config — funcdconfig.yaml (ADR-0061, ADR-0062).
httpx
Package httpx gives each HTTP caller a transport of its own.
Package httpx gives each HTTP caller a transport of its own.
lintfixture
Package lintfixture holds a known-bad lint fixture for scenario: platform-leaf-rule-fires (ADR-0027), gated behind the `lintfixture` build tag — see tests/lint-fixtures/lintrules_test.go.
Package lintfixture holds a known-bad lint fixture for scenario: platform-leaf-rule-fires (ADR-0027), gated behind the `lintfixture` build tag — see tests/lint-fixtures/lintrules_test.go.
observability
Package observability builds the funcd platform's root logger (ADR-0009).
Package observability builds the funcd platform's root logger (ADR-0009).
stopsignal
Package stopsignal names the signals that stop a funcd process, such as the daemon or `funcdctl dev`, gracefully.
Package stopsignal names the signals that stop a funcd process, such as the daemon or `funcdctl dev`, gracefully.
version
Package version exposes funcd's build identity.
Package version exposes funcd's build identity.
Package pooling is the pure worker-pooling placement policy (ADR-0046): it maps a function to either a solo worker (its own process, the default) or a shared pool worker keyed by (namespace, runtime, worker-id).
Package pooling is the pure worker-pooling placement policy (ADR-0046): it maps a function to either a solo worker (its own process, the default) or a shared pool worker keyed by (namespace, runtime, worker-id).
Package provider holds the platform provider catalog (ADR-0082) and the add-on-provider management runtime (ADR-0087, FEAT-0003/F57).
Package provider holds the platform provider catalog (ADR-0082) and the add-on-provider management runtime (ADR-0087, FEAT-0003/F57).
Package revhold reads which step Function revisions open workflow runs hold (ADR-0190 Decision 7): the status.pins of every WorkflowRun in a namespace that is not terminal and not cancelled.
Package revhold reads which step Function revisions open workflow runs hold (ADR-0190 Decision 7): the status.pins of every WorkflowRun in a namespace that is not terminal and not cancelled.
Package route reconciles the Route resource (ADR-0110, F79): it validates each Route's backends, Sets every backend-valid Route on the edge aggregator, which applies the claim rules (HostRequired, ReservedPath, RouteConflict) across every edge source (ADR-0176), and sets Ready/NotReady from the aggregator's verdicts.
Package route reconciles the Route resource (ADR-0110, F79): it validates each Route's backends, Sets every backend-valid Route on the edge aggregator, which applies the claim rules (HostRequired, ReservedPath, RouteConflict) across every edge source (ADR-0176), and sets Ready/NotReady from the aggregator's verdicts.
Package runtime is the function worker port (ADR-0011): create, start, stop, observe, and harvest logs from a worker instance (one replica of a function).
Package runtime is the function worker port (ADR-0011): create, start, stop, observe, and harvest logs from a worker instance (one replica of a function).
containerd
Package containerd implements the runtime.Runtime port over containerd + runc on Linux (ADR-0011): pull a curated runtime image, run it as a runc container with conservative OCI defaults (no added caps, no_new_privileges, optional limits), attach a per-worker netns with default-deny lateral (go-cni bridge + firewall), and read each task's stdout and stderr through FIFOs (ADR-0168).
Package containerd implements the runtime.Runtime port over containerd + runc on Linux (ADR-0011): pull a curated runtime image, run it as a runc container with conservative OCI defaults (no added caps, no_new_privileges, optional limits), attach a per-worker netns with default-deny lateral (go-cni bridge + firewall), and read each task's stdout and stderr through FIFOs (ADR-0168).
ctrmanager
Package ctrmanager brings up the container runtime funcd will drive (ADR-0054).
Package ctrmanager brings up the container runtime funcd will drive (ADR-0054).
embedimg
Package embedimg carries funcd's curated runtime images baked into the binary (ADR-0054).
Package embedimg carries funcd's curated runtime images baked into the binary (ADR-0054).
process
Package process implements the runtime.Runtime port by supervising functions as plain OS child processes (ADR-0011).
Package process implements the runtime.Runtime port by supervising functions as plain OS child processes (ADR-0011).
procreg
Package procreg is the saved worker registry (ADR-0167): the process driver and the dev catalog engine record every process they start, so the next open reaps what a crashed run left behind.
Package procreg is the saved worker registry (ADR-0167): the process driver and the dev catalog engine record every process they start, so the next open reaps what a crashed run left behind.
provision
Package provision is funcd's TEMPORARY container-runtime self-provisioning (ADR-0056): `funcd install` downloads the pinned, SHA-256-verified static binaries the managed-containerd path needs — crun (the OCI runtime the runc-v2 shim execs), containerd (+ its runc-v2 shim + ctr), and the CNI plugins — laying crun/containerd into funcd's bin dir and the CNI plugins into /opt/cni/bin.
Package provision is funcd's TEMPORARY container-runtime self-provisioning (ADR-0056): `funcd install` downloads the pinned, SHA-256-verified static binaries the managed-containerd path needs — crun (the OCI runtime the runc-v2 shim execs), containerd (+ its runc-v2 shim + ctr), and the CNI plugins — laying crun/containerd into funcd's bin dir and the CNI plugins into /opt/cni/bin.
runtimecontract
Package runtimecontract is the shared conformance suite for the runtime.Runtime port (ADR-0011).
Package runtimecontract is the shared conformance suite for the runtime.Runtime port (ADR-0011).
workerpipe
Package workerpipe (ADR-0168): funcd's end of a worker's raw stdout and stderr, read as written into a bounded queue for funclog and a bounded tail.
Package workerpipe (ADR-0168): funcd's end of a worker's raw stdout and stderr, read as written into a bounded queue for funclog and a bounded tail.
Package scheduler is the placement port (ADR-0017): the control-plane decision of which worker/node runs a function replica.
Package scheduler is the placement port (ADR-0017): the control-plane decision of which worker/node runs a function replica.
schedulercontract
Package schedulercontract is the shared conformance suite for the scheduler.Scheduler port (ADR-0017, ADR-0145): Run asserts the port guarantee against any driver — a valid request yields a non-empty Placement.WorkerNode and no error, unless it lists artifact platforms none of which the driver's node runs.
Package schedulercontract is the shared conformance suite for the scheduler.Scheduler port (ADR-0017, ADR-0145): Run asserts the port guarantee against any driver — a valid request yields a non-empty Placement.WorkerNode and no error, unless it lists artifact platforms none of which the driver's node runs.
singlenode
Package singlenode is the single-node scheduler driver (ADR-0017): it places every function replica on one configured local worker — deterministic, and total except for an artifact built for other platforms than the node's (ADR-0145).
Package singlenode is the single-node scheduler driver (ADR-0017): it places every function replica on one configured local worker — deterministic, and total except for an artifact built for other platforms than the node's (ADR-0145).
Package secrets is the secrets delivery resolver (ADR-0022): it reads a function's bound Secret resources (auto-decrypted by the store's at-rest encryptor) and returns their data as an env-var map for worker injection — PDP-authorized (the secrets PEP).
Package secrets is the secrets delivery resolver (ADR-0022): it reads a function's bound Secret resources (auto-decrypted by the store's at-rest encryptor) and returns their data as an env-var map for worker injection — PDP-authorized (the secrets PEP).
aesgcm
Package aesgcm is the V1 at-rest secrets encryptor (ADR-0022): an AES-256-GCM store.Encryptor that fills the ADR-0006 seam.
Package aesgcm is the V1 at-rest secrets encryptor (ADR-0022): an AES-256-GCM store.Encryptor that fills the ADR-0006 seam.
Package sensor implements the F69 Sensor (ADR-0109): the reusable event→action binder.
Package sensor implements the F69 Sensor (ADR-0109): the reusable event→action binder.
Package services holds the platform service pattern (ADR-0019): the single KindService reconciler (the Dispatcher) that routes each Service to the TypeHandler registered for its spec.type, plus the shared status write-back.
Package services holds the platform service pattern (ADR-0019): the single KindService reconciler (the Dispatcher) that routes each Service to the TypeHandler registered for its spec.type, plus the shared status write-back.
blob
Package blob is the blob storage service: the function-facing, binding-gated Facade (ADR-0127) over the blob.Bucket substrate, plus the blob services.TypeHandler the Service dispatcher routes type:blob to.
Package blob is the blob storage service: the function-facing, binding-gated Facade (ADR-0127) over the blob.Bucket substrate, plus the blob services.TypeHandler the Service dispatcher routes type:blob to.
catalog
Package catalog is the CatalogService reconciler (ADR-0086 as reworked by ADR-0087, F48/F57): the ADR-0019 controller half of the DuckLake/DuckDB/Quack add-on provider.
Package catalog is the CatalogService reconciler (ADR-0086 as reworked by ADR-0087, F48/F57): the ADR-0019 controller half of the DuckLake/DuckDB/Quack add-on provider.
identity
Package identity is the controller for KindIdentity (ADR-0135, FEAT-0008/F100): a user-assigned managed identity whose reconciler issues a revocable SigV4 credential — a stable access key (IdentityAccessKey) plus a generated, rotatable secret written to an owned Secret.
Package identity is the controller for KindIdentity (ADR-0135, FEAT-0008/F100): a user-assigned managed identity whose reconciler issues a revocable SigV4 credential — a stable access key (IdentityAccessKey) plus a generated, rotatable secret written to an owned Secret.
kv
Package kv is the KV service (ADR-0019/0072/0073): the function-facing Facade (binding-gated, <ns>/<store>/<table>/<key> prefixed, results prefix-stripped) over the kvstore.KV port, plus the KV services.TypeHandler the Service dispatcher routes type:kv to, and the KindKVStore reconciler.
Package kv is the KV service (ADR-0019/0072/0073): the function-facing Facade (binding-gated, <ns>/<store>/<table>/<key> prefixed, results prefix-stripped) over the kvstore.KV port, plus the KV services.TypeHandler the Service dispatcher routes type:kv to, and the KindKVStore reconciler.
roles
Package roles wires the ADR-0136 RolesAssignment model to the Cedar PDP: a store-backed WriterLister that feeds the generalized single-writer forbid's `writers` set, and a compile helper that turns RolesAssignments into the synthetic read/query/invoke permits the PolicySource aggregates.
Package roles wires the ADR-0136 RolesAssignment model to the Cedar PDP: a store-backed WriterLister that feeds the generalized single-writer forbid's `writers` set, and a compile helper that turns RolesAssignments into the synthetic read/query/invoke permits the PolicySource aggregates.
Package site reconciles the Site resource (ADR-0139, F103): it resolves the site bundle's digest once per spec generation, materializes the bundle under a digest-scoped Bucket prefix (index written last, so its presence means complete), materializes the owned Bucket + Route, and publishes a status DERIVED from the owned Route — the durable record of what is served.
Package site reconciles the Site resource (ADR-0139, F103): it resolves the site bundle's digest once per spec generation, materializes the bundle under a digest-scoped Bucket prefix (index written last, so its presence means complete), materializes the owned Bucket + Route, and publishes a status DERIVED from the owned Route — the durable record of what is served.
Package store is the metastore / database-layer port (ADR-0006): a generic, watchable, versioned record store over ADR-0003 v1alpha1.Object values.
Package store is the metastore / database-layer port (ADR-0006): a generic, watchable, versioned record store over ADR-0003 v1alpha1.Object values.
badger
Package badger is the pure-Go store.Engine (ADR-0065): a Badger v4 LSM at a local directory, superseding ADR-0006's slatedb/cgo engine and restoring funcd's pure-Go static binary.
Package badger is the pure-Go store.Engine (ADR-0065): a Badger v4 LSM at a local directory, superseding ADR-0006's slatedb/cgo engine and restoring funcd's pure-Go static binary.
memory
Package memory is the pure-Go, cgo-free store.Engine: a process-local map guarded by a RWMutex.
Package memory is the pure-Go, cgo-free store.Engine: a process-local map guarded by a RWMutex.
storecontract
Package storecontract is the shared conformance suite for the store port (ADR-0006).
Package storecontract is the shared conformance suite for the store port (ADR-0006).
testkit
bench
Package bench is the funcd benchmark & sustainability harness (ADR-0040): it embeds the platform, drives the public data plane, and samples process memory to answer whether the platform is sustainable on the target box (RAM-bound, scale-to-zero).
Package bench is the funcd benchmark & sustainability harness (ADR-0040): it embeds the platform, drives the public data plane, and samples process memory to answer whether the platform is sustainable on the target box (RAM-bound, scale-to-zero).
freeport
Package freeport gives a test a free loopback TCP port that no :0 bind is ever given, for a test that frees a port and binds it again (#758): another test process's :0 bind can take an ephemeral port in between.
Package freeport gives a test a free loopback TCP port that no :0 bind is ever given, for a test that frees a port and binds it again (#758): another test process's :0 bind can take an ephemeral port in between.
langmod
Package langmod locates the language repos funcd pins as Go modules (ADR-0141): a pinned module's root, for the committed example builds, and the embedded Node and Python shims written to a temp dir, for the tests that exec them.
Package langmod locates the language repos funcd pins as Go modules (ADR-0141): a pinned module's root, for the committed example builds, and the embedded Node and Python shims written to a temp dir, for the tests that exec them.
loadgen
Package loadgen is a small, stdlib-only client-side HTTP load generator (ADR-0053).
Package loadgen is a small, stdlib-only client-side HTTP load generator (ADR-0053).
realshim
Package realshim brings the real Node shim up under a function.Reconciler for the node-gated tests (ADR-0030 node lane).
Package realshim brings the real Node shim up under a function.Reconciler for the node-gated tests (ADR-0030 node lane).
sendbuf
Package sendbuf fixes the kernel send buffer of a test server's connections.
Package sendbuf fixes the kernel send buffer of a test server's connections.
stallregistry
Package stallregistry serves an OCI registry that accepts every request and stops answering it (#697).
Package stallregistry serves an OCI registry that accepts every request and stops answering it (#697).
wsupstream
Package wsupstream is the one WebSocket test upstream (ADR-0181): an httptest server over x/net/websocket that records each request's ContentLength and serves the query parameter mode.
Package wsupstream is the one WebSocket test upstream (ADR-0181): an httptest server over x/net/websocket that records each request's ContentLength and serves the query parameter mode.
workernode
local
Package local is the per-sandbox worker-node local API (ADR-0064): an HTTP-over-UDS surface the runtime shim calls for the synchronous fn-to-fn invoke verb (context.invoke).
Package local is the per-sandbox worker-node local API (ADR-0064): an HTTP-over-UDS surface the runtime shim calls for the synchronous fn-to-fn invoke verb (context.invoke).
Package workflow implements the funcd workflow engine core (ADR-0094, FEAT-0005/F64): the state-machine orchestrator that drives a WorkflowRun over its steps.
Package workflow implements the funcd workflow engine core (ADR-0094, FEAT-0005/F64): the state-machine orchestrator that drives a WorkflowRun over its steps.
runstate
Package runstate is the durable-run-state PORT for the workflow engine (ADR-0094).
Package runstate is the durable-run-state PORT for the workflow engine (ADR-0094).
runstate/badger
Package badger is the run-state runstate driver (ADR-0094), backed by Badger v4.
Package badger is the run-state runstate driver (ADR-0094), backed by Badger v4.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL