zone-replicator

2.0.4 • Public • Published

Zone replicator

License: MPL 2.0 Tests

Copies all A, CNAME, TXT and MX records from a zone file to Digital Ocean and Route 53, so they serve as a backup nameservers.

⚠️ These scripts nuke all records of the mentioned types in the targeted zone without warning!

Requirements

  • NodeJS 14.x+

Installation

yarn global add zone-replicator

Configuration

  • Copy config.example.json to config.json and apply necessary changes

Usage

There are two parts to this script, the sender and the receiver. The sender sends a raw DNS Zone file to stdout, the receiver listens for input op stdin, so these scripts can be used in tamdem through a pipe.

The convenience script duplicate.sh demonstrated below, combines these two commands.

⚠️ The presented commands nuke all records of types A, CNAME, TXT and MX on the target zone on your Digital Ocean account without warning!

CLOUD_SYNC_CONFIG=/path/to/config.json bin/duplicate.sh <yourdomain.com>

Or after installing the npm package:

# duplicate
CLOUD_SYNC_CONFIG=/path/to/config.json cfdd <yourdomain.com>

# which expands to
CLOUD_SYNC_CONFIG=/path/to/config.json cfd zone:read <yourdomain.com> | cfd zone:write

Or in a Docker container, after copying docker-compose.example.yml to docker-compose.yml and applying the necessary changes.

docker-compose run replicator duplicate <yourdomain.com>

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

Code of Conduct

Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

License

MPL-2.0

Package Sidebar

Install

npm i zone-replicator

Weekly Downloads

2

Version

2.0.4

License

MPL-2.0

Unpacked Size

100 kB

Total Files

39

Last publish

Collaborators

  • edeckers