|
|
|
@ -16,7 +16,25 @@ if [[ -z "$AZURE_SUBSCRIPTION_ID" ]]; then |
|
|
|
exit 2 |
|
|
|
fi |
|
|
|
|
|
|
|
# Determine which zone ID to use from AZURE_ZONE_IDs |
|
|
|
# Convert the comma-separated list of AZURE_ZONE_IDs into an array and loop |
|
|
|
IFS=',' read -ra zone_ids <<< "$AZURE_ZONE_ID" |
|
|
|
for item in "${zone_ids[@]}"; do |
|
|
|
# If the full domain ends with the current zone ID |
|
|
|
[[ "$fulldomain" =~ .*"${item}"$ ]] && zone_id="$item" |
|
|
|
done |
|
|
|
|
|
|
|
if [ -z "$zone_id" ]; then |
|
|
|
echo "${fulldomain} does not match any of the zone IDs specified by ${AZURE_ZONE_ID[@]}" |
|
|
|
exit 2 |
|
|
|
fi |
|
|
|
|
|
|
|
az account set --subscription "$AZURE_SUBSCRIPTION_ID" |
|
|
|
recordset="_acme-challenge.${fulldomain/.$AZURE_ZONE_ID/}" |
|
|
|
# Determine the recordset by removing the zone_id from the full domain and prefixing |
|
|
|
# with _acme-challenge. |
|
|
|
recordset="_acme-challenge.${fulldomain/.$zone_id/}" |
|
|
|
# The fulldomain should not be included in the recordset. It is used for subdomains. |
|
|
|
# E.g. domain = *.sub.example.com the recordset is _acme-challenge.sub |
|
|
|
# domain = example.com the record set is _acme-challenge |
|
|
|
[[ "$recordset" == "_acme-challenge.$fulldomain" ]] && recordset="_acme-challenge" |
|
|
|
az network dns record-set txt add-record -g "$AZURE_RESOURCE_GROUP" -z "$AZURE_ZONE_ID" -n "$recordset" -v "$token" |
|
|
|
az network dns record-set txt add-record -g "$AZURE_RESOURCE_GROUP" -z "$zone_id" -n "$recordset" -v "$token" |