DNS is the element of SONM CDN
DNS that redirects requests to the appropriate CDN nodes
Referens installation descripted in ansible-playbook - https://github.com/telminov/sonm-cdn-dns/blob/master/ansible/install.yml Install example on Digital Ocean instance with Ubuntu Server 18.04
Need installed packages:
- python 2.X (for ansible)
- virtualenv
- pip
- ansible
To use this project, you need two IP_STACK_ACCESS_KEY tokens to use the GEO API and MANAGER_TOKEN from node_manager for the return ip
How to get TOKENS:
- IP_STACK_ACCESS_KEY - Need registration on ipstack.com and copy API KEY
- MANAGER_TOKEN - In node_manager by the path
/admin/
in the Tokens tab. Create a new token for the required user.
install python on host
ssh root@INSTANCE_HOST_IP
apt install -y python
start install ansible-playbook
cd <project_path>/ansible
virtualenv venv
source venv/bin/activate
pip install -r requirements.txt
echo "INSTANCE_HOST_IP" > inventory
ansible-playbook -i inventory -u root install.yml -e "DNS_PORT=53 CDN_DOMAIN=cdn-sonm.soft-way.biz. MANAGER_URL=http://node-manager.cdn.sonm.soft-way.biz MANAGER_TOKEN=123 IP_STACK_ACCESS_KEY=123"
run for project directory
/bin/sh install.sh -a "INSTANCE_HOST_IP" -d "DOMAIN" -p PORT -u "MANAGER_URL" -t "MANAGER_TOKEN" -k "IP_STACK_ACCESS_KEY"
To use, you need to add a DNS record for our host (for example, cdn-sonm.soft-way.biz)
cdn-sonm NS INSTANCE_HOST_IP
run dns
cd <project_path>
virtualenv -p python3 venv
source venv/bin/activate
python3 dns.py
in other terminal
dig cdn-sonm.soft-way.biz @127.0.0.1 -p 8053
dig cdn-sonm.soft-way.biz @dns.sonm.soft-way.biz
or
dig cdn-sonm.soft-way.biz