Skip to main content

dns.appvia.io/v2beta2

Package v2beta2 contains API Schema definitions for the dns v2beta2 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/v2beta2

kind
string

DNSZone
metadata
Kubernetes meta/v1.ObjectMeta

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

spec
WorkspaceDNSZoneSpec
DNSZoneSpec
DNSZoneSpec

(Members of DNSZoneSpec are embedded into this type.)

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.

availableToClusters
DNSZoneClusterAvailability

AvailableToClusters allows this zone 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. This will only provide DNS for clusters in the same workspace the zone is created in.

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/v2beta2

kind
string

GlobalDNSZone
metadata
Kubernetes meta/v1.ObjectMeta

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

spec
GlobalDNSZoneSpec
DNSZoneSpec
DNSZoneSpec

(Members of DNSZoneSpec are embedded into this type.)

stage

string

Stage defines which stage to create child zones from this DNS zone for.

allocation
ResourceAllocation

Allocation defines which workspaces will get child zones from this DNS zone. This must be set for ChildZoneMode to have any effect.

childZoneMode
ChildZoneMode

ChildZoneMode defines the mode for creating child zones of a global zone

childZoneScope
ChildZoneScope

ChildZoneScope determines if this zone provides child zones for clusters/apps with all cloud providers or only for the same cloud provider. Defaults to AllProviders for public zones and SameProvider for private zones. For private zones, only SameProvider is supported.

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

FieldDescription
privateZoneVPCs
[]AWSVPCReference
(Optional)

PrivateZoneVPCs is a list of VPC IDs (and the regions of those VPCs) in which a private AWS DNS zone should be resolvable.

AWSVPCReference

(Appears on: AWSDNSZoneParameters)

AWSVPCReference indicates a VPC in which a private DNS zone should be resolvable.

FieldDescription
vpcID

string

VPCID is the ID of the AWS VPC to associate the private hosted zone with. This should be in the format vpc-1234abc0 or vpc-1234567890abcdef0

region

string

Region is the AWS region in which the VPC exists.

cloudAccessConfigRef
CloudAccessConfigRef
(Optional)

CloudAccessConfigRef should be specified if the VPC is in a different AWS account to the zone. This account will be used to perform the VPC <–> HostedZone association. Leave blank if the VPC is in the same AWS account as the 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.

privateZoneVNetIDs
AzureVNetIDs
(Optional)

PrivateZoneVNetIDs is a list of vNet IDs in which a private Azure DNS zone should be resolvable. The cloud access configuration used for this zone must have the ‘join’ action on the virtual networks listed here. These should be in the format /subscription/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Network/virtualNetworks/{vnet-name}

AzureVNetID

(string alias)

AzureVNetIDs

([]github.com/appvia/wayfinder/tmpcrdref/pkg/apis/dns/v2beta2.AzureVNetID alias) (Appears on: AzureDNSZoneParameters)

ChildZoneMode

(string alias) (Appears on: GlobalDNSZoneSpec)

ChildZoneMode defines the mode for creating child zones of a global zone

ValueDescription
"apps"

ChildZoneModeApps means a child zone will be created for each app

"clusters"

ChildZoneModeClusters means a child zone will be created for each cluster

"dynamic"

ChildZoneModeDynamic means we use dynamic dns

"none"

ChildZoneModeNone means no child zones will be created

ChildZoneScope

(string alias) (Appears on: GlobalDNSZoneSpec)

ChildZoneScope defines the scope for creating child zones of a global zone

ValueDescription
"AllProviders"

ChildZoneScopeAllProviders makes child zones available to clusters/apps in all cloud providers. Only valid for public zones.

"SameProvider"

ChildZoneScopeSameProvider makes child zones available only to clusters/apps running in the same cloud provider as this 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

DNSZoneClusterAvailability

(Appears on: WorkspaceDNSZoneSpec)

FieldDescription
selectors
Kubernetes meta/v1.LabelSelector

Selectors define which clusters the zone should be available in

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.

DNSZoneSpec

(Appears on: GlobalDNSZoneSpec, WorkspaceDNSZoneSpec)

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

FieldDescription
description

string

Description provides an optional human-readable description and should be used to provide context to users about what this zone should be used for.

provider

string

Provider defines which DNS provider to use to create this zone

cloudAccessConfigRef
CloudAccessConfigRef

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.

domain

string

Domain is the domain name that this zone will represent

privateZone

bool

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

providerDetails
DNSZoneProviderDetails

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

unmanaged

bool

// 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 // +kubebuilder:validation:Optional CloudResourceName string json:"cloudResourceName,omitempty" 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’.

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

FieldDescription
privateZoneVPCs
GCPVPCIDs

PrivateZoneVPCs is a list of VPC IDs in which a private GCP DNS zone should be resolvable. These should be in the format projects/{project}/global/networks/{network}.

GCPVPCID

(string alias)

GCPVPCIDs

([]github.com/appvia/wayfinder/tmpcrdref/pkg/apis/dns/v2beta2.GCPVPCID alias) (Appears on: GCPDNSZoneParameters)

GlobalDNSZoneSpec

(Appears on: GlobalDNSZone)

FieldDescription
DNSZoneSpec
DNSZoneSpec

(Members of DNSZoneSpec are embedded into this type.)

stage

string

Stage defines which stage to create child zones from this DNS zone for.

allocation
ResourceAllocation

Allocation defines which workspaces will get child zones from this DNS zone. This must be set for ChildZoneMode to have any effect.

childZoneMode
ChildZoneMode

ChildZoneMode defines the mode for creating child zones of a global zone

childZoneScope
ChildZoneScope

ChildZoneScope determines if this zone provides child zones for clusters/apps with all cloud providers or only for the same cloud provider. Defaults to AllProviders for public zones and SameProvider for private zones. For private zones, only SameProvider is supported.

GlobalOrScopedDNSZone

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

WorkspaceDNSZoneSpec

(Appears on: DNSZone)

FieldDescription
DNSZoneSpec
DNSZoneSpec

(Members of DNSZoneSpec are embedded into this type.)

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.

availableToClusters
DNSZoneClusterAvailability

AvailableToClusters allows this zone 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. This will only provide DNS for clusters in the same workspace the zone is created in.