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:
EndpointProviderExamples
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