Skip to content

Commit

Permalink
Support for Azure Private DNS Zone in VNET resource group
Browse files Browse the repository at this point in the history
  • Loading branch information
vishu2498 committed Feb 25, 2025
1 parent 6967dce commit a58eb8e
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 4 deletions.
4 changes: 4 additions & 0 deletions api/v1beta1/types_class.go
Original file line number Diff line number Diff line change
Expand Up @@ -458,6 +458,10 @@ type NetworkClassSpec struct {
// PrivateDNSZoneName defines the zone name for the Azure Private DNS.
// +optional
PrivateDNSZoneName string `json:"privateDNSZoneName,omitempty"`

// UseVNETResourceGroup defines that Azure Private DNS zone should be present in same group as of VNET.
// +optional
UseVNETResourceGroup bool `json:"useVNETResourceGroup,omitempty"`
}

// VnetClassSpec defines the VnetSpec properties that may be shared across several Azure clusters.
Expand Down
12 changes: 8 additions & 4 deletions azure/scope/cluster.go
Original file line number Diff line number Diff line change
Expand Up @@ -558,9 +558,13 @@ func (s *ClusterScope) VNetSpec() azure.ASOResourceSpecGetter[*asonetworkv1api20
// PrivateDNSSpec returns the private dns zone spec.
func (s *ClusterScope) PrivateDNSSpec() (zoneSpec azure.ResourceSpecGetter, linkSpec, recordSpec []azure.ResourceSpecGetter) {
if s.IsAPIServerPrivate() {
resourceGroup := s.ResourceGroup()
if s.AzureCluster.Spec.NetworkSpec.UseVNETResourceGroup {
resourceGroup = s.Vnet().ResourceGroup
}
zone := privatedns.ZoneSpec{
Name: s.GetPrivateDNSZoneName(),
ResourceGroup: s.ResourceGroup(),
ResourceGroup: resourceGroup,
ClusterName: s.ClusterName(),
AdditionalTags: s.AdditionalTags(),
}
Expand All @@ -572,7 +576,7 @@ func (s *ClusterScope) PrivateDNSSpec() (zoneSpec azure.ResourceSpecGetter, link
SubscriptionID: s.SubscriptionID(),
VNetResourceGroup: s.Vnet().ResourceGroup,
VNetName: s.Vnet().Name,
ResourceGroup: s.ResourceGroup(),
ResourceGroup: resourceGroup,
ClusterName: s.ClusterName(),
AdditionalTags: s.AdditionalTags(),
}
Expand All @@ -583,7 +587,7 @@ func (s *ClusterScope) PrivateDNSSpec() (zoneSpec azure.ResourceSpecGetter, link
SubscriptionID: s.SubscriptionID(),
VNetResourceGroup: peering.ResourceGroup,
VNetName: peering.RemoteVnetName,
ResourceGroup: s.ResourceGroup(),
ResourceGroup: resourceGroup,
ClusterName: s.ClusterName(),
AdditionalTags: s.AdditionalTags(),
}
Expand All @@ -596,7 +600,7 @@ func (s *ClusterScope) PrivateDNSSpec() (zoneSpec azure.ResourceSpecGetter, link
IP: s.APIServerPrivateIP(),
},
ZoneName: s.GetPrivateDNSZoneName(),
ResourceGroup: s.ResourceGroup(),
ResourceGroup: resourceGroup,
}

return zone, links, records
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1214,6 +1214,10 @@ spec:
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
useVNETResourceGroup:
description: UseVNETResourceGroup defines that Azure Private DNS
zone should be present in same group as of VNET.
type: boolean
vnet:
description: Vnet is the configuration for the Azure virtual network.
properties:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -834,6 +834,10 @@ spec:
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
useVNETResourceGroup:
description: UseVNETResourceGroup defines that Azure Private
DNS zone should be present in same group as of VNET.
type: boolean
vnet:
description: Vnet is the configuration for the Azure virtual
network.
Expand Down

0 comments on commit a58eb8e

Please sign in to comment.