Comment on page
Notifications
DNSControl has build in support for notifications when changes are made. This allows you to post messages in team chat, or send emails when dns changes are made.
Notifications are written in the notifications package, and is a really simple interface to implement if you want to add new types or destinations.
Notifications are set up in your credentials JSON file. They will use the
notifications
key to look for keys or configuration needed for various notification types.creds.json
"r53": {
...
},
"gcloud": {
...
} ,
"notifications": {
"slack_url": "https://api.slack.com/apps/0XXX0X0XX0/incoming-webhooks",
"teams_url": "https://outlook.office.com/webhook/00000000-0000-0000-0000-000000000000@00000000-0000-0000-0000-000000000000/IncomingWebhook/00000000000000000000000000000000/00000000-0000-0000-0000-000000000000"
}
If you want to send a notification, add the
--notify
flag to the dnscontrol preview
or dnscontrol push
commands.dnsconfig.js
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
+ A("foo", "1.2.3.4"),
);
In case of
dnscontrol preview
:dnscontrol preview --notify
The notification output
**Preview: example.com[my_provider] -** CREATE foo.example.com A (1.2.3.4 ttl=86400)
In case of
dnscontrol push
:dnscontrol push --notify
The notification output
Successfully ran correction for **example.com[my_provider]** - CREATE foo.example.com A 1.2.3.4 ttl=86400
If you want to use the Slack integration, you need to create a webhook in Slack. Please see the Slack documentation or the Mattermost documentation
Configure
slack_url
to this webhook. Mattermost works as well, as they share the same api,If you want to use the Teams integration, you need to create a webhook in Teams. Please see the Teams documentation
Configure
teams_url
to this webhook.If you want to use the Telegram integration, you need to create a Telegram bot and obtain a Bot Token, as well as a Chat ID. Get a Bot Token by contacting @BotFather, and a Chat ID by contacting @myidbot.
Configure
telegram_bot_token
and telegram_chat_id
to these values.This is Stack Overflow's built in chat system. This is probably not useful for most people.
Configure
bonfire_url
to be the full url including room and api key.Yes, this seems pretty limited right now in what it can do. We didn't want to add a bunch of notification types if nobody was going to use them. The good news is, it should be really simple to add more. We gladly welcome any PRs with new notification destinations. Some easy possibilities:
- Email
- Generic Webhooks
Please update this documentation if you add anything.