Skip to main content

dns.appvia.io/v2beta1

Package v2beta1 contains API Schema definitions for the dns v2beta1 API group

Exported Resource Types

DNSZone

DNSZone represents a DNS zone in a specific cloud provider DNS implementation cloud account

FieldDescription

apiVersion
string

dns.appvia.io/v2beta1

kind
string

DNSZone
metadata
Kubernetes meta/v1.ObjectMeta

Refer to the Kubernetes API documentation for the fields of the metadata field.

spec
DNSZoneSpec
provider

string

Provider defines which DNS provider to use to create this zone

cloudAccessConfigRef
CloudAccessConfigReference

CloudAccessConfigRef is a reference to the cloud access config that should be used to create the DNS zone. This may not be required for all DNS providers.

parentZone
DNSZoneRef

ParentZone should be set to make this zone a child of another zone managed by Wayfinder. Setting this allows Wayfinder to automatically manage the delegation of this zone.

domain

string

Domain is the domain name that this zone will represent

private

bool

Private indicates that this is a private DNS zone, if applicable for the provider

network
Ownership

Network should be specified if private is true to indicate what network this private DNS zone should be provisioned with. Ignored if Private is false/unspecified.

providerDetails
DNSZoneProviderDetails

ProviderDetails provides additional fields which can be used for DNS-provider specific data needed to provision this zone

cloudResourceName

string

CloudResourceName specifies the name of the DNS zone in the DNS provider Can be left blank so that the name is derived from the resource name

unmanaged

bool

Unmanaged should be set to true to indicate that this zone should not be built or deleted by Wayfinder, but should be verified to exist in the specified DNS provider and, thus, will be usable as a parent zone. Ensure CloudResourceName is also set if this provider requires a name (other than the domain) to find this unmanaged zone, e.g. GCP’s ‘Zone name’.

availableToClusters
DNSZoneClusterAvailability

AvailableToClusters allows this zone, or automatically-created child zones of it, to be made available automatically in the targeted clusters, with ExternalDNS deployed and configured. Leave unspecified to not make this zone available in any clusters. For a GlobalDNSZone, this provide DNS in any workspace (subject to the label selectors you define and the allocation specified in the Allocation field). For a DNSZone, this will only provide DNS for clusters in the same workspace the zone is created in.

availableToApps
DNSZoneAppAvailability

AvailableToApps allows a global zone to be identified for auto-provisioning of app-specific DNS zones. This is only valid on global DNS zones and is ignored otherwise.

manualChildZoneCreation

bool

ManualChildZoneCreation defines whether workspaces should be able to manually provision child DNS zones within a cluster Leave unspecified to prevent the manual creation in clusters.

allocation
ResourceAllocation

Allocation defines which workspaces can create child zones from this DNS zone. Only applicable to GlobalDNSZones. This must be set for AutoProvisionChildZones to have any effect.

status
DNSZoneStatus
CommonStatus
CommonStatus

(Members of CommonStatus are embedded into this type.)

nameservers

[]string

Nameservers are the authoritative nameservers that are required to be set for this zone.

delegated

bool

Delegated indicates this zone has been correctly delegated

txtrecord

string

VerificationRecord contains a txt record if needed for verification

zoneID

string

ZoneID contains a DNS-provider specific unique reference to the zone created for this resource. Azure - ResourceID, AWS - ZoneID, GCP - ZoneName

providerStatus
DNSZoneProviderStatus

ProviderStatus provides any provider-specific status information about this zone.

GlobalDNSZone

GlobalDNSZone represents a DNS zone in a specific cloud provider DNS implementation cloud account, available system-wide

FieldDescription

apiVersion
string

dns.appvia.io/v2beta1

kind
string

GlobalDNSZone
metadata
Kubernetes meta/v1.ObjectMeta

Refer to the Kubernetes API documentation for the fields of the metadata field.

spec
DNSZoneSpec
provider

string

Provider defines which DNS provider to use to create this zone

cloudAccessConfigRef
CloudAccessConfigReference

CloudAccessConfigRef is a reference to the cloud access config that should be used to create the DNS zone. This may not be required for all DNS providers.

parentZone
DNSZoneRef

ParentZone should be set to make this zone a child of another zone managed by Wayfinder. Setting this allows Wayfinder to automatically manage the delegation of this zone.

domain

string

Domain is the domain name that this zone will represent

private

bool

Private indicates that this is a private DNS zone, if applicable for the provider

network
Ownership

Network should be specified if private is true to indicate what network this private DNS zone should be provisioned with. Ignored if Private is false/unspecified.

providerDetails
DNSZoneProviderDetails

ProviderDetails provides additional fields which can be used for DNS-provider specific data needed to provision this zone

cloudResourceName

string

CloudResourceName specifies the name of the DNS zone in the DNS provider Can be left blank so that the name is derived from the resource name

unmanaged

