@signalbox/cloudflare
v0.2.3
Published
signalbox plugin: keep Cloudflare DNS A records pointed at a changing address
Readme
@signalbox/cloudflare
signalbox plugin: keep Cloudflare DNS A records pointed at a changing address.
Part of signalbox — see the full documentation.
Install
npm install @signalbox/cloudflareUsage
import { cloudflarePlugin } from "@signalbox/cloudflare"
const plugins = {
cloudflare: cloudflarePlugin({
apiToken, // scoped to Zone:DNS:Edit on the target zone
zoneId,
records: ["home.example.com"],
ttl: 60,
proxied: false,
}),
}
// in a workflow:
await ctx.plugins.cloudflare.update("203.0.113.7")
ctx.plugins.cloudflare.events.flow("dns:updated").effect(({ record, previous, current }) => {
ctx.log(`${record}: ${previous ?? "(created)"} -> ${current}`)
})update(ip) patches every configured record (creating missing ones) and resolves to whether anything changed. The plugin emits dns:updated and dns:unchanged. The lower-level api helpers (verifyZone, findARecord, patchARecord, createARecord) and graph nodes (registerCloudflareNodes) are also exported.
License
MIT
