aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md60
1 files changed, 60 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..814d561
--- /dev/null
+++ b/README.md
@@ -0,0 +1,60 @@
+peeringdb-simplesync - Minimalistic PeeringDB synchronization tool
+==================================================================
+
+A simple tool for keeping a local PostgreSQL database up-to-date with PeeringDB.
+
+Requirements
+------------
+
+* PostgreSQL 9.5+
+* Python 3.6+
+* psycopg2 2.7+
+* python-requests 2+
+
+
+Installation
+-----
+
+```sh
+sudo apt install git python3 python3-requests python3-psycopg2
+
+git clone https://git.2e8.dk/peeringdb-simplesync
+cd peeringdb-simplesync
+
+cp config.py.sample config.py
+editor config.py # change credentials
+
+createdb pdbtest
+psql pdbtest < schema.sql
+```
+
+Usage
+-----
+
+```sh
+./sync.py # initial sync takes about 10 minutes
+```
+
+Then try the following query with `psql pdbtest`:
+
+```sql
+SELECT
+ asn,
+ data->>'irr_as_set',
+ (data->>'info_prefixes4')::int pfx4,
+ (data->>'info_prefixes6')::int pfx6
+FROM peeringdb.net ORDER BY asn;
+```
+
+Note: if you add an `info_prefixes4` column to the schema,
+then it will automatically be used, just like the `asn` column.
+
+Known issues
+------------
+
+* Objects are not deleted when they are deleted from PeeringDB.
+
+Disclaimer
+----------
+
+This tool is not affiliated with PeeringDB.