Skip to content

Commit ef52739

Browse files
committed
dns-controller: default Provider when ExternalDNS is partially set
The defaulter at populate_cluster_spec.go only sets Provider=dns-controller when Spec.ExternalDNS is nil. After #18298 added PriorityClassName, a user (or `--override=spec.externalDns.priorityClassName=`) can leave ExternalDNS non-nil with Provider="", which silently drops the dns-controller addon from bootstrap-channel.yaml. Default Provider to dns-controller whenever it is empty, regardless of whether ExternalDNS itself is nil.
1 parent 16a2078 commit ef52739

1 file changed

Lines changed: 4 additions & 3 deletions

File tree

upup/pkg/fi/cloudup/populate_cluster_spec.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -284,9 +284,10 @@ func (c *populateClusterSpec) run(ctx context.Context, clientset simple.Clientse
284284
cluster.Spec.API.PublicName = "api." + cluster.Name
285285
}
286286
if cluster.Spec.ExternalDNS == nil {
287-
cluster.Spec.ExternalDNS = &kopsapi.ExternalDNSConfig{
288-
Provider: kopsapi.ExternalDNSProviderDNSController,
289-
}
287+
cluster.Spec.ExternalDNS = &kopsapi.ExternalDNSConfig{}
288+
}
289+
if cluster.Spec.ExternalDNS.Provider == "" {
290+
cluster.Spec.ExternalDNS.Provider = kopsapi.ExternalDNSProviderDNSController
290291
}
291292
}
292293

0 commit comments

Comments
 (0)