Skip to main content

Edge Gateway

EdgeGateway

Defines the high-level intent for an Edge Gateway deployment.

NOT YET IMPLEMENTED. Declared in the schema but currently ignored by the engine: the EdgeGateway defaulter, validator, and executor are all no-ops and the computer performs no computation, so no infrastructure is provisioned. Intended future behavior: translate into GCP Cloud Load Balancing components and unmanaged instance groups running Envoy proxies to handle egress traffic from the service mesh to external APIs.

PropertyTypeDescription
apiVersionstringAPI schema version. Pins the manifest to a specific schema contract for backward-compatibility. Must be the constant lowops.manifests.v1.
kindstringResource kind discriminator. Identifies this document as an EdgeGateway so the engine routes it to the correct defaulter, validator, computer, and executor. Must be the constant EdgeGateway.
metadatamapClassification labels and graph linkage. Free-form key/value pairs used to classify the manifest. Certain reserved keys (e.g. name, project) are read by the engine to resolve this manifest's identity and its parent Project in the dependency graph.
specSpecDesired edge gateway configuration. The authoritative, user-authored specification for this edge gateway. See Spec. Note: not currently acted upon by the engine.

Spec

User-defined egress gateway configuration.

Describes the scale and per-port routing of the egress edge proxy tier. Currently unused by the engine (see the EdgeGateway message note); these fields define the intended contract.

PropertyTypeDescription
enabledboolWhether the egress gateway should be provisioned. NOT YET IMPLEMENTED. Declared in the schema but currently ignored by the engine (no consumer reads it). Intended future behavior: when true the gateway is provisioned; when false it is torn down.
descriptionstringHuman-readable description of this edge gateway. Optional free text describing the gateway's purpose. Used as context by AI assistants when reasoning about the manifest. Not otherwise consumed by the engine.
regionstringGCP region for the gateway's compute instances. NOT YET IMPLEMENTED. Declared in the schema but currently ignored by the engine (no consumer reads it). Intended future behavior: the region of the managed instance group running the Envoy proxies, falling back to the parent Project's region when unset.
machineTypestringMachine type for the gateway's compute instances. NOT YET IMPLEMENTED. Declared in the schema but currently ignored by the engine (no consumer reads it). Intended future behavior: the machine type (e.g. e2-medium) sizing the VM nodes that run the proxies.
clusterSizeint64Number of proxy instances to run. NOT YET IMPLEMENTED. Declared in the schema but currently ignored by the engine (no consumer reads it). Intended future behavior: the target instance count for the gateway's managed instance group.
portslist of PortListener ports for the gateway. NOT YET IMPLEMENTED. Declared in the schema but currently ignored by the engine (no consumer reads it). Intended future behavior: provision listener and forwarding rules on the edge proxies to bridge the configured outbound protocols. See Port.

Port

A single egress listener bound to an external target.

Maps an inbound listener port to an outbound target hostname, intended to become an Envoy listener plus forwarding rule. See the fields for the listener protocol and target endpoint.

PropertyTypeDescription
namestringUnique name for this port configuration. Required. Distinguishes each listener entry within the gateway. NOT YET IMPLEMENTED — no consumer reads it (the presence/format constraint is still enforced by schema validation).
portint64Port the gateway listens on. The inbound TCP port for this listener. Constrained to 1-65535 by schema validation. NOT YET IMPLEMENTED — no consumer reads it.
protocolstringProtocol for traffic on this port. One of HTTP or TCP (enforced by schema validation). NOT YET IMPLEMENTED — no consumer reads it.
targetstringTarget hostname for traffic routed through this port. The external endpoint that matching traffic is forwarded to. Validated as a hostname. NOT YET IMPLEMENTED — no consumer reads it.
clientAuthboolRequire client-side authentication on this port. When true, connections on this port would require mutual/client authentication. NOT YET IMPLEMENTED — no consumer reads it.