Envoy Logo

Schema Reference

Extension Manifest

Schema for Built On Envoy extension manifest files.

author

Author or organization name.

Typestring
RequiredYes
Min length1

↑ Top | ↑ Extension Manifest

categories

Functional categories of the extension.

Type[]string
RequiredYes
Allowed valuesAI, Authentication, Decoder, Examples, Misc, Network, Observability, Performance, Traffic Control, Transform, Security

↑ Top | ↑ Extension Manifest

composerVersion

Version of Built On Envoy Composer. Required if type is composer unless the parent field is set.

Typestring
RequiredNo
Pattern^\d+\.\d+\.\d+(-dev)?$
Forbidden whenparent is set
Required whentype is go and parent is not set

↑ Top | ↑ Extension Manifest

description

Short single-line description of the extension.

Typestring
RequiredYes
Min length1
Max length200

↑ Top | ↑ Extension Manifest

examples

Usage examples for the extension.

Type[]object
RequiredYes
Min items0

↑ Top | ↑ Extension Manifest

examples.code

Code snippet showing usage.

Typestring
RequiredYes
Min length1

↑ Top | ↑ Extension Manifest

examples.description

Explanation of what the example demonstrates.

Typestring
RequiredYes
Min length1

↑ Top | ↑ Extension Manifest

examples.title

Short title for the example.

Typestring
RequiredYes
Min length1

↑ Top | ↑ Extension Manifest

extProc

External processor (ext_proc) configuration.

Typeobject
RequiredNo
Required whentype is ext_proc

↑ Top | ↑ Extension Manifest

extProc.failureModeAllow

Whether to allow requests through if the ext_proc server is unavailable or times out.

Typeboolean
RequiredNo

↑ Top | ↑ Extension Manifest

extProc.grpcPort

Port the ext_proc gRPC server listens on.

Typeinteger
RequiredNo

↑ Top | ↑ Extension Manifest

extProc.messageTimeout

Per-message timeout (e.g. ‘200ms’). Envoy waits this long for each ProcessingResponse.

Typestring
RequiredNo

↑ Top | ↑ Extension Manifest

extProc.processingMode

Controls which HTTP phases are forwarded to the ext_proc server.

Typeobject
RequiredNo

↑ Top | ↑ Extension Manifest

extensionSet

Whether this manifest defines a set of extensions.

Typeboolean
RequiredNo

↑ Top | ↑ Extension Manifest

Whether to feature this extension in UI/listings.

Typeboolean
RequiredNo

↑ Top | ↑ Extension Manifest

filterType

Envoy filter types. Defaults to [http] if not specified.

Type[]string
RequiredNo
Allowed valueshttp, network, listener, udp_listener
Unique itemsYes

↑ Top | ↑ Extension Manifest

license

SPDX license identifier.

Typestring
RequiredYes
Min length1

↑ Top | ↑ Extension Manifest

longDescription

Detailed multi-line description with markdown support.

Typestring
RequiredYes
Min length1

↑ Top | ↑ Extension Manifest

lua

Lua extension configuration.

Typeobject
RequiredNo
Required whentype is lua
Requires one ofpath, inline

↑ Top | ↑ Extension Manifest

lua.inline

Inline Lua script code.

Typestring
RequiredNo
Min length1

↑ Top | ↑ Extension Manifest

lua.path

Path to the Lua script file.

Typestring
RequiredNo
Min length1

↑ Top | ↑ Extension Manifest

maxEnvoyVersion

Maximum compatible Envoy version.

Typestring
RequiredNo
Pattern^\d+\.\d+\.\d+$

↑ Top | ↑ Extension Manifest

minEnvoyVersion

Minimum compatible Envoy version.

Typestring
RequiredNo
Pattern^\d+\.\d+\.\d+$

↑ Top | ↑ Extension Manifest

name

Unique identifier for the extension.

Typestring
RequiredYes
Min length1
Pattern^[a-z][.a-z0-9-_]*$

↑ Top | ↑ Extension Manifest

nativeHttpFilters

Native Envoy HTTP filters that BOE must emit in the HCM filter chain together with this extension’s generated HTTP filter.

Typeobject
RequiredNo
Forbidden whentype is wasm
Forbidden whentype is composer

↑ Top | ↑ Extension Manifest

nativeHttpFilters.after

Native Envoy HTTP filters to emit after this extension’s generated HTTP filter, in the order listed.

Type[]object
RequiredNo
Min items1

↑ Top | ↑ Extension Manifest

nativeHttpFilters.before

Native Envoy HTTP filters to emit before this extension’s generated HTTP filter, in the order listed.

Type[]object
RequiredNo
Min items1

↑ Top | ↑ Extension Manifest

parent

Parent extension set whose version will be used. When set, the version and composerVersion fields can’t be set.

Typestring
RequiredNo
Min length1
Pattern^[a-z][a-z0-9-_.]*$

↑ Top | ↑ Extension Manifest

tags

Searchable tags for categorization.

Type[]string
RequiredYes
Min items1
Unique itemsYes
Item pattern^[a-z][a-z0-9-]*$
Item min length1

↑ Top | ↑ Extension Manifest

type

Type of the extension.

Typestring
RequiredYes
Allowed valueslua, wasm, rust, go, composer, ext_proc

↑ Top | ↑ Extension Manifest

version

Semantic version of the extension. Required unless the parent field is set.

Typestring
RequiredNo
Pattern^\d+\.\d+\.\d+(-dev)?$
Forbidden whenparent is set
Required whenparent is not set

↑ Top | ↑ Extension Manifest