bool

Unmanaged should be set to true to indicate that this zone should not be built or deleted by Wayfinder, but should be verified to exist in the specified DNS provider and, thus, will be usable as a parent zone. Ensure CloudResourceName is also set if this provider requires a name (other than the domain) to find this unmanaged zone, e.g. GCP’s ‘Zone name’.

availableToClusters
DNSZoneClusterAvailability

AvailableToClusters allows this zone, or automatically-created child zones of it, to be made available automatically in the targeted clusters, with ExternalDNS deployed and configured. Leave unspecified to not make this zone available in any clusters. For a GlobalDNSZone, this provide DNS in any workspace (subject to the label selectors you define and the allocation specified in the Allocation field). For a DNSZone, this will only provide DNS for clusters in the same workspace the zone is created in.

availableToApps
DNSZoneAppAvailability

AvailableToApps allows a global zone to be identified for auto-provisioning of app-specific DNS zones. This is only valid on global DNS zones and is ignored otherwise.

manualChildZoneCreation

bool

ManualChildZoneCreation defines whether workspaces should be able to manually provision child DNS zones within a cluster Leave unspecified to prevent the manual creation in clusters.

allocation
ResourceAllocation

Allocation defines which workspaces can create child zones from this DNS zone. Only applicable to GlobalDNSZones. This must be set for AutoProvisionChildZones to have any effect.

status
DNSZoneStatus
CommonStatus
CommonStatus

(Members of CommonStatus are embedded into this type.)

nameservers

[]string

Nameservers are the authoritative nameservers that are required to be set for this zone.

delegated

bool

Delegated indicates this zone has been correctly delegated

txtrecord

string

VerificationRecord contains a txt record if needed for verification

zoneID

string

ZoneID contains a DNS-provider specific unique reference to the zone created for this resource. Azure - ResourceID, AWS - ZoneID, GCP - ZoneName

providerStatus
DNSZoneProviderStatus

ProviderStatus provides any provider-specific status information about this zone.

Internal Resource Types

AWSDNSZoneParameters

(Appears on: DNSZoneProviderDetails)

AWSDNSZoneParameters is the parameters for an AWS DNS zone

AzureDNSZoneParameters

(Appears on: DNSZoneProviderDetails)

AzureDNSZoneParameters is the parameters for an Azure DNS zone

FieldDescription
region

string

Region provides the region to build the resource group if it does not already exist, as resource groups are regional constructs in Azure. This field will be required for Azure DNS zones in the next version of the DNS API.

resourceGroup

string

ResourceGroup identifies an existing resource group in which to place this DNS zone. If this is unpopulated, a new resource group will be created for the zone.

DNSRecord

FieldDescription
RecordType
DNSRecordType
Records

[]string

DNSRecordType

(string alias) (Appears on: DNSRecord)

ValueDescription
"NS"

DNSRecordTypeNS is an ns record

"TXT"

DNSRecordTypeTXT is a txt record

DNSZoneAppAvailability

(Appears on: DNSZoneSpec)

FieldDescription
stage

string

Stage is the stage this zone will provide app DNS zones for. A global zone can only provide DNS zones for a single stage - create two global zones for different domains to automate provisioning of app DNS zones for different stages.

DNSZoneClusterAvailability

(Appears on: DNSZoneSpec)

FieldDescription
mode
DNSZoneClusterAvailabilityMode

Mode defines how this zone will be made available in the targeted clusters. If ‘direct’, this zone will be directly available in the targeted clusters using External DNS. If ‘createChildZone’, child zones of this zone will be automatically created and made available in the targeted clusters. For ‘direct’ mode, the zone can only be made available in clusters of the relevant type for the provider of the DNS zone (e.g. AWS Route 53 zones can be made available directly in AWS EKS clusters). This restriction does not apply for ‘createChildZone’ mode. ‘direct’ mode is only supported for workspace-scoped DNS zones, global DNS zones cannot be made directly.

selectors
Kubernetes meta/v1.LabelSelector

Selectors define which clusters the zone should be available in

DNSZoneClusterAvailabilityMode

(string alias) (Appears on: DNSZoneClusterAvailability)

DNSZoneClusterAvailabilityMode are the ways a DNS zone can be made available to clusters

ValueDescription
"createChildZone"

DNSZoneClusterAvailabilityModeCreateChildZone will auto-provision child zones of this zone dedicated to each targeted cluster

"direct"

DNSZoneClusterAvailabilityModeDirect will make the zone directly available in the targeted clusters - this mode is not available for global DNS zones

DNSZoneProviderDetails

(Appears on: DNSZoneSpec)

DNSZoneProviderDetails provides parameters that are specific to a particular type of DNS zone

FieldDescription
type
DNSZoneType
aws
AWSDNSZoneParameters
(Optional)

AWS holds parameters specific to an AWS DNS zone. Present only if type is AWS.

