Plugin CRD Reference

May 28, 2026 · View on GitHub

API Version: artifact.falcosecurity.dev/v1alpha1 Kind: Plugin

Description

The Plugin Custom Resource manages Falco plugins. Plugin binaries are downloaded from OCI registries and made available to Falco containers. The operator also manages plugin configuration entries in the Falco configuration.

Spec

FieldTypeDefaultDescription
ociArtifact*OCIArtifactOCI artifact containing the plugin binary
config.namestringPlugin name (used in Falco configuration)
config.libraryPathstringPath to the .so file
config.initConfig*apiextensionsv1.JSONPlugin initialization parameters (supports nested objects)
config.openParamsstringPlugin open parameters
selector*metav1.LabelSelectorNode label selector for targeting specific nodes

OCIArtifact

FieldTypeDescription
image.repositorystringRequired. OCI repository path (e.g., falcosecurity/plugins/plugin/container)
image.tagstringImage tag or digest (default: latest)
registry.namestringRegistry hostname (default: ghcr.io)
registry.auth.secretRef.namestringSecret with registry credentials (keys: username, password)
registry.plainHTTPboolUse plain HTTP (mutually exclusive with tls)
registry.tls.insecureSkipVerifyboolSkip TLS verification

Status

FieldTypeDescription
conditions[]metav1.ConditionProgrammed and ResolvedRefs conditions

Examples

Container plugin

apiVersion: artifact.falcosecurity.dev/v1alpha1
kind: Plugin
metadata:
  name: container
spec:
  ociArtifact:
    image:
      repository: falcosecurity/plugins/plugin/container
      tag: latest
    registry:
      name: ghcr.io

Plugin with initialization config

apiVersion: artifact.falcosecurity.dev/v1alpha1
kind: Plugin
metadata:
  name: container
spec:
  ociArtifact:
    image:
      repository: falcosecurity/plugins/plugin/container
      tag: latest
    registry:
      name: ghcr.io
  config:
    initConfig:
      label_max_len: 100
      with_size: false

K8s audit plugin

apiVersion: artifact.falcosecurity.dev/v1alpha1
kind: Plugin
metadata:
  name: k8saudit
spec:
  ociArtifact:
    image:
      repository: falcosecurity/plugins/plugin/k8saudit
      tag: latest
    registry:
      name: ghcr.io
  config:
    openParams: "http://:9765/k8s-audit"

Notes

  • The initConfig field accepts arbitrary nested JSON/YAML objects (since v0.2.0). In v0.1.x, it was limited to flat map[string]string.
  • When config.name is not specified, the operator derives it from the OCI artifact metadata.
  • The operator manages plugin configuration entries in the shared Falco config automatically.
  • The operator adds a finalizer to referenced Secrets to prevent accidental deletion.
  • OCI artifacts are re-pulled when any of image.repository, image.tag, registry.name, registry.plainHTTP, registry.tls.insecureSkipVerify, registry.auth.secretRef.name, or the referenced auth Secret data changes. Pin image.tag to a digest (sha256:...) for strict GitOps: a mutable tag whose content moves on the registry is not detected until the spec changes or the pod restarts.