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

Examples

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