in pkg/manifests/external_dns.go [508:541]
func newExternalDNSConfigMap(conf *config.Config, externalDnsConfig *ExternalDnsConfig) (*corev1.ConfigMap, string) {
jsMap := map[string]interface{}{
"tenantId": externalDnsConfig.tenantId,
"subscriptionId": externalDnsConfig.subscription,
"resourceGroup": externalDnsConfig.resourceGroup,
"cloud": conf.Cloud,
"location": conf.Location,
}
jsMap[externalDnsConfig.identityType.externalDNSIdentityConfiguration()] = true
if externalDnsConfig.identityType == IdentityTypeMSI {
jsMap["userAssignedIdentityID"] = externalDnsConfig.clientId
}
js, err := json.Marshal(&jsMap)
if err != nil {
panic(err)
}
hash := sha256.Sum256(js)
return &corev1.ConfigMap{
TypeMeta: metav1.TypeMeta{
Kind: "ConfigMap",
APIVersion: "v1",
},
ObjectMeta: metav1.ObjectMeta{
Name: externalDnsConfig.resourceName,
Namespace: externalDnsConfig.namespace,
Labels: GetTopLevelLabels(),
},
Data: map[string]string{
"azure.json": string(js),
},
}, hex.EncodeToString(hash[:])
}