Emissary-Ingress website screenshot

Emissary-Ingress

Emissary-Ingress is a CNCF incubating Kubernetes-native API gateway built on the Envoy proxy. It provides ingress control, load balancing, authentication, rate limiting, and traffic management for microservices. Emissary-Ingress is configured through Kubernetes custom resources and supports canary releases, circuit breaking, and automatic retries.

2 APIs 0 Features
API GatewayCloud NativeEnvoyIncubatingIngressKubernetes

APIs

Emissary-Ingress Configuration API

Emissary-Ingress is configured through Kubernetes custom resources including Mapping for routing rules, Host for domain configuration, TLSContext for TLS termination, RateLimitS...

Emissary-Ingress Gateway API

Emissary-Ingress supports a subset of the Kubernetes Gateway API standard, including GatewayClass, Gateway, and HTTPRoute resources. This enables teams to use the next-generatio...

Collections

Pricing Plans

Rate Limits

Emissary Ingress Rate Limits

5 limits

RATE LIMITS

FinOps

Semantic Vocabularies

Emissary Ingress Context

0 classes · 10 properties

JSON-LD

Resources

🔗
Website
Website
🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
👥
GitHubOrganization
GitHubOrganization
👥
GitHubRepository
GitHubRepository
💬
Support
Support
🔗
Community
Community
🔗
Issue Tracker
Issue Tracker
📰
Blog
Blog
📄
ChangeLog
ChangeLog
🔗
JSONLD
JSONLD
🔗
JSONSchema
JSONSchema

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Emissary-Ingress Configuration API
  version: 3.9.0
items:
- info:
    name: Mapping
    type: folder
  items:
  - info:
      name: Emissary-Ingress List Mapping resources in a namespace
      type: http
    http:
      method: GET
      url: https://{kubernetes-api-server}/apis/getambassador.io/v3alpha1/namespaces/:namespace/mappings
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace of the resource.
      - name: labelSelector
        value: ''
        type: query
        description: A selector to restrict the list of returned resources by their labels. Defaults to everything.
      - name: fieldSelector
        value: ''
        type: query
        description: A selector to restrict the list of returned resources by their fields.
      - name: limit
        value: ''
        type: query
        description: Maximum number of responses to return per page. If there are additional results, a continue token is
          returned.
      - name: continue
        value: ''
        type: query
        description: A continuation token for paginating through large result sets, returned from a previous list call.
    docs: Returns a list of all Mapping custom resources in the specified Kubernetes namespace. Mappings define how inbound
      HTTP/HTTPS requests are routed to backend services based on URL prefix, headers, and other match criteria.
  - info:
      name: Emissary-Ingress Create a Mapping resource
      type: http
    http:
      method: POST
      url: https://{kubernetes-api-server}/apis/getambassador.io/v3alpha1/namespaces/:namespace/mappings
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace of the resource.
      body:
        type: json
        data: '{}'
    docs: Creates a new Mapping custom resource in the specified namespace. The Mapping defines routing rules including the
      URL prefix, target service, rewrite rules, timeout policies, retry policies, CORS settings, and traffic weighting for
      canary or A/B deployments.
  - info:
      name: Emissary-Ingress Get a specific Mapping resource
      type: http
    http:
      method: GET
      url: https://{kubernetes-api-server}/apis/getambassador.io/v3alpha1/namespaces/:namespace/mappings/:name
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace of the resource.
      - name: name
        value: ''
        type: path
        description: The name of the resource.
    docs: Returns the specified Mapping custom resource from the given namespace, including its current status, route configuration,
      and observed generation information.
  - info:
      name: Emissary-Ingress Replace a Mapping resource
      type: http
    http:
      method: PUT
      url: https://{kubernetes-api-server}/apis/getambassador.io/v3alpha1/namespaces/:namespace/mappings/:name
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace of the resource.
      - name: name
        value: ''
        type: path
        description: The name of the resource.
      body:
        type: json
        data: '{}'
    docs: Replaces the entire Mapping resource with the provided specification. The resourceVersion in the metadata must match
      the current version to prevent conflicting concurrent updates.
  - info:
      name: Emissary-Ingress Partially update a Mapping resource
      type: http
    http:
      method: PATCH
      url: https://{kubernetes-api-server}/apis/getambassador.io/v3alpha1/namespaces/:namespace/mappings/:name
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace of the resource.
      - name: name
        value: ''
        type: path
        description: The name of the resource.
      body:
        type: json
        data: '{}'
    docs: Applies a partial update to the specified Mapping resource using JSON Merge Patch or Strategic Merge Patch format.
  - info:
      name: Emissary-Ingress Delete a Mapping resource
      type: http
    http:
      method: DELETE
      url: https://{kubernetes-api-server}/apis/getambassador.io/v3alpha1/namespaces/:namespace/mappings/:name
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace of the resource.
      - name: name
        value: ''
        type: path
        description: The name of the resource.
    docs: Deletes the specified Mapping resource. Emissary-Ingress will remove the corresponding routing rule from Envoy configuration
      after the resource is deleted.
  - info:
      name: Emissary-Ingress List Mapping resources across all namespaces
      type: http
    http:
      method: GET
      url: https://{kubernetes-api-server}/apis/getambassador.io/v3alpha1/mappings
      params:
      - name: labelSelector
        value: ''
        type: query
        description: A selector to restrict the list of returned resources by their labels. Defaults to everything.
      - name: fieldSelector
        value: ''
        type: query
        description: A selector to restrict the list of returned resources by their fields.
      - name: limit
        value: ''
        type: query
        description: Maximum number of responses to return per page. If there are additional results, a continue token is
          returned.
      - name: continue
        value: ''
        type: query
        description: A continuation token for paginating through large result sets, returned from a previous list call.
    docs: Returns all Mapping custom resources across all namespaces in the cluster. Useful for cluster-wide visibility into
      all routing configurations managed by Emissary-Ingress.
