Installs Crossplane Function packages — plus a DeploymentRuntimeConfig for each — onto a target Crossplane control plane, via provider-kubernetes. Split out of the monolithic CrossplaneStack so function installation is owned independently of the Crossplane core install, mirroring the per-provider stacks.
Each entry in spec.functions renders:
- a
pkg.crossplane.io/v1Function(withruntimeConfigRef→ its DRC), and - a
pkg.crossplane.io/v1beta1DeploymentRuntimeConfigcarrying resource requests/limits and optional NodePool scheduling.
The Function and DeploymentRuntimeConfig names are derived from the package path (<org>-<name>, e.g. crossplane-contrib-function-auto-ready) so compositions can reference them by their canonical name.
Install the default function set (function-auto-ready) onto a cluster:
apiVersion: crossplane.ops.com.ai/v1alpha1
kind: FunctionsStack
metadata:
name: functions
namespace: default
spec:
clusterName: my-cluster
kubernetesProviderConfigRef:
name: my-clusterOmitting spec.functions installs function-auto-ready:v0.6.0 with default requests (15m CPU / 100Mi memory) — the behavior previously baked into CrossplaneStack, now with a DRC.
Install several functions, each sized independently, and schedule their runtimes onto the Crossplane NodePool:
spec:
clusterName: my-cluster
kubernetesProviderConfigRef:
name: my-cluster
nodePool:
enabled: true
functions:
autoReady:
package: xpkg.crossplane.io/crossplane-contrib/function-auto-ready
version: v0.6.0
patchAndTransform:
package: xpkg.crossplane.io/crossplane-contrib/function-patch-and-transform
version: v0.9.0
runtimeConfig:
requestsCpu: 50m
requestsMemory: 256Mi
cpu: "1"
memory: 512MiSet enabled: false on a function entry to stop installing it without removing the declaration.
nodePool.enabledpins every function runtime to the dedicatedhops-crossplaneKarpenter NodePool (provisioned byCrossplaneStack);scheduling.{nodeSelector,tolerations}overrides the defaults.- Per-function
runtimeConfigsets requests (defaulted to 15m / 100Mi) and optional limits so functions bin-pack predictably.
CrossplaneStackinstalls Crossplane core only (no functions, no providers).crossplane-<x>-providerstacks install provider packages + ProviderConfigs.crossplane-functions-stackinstalls Function packages + their DRCs.