Recipes

EndpointProvider

EndpointProvider — cluster-level routing configuration. Sets whether endpoints use nginx Ingress or Envoy Gateway (Gateway API). All Endpoint/App children read this context.

Component:EndpointProvider

Examples

01

Simple string provider

import { EndpointProvider, App } from '@r8s/recipes'

export default (
  <EndpointProvider provider="nginx">
    <App name="api" image="myapp:v1" host="api.example.com" />
  </EndpointProvider>
)
02

Nginx with custom class and TLS

import { EndpointProvider, Nginx, App } from '@r8s/recipes'

export default (
  <EndpointProvider provider={<Nginx className="nginx-internal" tls={{ clusterIssuer: 'letsencrypt' }} />}>
    <App name="api" image="myapp:v1" host="api.example.com" />
  </EndpointProvider>
)
03

Envoy Gateway with TLS

import { EndpointProvider, EnvoyGateway, App } from '@r8s/recipes'

export default (
  <EndpointProvider provider={<EnvoyGateway className="eg" tls={{ clusterIssuer: 'letsencrypt-prod' }} />}>
    <App name="api" image="myapp:v1" host="api.example.com" />
  </EndpointProvider>
)

Props

providerEndpointProviderValueRequired

Endpoint provider — string for simple cases, component for advanced config.

childrenunknownOptional

Child components