Recipes
DnsProvider
DnsProvider — cluster-level DNS configuration. Sets up ExternalDNS with the specified provider and credentials. All Endpoint/App children automatically create DNS records.
Component:
DnsProviderExamples
01
Example 1
import { DnsProvider, SecretProvider, App } from '@r8s/recipes'
export default (
<SecretProvider provider="openbao">
<DnsProvider provider="external-dns">
<App name="api" image="myapp:v1" host="api.example.com" />
</DnsProvider>
</SecretProvider>
)02
Example 2
import { DnsProvider, ExternalDns, SecretProvider, App } from '@r8s/recipes'
export default (
<SecretProvider provider="openbao">
<DnsProvider provider={
<ExternalDns
server="ns1.example.com"
zone="example.com"
tsig={{ path: 'dns/tsig', key: 'secret' }}
/>
}>
<App name="api" image="myapp:v1" host="api.example.com" />
</DnsProvider>
</SecretProvider>
)03
Example 3
import { DnsProvider, ExternalDns, App } from '@r8s/recipes'
export default (
<DnsProvider provider={
<ExternalDns cloud={{ provider: 'google', options: { project: 'my-project' } }} />
}>
<App name="api" image="myapp:v1" host="api.example.com" />
</DnsProvider>
)Props
providerDnsProviderValueRequired—DNS provider — string for simple cases, component for advanced config.
childrenunknownOptional—Child components