gcp
GCPDNSZoneParameters
(Optional)

GCP holds parameters specific to a GCP DNS zone. Present only if type is GCP.

azure
AzureDNSZoneParameters
(Optional)

Azure holds parameters specific to an Azure DNS zone. Present only if type is Azure.

DNSZoneProviderStatus

(Appears on: DNSZoneStatus)

FieldDescription
azure
DNSZoneProviderStatusAzure

Azure provides information about the status of this Azure DNS zone

DNSZoneProviderStatusAzure

(Appears on: DNSZoneProviderStatus)

FieldDescription
resourceGroup

string

ResourceGroup is the assigned resource group in which this domain resides.

DNSZoneRef

(Appears on: DNSZoneSpec)

FieldDescription
namespace

string

Namespace which contains the DNSZone, leave empty if this is a reference to a GlobalDNSZone

name

string

Name of the DNSZone or GlobalDNSZone

DNSZoneSpec

(Appears on: DNSZone, GlobalDNSZone)

DNSZoneSpec defines the specification of a DNS zone which should be provisioned

FieldDescription
provider

string

Provider defines which DNS provider to use to create this zone

cloudAccessConfigRef
CloudAccessConfigReference

CloudAccessConfigRef is a reference to the cloud access config that should be used to create the DNS zone. This may not be required for all DNS providers.

parentZone
DNSZoneRef

ParentZone should be set to make this zone a child of another zone managed by Wayfinder. Setting this allows Wayfinder to automatically manage the delegation of this zone.

domain

string

Domain is the domain name that this zone will represent

private

bool

Private indicates that this is a private DNS zone, if applicable for the provider

network
Ownership

Network should be specified if private is true to indicate what network this private DNS zone should be provisioned with. Ignored if Private is false/unspecified.

providerDetails
DNSZoneProviderDetails

ProviderDetails provides additional fields which can be used for DNS-provider specific data needed to provision this zone

cloudResourceName

string

CloudResourceName specifies the name of the DNS zone in the DNS provider Can be left blank so that the name is derived from the resource name

unmanaged

bool

Unmanaged should be set to true to indicate that this zone should not be built or deleted by Wayfinder, but should be verified to exist in the specified DNS provider and, thus, will be usable as a parent zone. Ensure CloudResourceName is also set if this provider requires a name (other than the domain) to find this unmanaged zone, e.g. GCP’s ‘Zone name’.

availableToClusters
DNSZoneClusterAvailability

AvailableToClusters allows this zone, or automatically-created child zones of it, to be made available automatically in the targeted clusters, with ExternalDNS deployed and configured. Leave unspecified to not make this zone available in any clusters. For a GlobalDNSZone, this provide DNS in any workspace (subject to the label selectors you define and the allocation specified in the Allocation field). For a DNSZone, this will only provide DNS for clusters in the same workspace the zone is created in.

availableToApps
DNSZoneAppAvailability

AvailableToApps allows a global zone to be identified for auto-provisioning of app-specific DNS zones. This is only valid on global DNS zones and is ignored otherwise.

manualChildZoneCreation

bool

ManualChildZoneCreation defines whether workspaces should be able to manually provision child DNS zones within a cluster Leave unspecified to prevent the manual creation in clusters.

allocation
ResourceAllocation

Allocation defines which workspaces can create child zones from this DNS zone. Only applicable to GlobalDNSZones. This must be set for AutoProvisionChildZones to have any effect.

DNSZoneStatus

(Appears on: DNSZone, GlobalDNSZone)

DNSZoneStatus defines the status of a cloud account

FieldDescription
CommonStatus
CommonStatus

(Members of CommonStatus are embedded into this type.)

nameservers

[]string

Nameservers are the authoritative nameservers that are required to be set for this zone.

delegated

bool

Delegated indicates this zone has been correctly delegated

txtrecord

string

VerificationRecord contains a txt record if needed for verification

zoneID

string

ZoneID contains a DNS-provider specific unique reference to the zone created for this resource. Azure - ResourceID, AWS - ZoneID, GCP - ZoneName

providerStatus
DNSZoneProviderStatus

ProviderStatus provides any provider-specific status information about this zone.

DNSZoneType

(string alias) (Appears on: DNSZoneProviderDetails)

DNSZoneType represents the concrete type of a DNS Zone to provide

ValueDescription
"AWS"

DNSZoneTypeAWS is for AWS Route 53 zone

"Azure"

DNSZoneTypeAzure is for Azure DNS zone

"GCP"

DNSZoneTypeGCP is for GCP Cloud DNS zone

GCPDNSZoneParameters

(Appears on: DNSZoneProviderDetails)

GCPDNSZoneParameters is the parameters for a GCP DNS zone

GlobalOrScopedDNSZone

GlobalOrScopedDNSZone provides a common interface for global or workspace-scoped DNS zones