- info:
    name: Host
    type: folder
  items:
  - info:
      name: Emissary-Ingress List Host resources in a namespace
      type: http
    http:
      method: GET
      url: https://{kubernetes-api-server}/apis/getambassador.io/v3alpha1/namespaces/:namespace/hosts
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace of the resource.
      - name: labelSelector
        value: ''
        type: query
        description: A selector to restrict the list of returned resources by their labels. Defaults to everything.
      - name: fieldSelector
        value: ''
        type: query
        description: A selector to restrict the list of returned resources by their fields.
      - name: limit
        value: ''
        type: query
        description: Maximum number of responses to return per page. If there are additional results, a continue token is
          returned.
      - name: continue
        value: ''
        type: query
        description: A continuation token for paginating through large result sets, returned from a previous list call.
    docs: Returns a list of all Host custom resources in the specified namespace. Host resources configure domain names, ACME-based
      TLS certificate provisioning, and TLS termination settings for inbound traffic.
  - info:
      name: Emissary-Ingress Create a Host resource
      type: http
    http:
      method: POST
      url: https://{kubernetes-api-server}/apis/getambassador.io/v3alpha1/namespaces/:namespace/hosts
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace of the resource.
      body:
        type: json
        data: '{}'
    docs: Creates a new Host custom resource in the specified namespace. The Host defines the hostname, TLS certificate management
      via ACME, and TLS termination configuration for accepting inbound HTTPS traffic.
  - info:
      name: Emissary-Ingress Get a specific Host resource
      type: http
    http:
      method: GET
      url: https://{kubernetes-api-server}/apis/getambassador.io/v3alpha1/namespaces/:namespace/hosts/:name
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace of the resource.
      - name: name
        value: ''
        type: path
        description: The name of the resource.
    docs: Returns the specified Host custom resource from the given namespace, including its current certificate provisioning
      status and TLS configuration.
  - info:
      name: Emissary-Ingress Replace a Host resource
      type: http
    http:
      method: PUT
      url: https://{kubernetes-api-server}/apis/getambassador.io/v3alpha1/namespaces/:namespace/hosts/:name
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace of the resource.
      - name: name
        value: ''
        type: path
        description: The name of the resource.
      body:
        type: json
        data: '{}'
    docs: Replaces the entire Host resource with the provided specification. Changes to the TLS configuration may trigger
      certificate re-provisioning via the ACME protocol.
  - info:
      name: Emissary-Ingress Delete a Host resource
      type: http
    http:
      method: DELETE
      url: https://{kubernetes-api-server}/apis/getambassador.io/v3alpha1/namespaces/:namespace/hosts/:name
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace of the resource.
      - name: name
        value: ''
        type: path
        description: The name of the resource.
    docs: Deletes the specified Host resource. Emissary-Ingress will stop accepting traffic for the corresponding hostname
      after deletion.
