Added await-to-js for error checking added for lookup
parent
ba0f05436c
commit
cf73f37a5d
|
@ -1,5 +1,5 @@
|
||||||
network: 'testing kebler network'
|
network: "testing kebler network"
|
||||||
domain: 'test.kebler.net'
|
domain: "testing.kebler.net"
|
||||||
dev: true
|
dev: true
|
||||||
verbose: v
|
verbose: v
|
||||||
cron: 1
|
cron: 1
|
||||||
|
|
14
index.js
14
index.js
|
@ -6,6 +6,8 @@ import { lookup as clookup } from 'dns'
|
||||||
import { promisify } from 'util'
|
import { promisify } from 'util'
|
||||||
const lookup = promisify(clookup)
|
const lookup = promisify(clookup)
|
||||||
import { CronJob } from 'cron'
|
import { CronJob } from 'cron'
|
||||||
|
import to from 'await-to-js'
|
||||||
|
import { info } from 'console'
|
||||||
|
|
||||||
const rname = process.argv[2] || opts.domain
|
const rname = process.argv[2] || opts.domain
|
||||||
if (!rname) {
|
if (!rname) {
|
||||||
|
@ -52,6 +54,7 @@ async function checkIP () {
|
||||||
let ip = curr.split('.')
|
let ip = curr.split('.')
|
||||||
ip[0] = ip[0] - Math.floor(Math.random() * 10)
|
ip[0] = ip[0] - Math.floor(Math.random() * 10)
|
||||||
curr = ip.join('.')
|
curr = ip.join('.')
|
||||||
|
console.log('development run: generated dummy current ip', curr)
|
||||||
}
|
}
|
||||||
const saved = await route53.getZoneRecordValue(rname)
|
const saved = await route53.getZoneRecordValue(rname)
|
||||||
if (opts.debug) notify('checking for change in public ip',timestamp())
|
if (opts.debug) notify('checking for change in public ip',timestamp())
|
||||||
|
@ -69,7 +72,15 @@ async function checkIP () {
|
||||||
notify(msg)
|
notify(msg)
|
||||||
},timeout*1000*(opts.debug ? 10 : 60))
|
},timeout*1000*(opts.debug ? 10 : 60))
|
||||||
const check = setInterval(async ()=>{
|
const check = setInterval(async ()=>{
|
||||||
if (curr === (await lookup(rname)).address) {
|
let [err,info] = await to(lookup(rname))
|
||||||
|
if (err) {
|
||||||
|
clearInterval(check)
|
||||||
|
clearTimeout(fail)
|
||||||
|
msg=`FATAL Error in lookup of' ${rname}, ${err}, aborting check, human intervention required`
|
||||||
|
console.log(msg)
|
||||||
|
notify(msg)
|
||||||
|
} else {
|
||||||
|
if (curr === info.address) {
|
||||||
msg=`Update Succeeded, lookup of ${rname} is now ${curr}`
|
msg=`Update Succeeded, lookup of ${rname} is now ${curr}`
|
||||||
clearInterval(check)
|
clearInterval(check)
|
||||||
clearTimeout(fail)
|
clearTimeout(fail)
|
||||||
|
@ -82,6 +93,7 @@ async function checkIP () {
|
||||||
console.log(msg)
|
console.log(msg)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
,interval*1000)
|
,interval*1000)
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
"@uci-utils/notify-email-plugin": "^0.1.6",
|
"@uci-utils/notify-email-plugin": "^0.1.6",
|
||||||
"@uci-utils/notify-pushsafer-plugin": "^0.1.2",
|
"@uci-utils/notify-pushsafer-plugin": "^0.1.2",
|
||||||
"@uci-utils/route53": "^0.1.2",
|
"@uci-utils/route53": "^0.1.2",
|
||||||
|
"await-to-js": "^3.0.0",
|
||||||
"config": "^3.3.2",
|
"config": "^3.3.2",
|
||||||
"cron": "^1.8.2",
|
"cron": "^1.8.2",
|
||||||
"esm": "^3.2.25",
|
"esm": "^3.2.25",
|
||||||
|
|
Loading…
Reference in New Issue