canonical_service_mesh.models.envoy

Envoy Gateway resource models.

Classes

BackendEndpoint

A single endpoint in an Envoy Gateway Backend resource.

BackendObjectRef

A typed backend reference pointing at a specific group/kind resource.

BackendSpec

Spec of an Envoy Gateway Backend resource.

EnvoyProxySpec

Spec of a default EnvoyProxy resource.

ExtAuth

External authentication configuration for a SecurityPolicy.

ExtAuthHTTPService

HTTP-based ext auth service configuration.

FQDNEndpoint

An FQDN-based endpoint for an Envoy Gateway Backend resource.

JSONPatchOperation

An RFC 6902 JSON Patch operation applied to the Envoy bootstrap.

LocalPolicyTargetRef

A local (same-namespace) reference to a policy target resource.

MetricSink

A single Envoy Gateway metrics sink entry.

MetricsConfig

Envoy metrics configuration carrying one or more sinks.

OpenTelemetrySink

An OpenTelemetry metrics sink target (host + port).

ProxyBootstrap

Override or patch the Envoy bootstrap of the managed proxy fleet.

SecurityPolicySpec

Spec of an Envoy Gateway SecurityPolicy resource.

TelemetryConfig

Envoy telemetry configuration.

Package Contents

class canonical_service_mesh.models.envoy.BackendEndpoint

Bases: pydantic.BaseModel

A single endpoint in an Envoy Gateway Backend resource.

fqdn: FQDNEndpoint | None = None
class canonical_service_mesh.models.envoy.BackendObjectRef

Bases: pydantic.BaseModel

A typed backend reference pointing at a specific group/kind resource.

group: str
kind: str
name: str
namespace: str | None = None
class canonical_service_mesh.models.envoy.BackendSpec

Bases: pydantic.BaseModel

Spec of an Envoy Gateway Backend resource.

endpoints: List[BackendEndpoint]
class canonical_service_mesh.models.envoy.EnvoyProxySpec

Bases: pydantic.BaseModel

Spec of a default EnvoyProxy resource.

Carries an optional Envoy bootstrap override (e.g. to inject fixed Juju-topology stats tags via a JSON patch) and an optional OpenTelemetry metrics sink.

bootstrap: ProxyBootstrap | None = None
telemetry: canonical_service_mesh.models.envoy._telemetry.TelemetryConfig | None = None
class canonical_service_mesh.models.envoy.ExtAuth

Bases: pydantic.BaseModel

External authentication configuration for a SecurityPolicy.

http: ExtAuthHTTPService | None = None
class canonical_service_mesh.models.envoy.ExtAuthHTTPService

Bases: pydantic.BaseModel

HTTP-based ext auth service configuration.

backendRefs: List[BackendObjectRef]
path: str | None = None
class canonical_service_mesh.models.envoy.FQDNEndpoint

Bases: pydantic.BaseModel

An FQDN-based endpoint for an Envoy Gateway Backend resource.

hostname: str
port: int
class canonical_service_mesh.models.envoy.JSONPatchOperation

Bases: pydantic.BaseModel

An RFC 6902 JSON Patch operation applied to the Envoy bootstrap.

op: str
path: str
value: Any | None = None
class canonical_service_mesh.models.envoy.LocalPolicyTargetRef

Bases: pydantic.BaseModel

A local (same-namespace) reference to a policy target resource.

group: str
kind: str
name: str
class canonical_service_mesh.models.envoy.MetricSink

Bases: pydantic.BaseModel

A single Envoy Gateway metrics sink entry.

openTelemetry: OpenTelemetrySink
type: str = 'OpenTelemetry'
class canonical_service_mesh.models.envoy.MetricsConfig

Bases: pydantic.BaseModel

Envoy metrics configuration carrying one or more sinks.

sinks: List[MetricSink]
class canonical_service_mesh.models.envoy.OpenTelemetrySink

Bases: pydantic.BaseModel

An OpenTelemetry metrics sink target (host + port).

Matches the Envoy Gateway openTelemetry metric sink schema used by both EnvoyGateway.telemetry (control plane) and EnvoyProxy.spec.telemetry (data plane).

host: str
port: int
class canonical_service_mesh.models.envoy.ProxyBootstrap

Bases: pydantic.BaseModel

Override or patch the Envoy bootstrap of the managed proxy fleet.

Mirrors Envoy Gateway’s ProxyBootstrap: type selects the override strategy (Replace, Merge, or JSONPatch); value is a full bootstrap YAML string (for Replace/Merge); jsonPatches is a list of RFC 6902 operations applied to the default bootstrap (for JSONPatch).

jsonPatches: List[JSONPatchOperation] | None = None
type: str | None = None
value: str | None = None
class canonical_service_mesh.models.envoy.SecurityPolicySpec

Bases: pydantic.BaseModel

Spec of an Envoy Gateway SecurityPolicy resource.

extAuth: ExtAuth | None = None
targetRef: LocalPolicyTargetRef
class canonical_service_mesh.models.envoy.TelemetryConfig

Bases: pydantic.BaseModel

Envoy telemetry configuration.

metrics: MetricsConfig | None = None