- info:
    name: TLSContext
    type: folder
  items:
  - info:
      name: Emissary-Ingress List TLSContext resources in a namespace
      type: http
    http:
      method: GET
      url: https://{kubernetes-api-server}/apis/getambassador.io/v3alpha1/namespaces/:namespace/tlscontexts
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace of the resource.
      - name: labelSelector
        value: ''
        type: query
        description: A selector to restrict the list of returned resources by their labels. Defaults to everything.
      - name: limit
        value: ''
        type: query
        description: Maximum number of responses to return per page. If there are additional results, a continue token is
          returned.
      - name: continue
        value: ''
        type: query
        description: A continuation token for paginating through large result sets, returned from a previous list call.
    docs: Returns all TLSContext custom resources in the specified namespace. TLSContext resources define reusable TLS configuration
      including certificates, protocols, cipher suites, and mutual TLS settings that can be referenced by Mapping and Host
      resources.
  - info:
      name: Emissary-Ingress Create a TLSContext resource
      type: http
    http:
      method: POST
      url: https://{kubernetes-api-server}/apis/getambassador.io/v3alpha1/namespaces/:namespace/tlscontexts
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace of the resource.
      body:
        type: json
        data: '{}'
    docs: Creates a new TLSContext custom resource in the specified namespace defining TLS termination settings including
      the certificate secret, minimum protocol version, cipher suite restrictions, and client certificate validation options.
  - info:
      name: Emissary-Ingress Get a specific TLSContext resource
      type: http
    http:
      method: GET
      url: https://{kubernetes-api-server}/apis/getambassador.io/v3alpha1/namespaces/:namespace/tlscontexts/:name
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace of the resource.
      - name: name
        value: ''
        type: path
        description: The name of the resource.
    docs: Returns the specified TLSContext custom resource from the given namespace, including its certificate configuration
      and protocol settings.
  - info:
      name: Emissary-Ingress Delete a TLSContext resource
      type: http
    http:
      method: DELETE
      url: https://{kubernetes-api-server}/apis/getambassador.io/v3alpha1/namespaces/:namespace/tlscontexts/:name
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace of the resource.
      - name: name
        value: ''
        type: path
        description: The name of the resource.
    docs: Deletes the specified TLSContext resource. Any Mappings or Hosts referencing this TLSContext will fall back to default
      TLS settings.
- info:
    name: RateLimitService
    type: folder
  items:
  - info:
      name: Emissary-Ingress List RateLimitService resources in a namespace
      type: http
    http:
      method: GET
      url: https://{kubernetes-api-server}/apis/getambassador.io/v3alpha1/namespaces/:namespace/ratelimitservices
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace of the resource.
      - name: labelSelector
        value: ''
        type: query
        description: A selector to restrict the list of returned resources by their labels. Defaults to everything.
      - name: limit
        value: ''
        type: query
        description: Maximum number of responses to return per page. If there are additional results, a continue token is
          returned.
      - name: continue
        value: ''
        type: query
        description: A continuation token for paginating through large result sets, returned from a previous list call.
    docs: Returns all RateLimitService custom resources in the specified namespace. These resources configure integration
      with external rate limiting services that implement the Envoy rate limit gRPC API.
  - info:
      name: Emissary-Ingress Create a RateLimitService resource
      type: http
    http:
      method: POST
      url: https://{kubernetes-api-server}/apis/getambassador.io/v3alpha1/namespaces/:namespace/ratelimitservices
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace of the resource.
      body:
        type: json
        data: '{}'
    docs: Creates a new RateLimitService custom resource pointing to an external rate limiting service. Emissary-Ingress will
      consult this service for rate limit decisions on all requests that include rate limit labels in their Mapping configuration.
- info:
    name: AuthService
    type: folder
  items:
  - info:
      name: Emissary-Ingress List AuthService resources in a namespace
      type: http
    http:
      method: GET
      url: https://{kubernetes-api-server}/apis/getambassador.io/v3alpha1/namespaces/:namespace/authservices
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace of the resource.
      - name: labelSelector
        value: ''
        type: query
        description: A selector to restrict the list of returned resources by their labels. Defaults to everything.
      - name: limit
        value: ''
        type: query
        description: Maximum number of responses to return per page. If there are additional results, a continue token is
          returned.
      - name: continue
        value: ''
        type: query
        description: A continuation token for paginating through large result sets, returned from a previous list call.
    docs: Returns all AuthService custom resources in the specified namespace. AuthService resources configure an external
      authentication and authorization service that Emissary-Ingress calls before forwarding requests to upstream backend
      services.
  - info:
      name: Emissary-Ingress Create an AuthService resource
      type: http
    http:
      method: POST
      url: https://{kubernetes-api-server}/apis/getambassador.io/v3alpha1/namespaces/:namespace/authservices
      params:
      - name: namespace
        value: ''
        type: path
        description: The Kubernetes namespace of the resource.
      body:
        type: json
        data: '{}'
    docs: Creates a new AuthService custom resource in the specified namespace configuring the external authentication service
      URL, protocol, timeout, allowed request headers, and allowed authorization headers.
bundled: true