Zilla Runtime Configuration
Zilla Runtime Configuration
The Zilla runtime configuration defines the bindings, guards, vaults, catalogs, and telemetry used by the Zilla runtime engine. The values of properties in the configuration can be literals or expressions of the form ${{env.VARIABLE}} to resolve a local environment variable value instead.
---
name: zilla-namespace
bindings:
...
guards:
...
vaults:
...
catalogs:
...
telemetry:
...
Configuration
name*
string
Namespace name.
bindings
objectas map of namedbindingproperties
Each configured binding represents a step in the pipeline as data streams are decoded, translated or encoded according to a specific protocol type.
A binding also has a kind, indicating how it should behave, such as server, proxy or client.
As each incoming data stream arrives, the binding follows its configured routes to reach an exit binding, or rejects the stream if no routes are viable. Route matching conditions are defined in terms specific to each binding type.
See each of the specific binding types linked below for more detailed examples.
Behavioral type supporting either encoding and decoding for a specific protocol or translation between protocols.
routes.exit
string
Unconditional exit binding acting as a default if none of the conditional routes are viable.
guards
objectas map of namedguardproperties
Each configured guard represents a security checkpoint for one or more bindings based on a specific implementation type.
Guards can be used by specific protocol bindings to enforce authorization requirements.
Associated roles can be enforced during routing by only following routes guarded by specific role requirements when authorized. This implicitly supports falling through to lower privilege routes when guarded higher privilege routes are not authorized.
See each of the specific guard types linked below for more detailed examples.
vaults
objectas map of namedvaultproperties
Each configured vault represents a container for digital keys and certificates based on a specific implementation type.
Vaults can be used by specific protocol bindings, such as tls, to negotiate shared encryption keys.
See each of the specific vault types linked below for more detailed examples.
catalogs
objectas map of namedcatalogproperties
telemetry
objectoftelemetryproperties
telemetry:
attributes:
service.namespace: example
exporters:
...
metrics:
...
attributes
object| Default: zilla namespace name
Default attributes to optionally include when exporting metrics.
exporters
objectas map of namedexporterproperties
Map of named exporters.
metrics
arrayofstringof namedmetrics
Array of named metrics.

