Envoy Logo

Schema Reference

Extension Manifest

Schema for Built On Envoy extension manifest files.

author

Author or organization name.

Type string
Required Yes
Min length 1

↑ Top | ↑ Extension Manifest

categories

Functional categories of the extension.

Type []string
Required Yes
Allowed values AI, 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.

Type string
Required No
Pattern ^\d+\.\d+\.\d+(-dev)?$
Forbidden when parent is set
Required when type is go and parent is not set

↑ Top | ↑ Extension Manifest

description

Short single-line description of the extension.

Type string
Required Yes
Min length 1
Max length 200

↑ Top | ↑ Extension Manifest

examples

Usage examples for the extension.

Type []object
Required Yes
Min items 0

↑ Top | ↑ Extension Manifest

examples.code

Code snippet showing usage.

Type string
Required Yes
Min length 1

↑ Top | ↑ Extension Manifest

examples.description

Explanation of what the example demonstrates.

Type string
Required Yes
Min length 1

↑ Top | ↑ Extension Manifest

examples.title

Short title for the example.

Type string
Required Yes
Min length 1

↑ Top | ↑ Extension Manifest

extProc

External processor (ext_proc) configuration.

Type object
Required No
Required when type is ext_proc

↑ Top | ↑ Extension Manifest

extProc.failureModeAllow

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

Type boolean
Required No

↑ Top | ↑ Extension Manifest

extProc.grpcPort

Port the ext_proc gRPC server listens on.

Type integer
Required No

↑ Top | ↑ Extension Manifest

extProc.messageTimeout

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

Type string
Required No

↑ Top | ↑ Extension Manifest

extProc.processingMode

Controls which HTTP phases are forwarded to the ext_proc server.

Type object
Required No

↑ Top | ↑ Extension Manifest

extensionSet

Whether this manifest defines a set of extensions.

Type boolean
Required No

↑ Top | ↑ Extension Manifest

Whether to feature this extension in UI/listings.

Type boolean
Required No

↑ Top | ↑ Extension Manifest

filterType

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

Type []string
Required No
Allowed values http, network, listener, udp_listener
Unique items Yes

↑ Top | ↑ Extension Manifest

license

SPDX license identifier.

Type string
Required Yes
Min length 1

↑ Top | ↑ Extension Manifest

longDescription

Detailed multi-line description with markdown support.

Type string
Required Yes
Min length 1

↑ Top | ↑ Extension Manifest

lua

Lua extension configuration.

Type object
Required No
Required when type is lua
Requires one of path, inline

↑ Top | ↑ Extension Manifest

lua.inline

Inline Lua script code.

Type string
Required No
Min length 1

↑ Top | ↑ Extension Manifest

lua.path

Path to the Lua script file.

Type string
Required No
Min length 1

↑ Top | ↑ Extension Manifest

maxEnvoyVersion

Maximum compatible Envoy version.

Type string
Required No
Pattern ^\d+\.\d+\.\d+$

↑ Top | ↑ Extension Manifest

minEnvoyVersion

Minimum compatible Envoy version.

Type string
Required No
Pattern ^\d+\.\d+\.\d+$

↑ Top | ↑ Extension Manifest

name

Unique identifier for the extension.

Type string
Required Yes
Min length 1
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.

Type object
Required No
Forbidden when type is wasm
Forbidden when type 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
Required No
Min items 1

↑ Top | ↑ Extension Manifest

nativeHttpFilters.before

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

Type []object
Required No
Min items 1

↑ Top | ↑ Extension Manifest

parent

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

Type string
Required No
Min length 1
Pattern ^[a-z][a-z0-9-_.]*$

↑ Top | ↑ Extension Manifest

tags

Searchable tags for categorization.

Type []string
Required Yes
Min items 1
Unique items Yes
Item pattern ^[a-z][a-z0-9-]*$
Item min length 1

↑ Top | ↑ Extension Manifest

type

Type of the extension.

Type string
Required Yes
Allowed values lua, wasm, rust, go, composer, ext_proc

↑ Top | ↑ Extension Manifest

version

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

Type string
Required No
Pattern ^\d+\.\d+\.\d+(-dev)?$
Forbidden when parent is set
Required when parent is not set

↑ Top | ↑ Extension Manifest