Skip to content

Instantly share code, notes, and snippets.

@antonydevanchi
Last active August 21, 2024 22:20
Show Gist options
  • Save antonydevanchi/5eaa4887f50d4a449f3ee74ad0bbfd7a to your computer and use it in GitHub Desktop.
Save antonydevanchi/5eaa4887f50d4a449f3ee74ad0bbfd7a to your computer and use it in GitHub Desktop.
octodns + octodns-lexicon + dns-lexicon — automation tool for 91 DNS Provider

Yandex.PDD Setup

Install

mkdir workspace; cd workspace

pipenv install; pipenv shell

pipenv install -r octodns/requirements.txt
pipenv install dns-lexicon

git clone https://github.com/octodns/octodns.git; cd octodns

python ./setup.py build
python ./setup.py install

git clone https://github.com/doddo/octodns-lexicon.git; cd octodns-lexicon

python ./setup.py build
python ./setup.py install

Get PDDToken

https://pddimp.yandex.ru/api2/admin/get_token?domain_name=example.com

Configure Yandex Provider

# workspace/dns/config.yaml
---
manager:
  max_workers: 2
  include_meta: false

providers:

  yaml:
    class: octodns.provider.yaml.YamlProvider
    directory: ./zones
    default_ttl: 3600
    enforce_order: False

  yandex_pdd:
    class: octodns_lexicon.LexiconProvider
    lexicon_config:
      provider_name: yandex
      yandex:
        auth_token: "%PDDToken%"

zones:

  example.com.:
    sources:
      - yaml
    targets:
      - yandex_pdd

Dump Zone State

octodns-dump --config=./dns/config.yaml --output-dir ./dns/dumps example.com. yandex_pdd

Sync Zone State

octodns-sync --config=./dns/config.yaml

Providers List

OctoDNS Core Providers

  • AzureProvider
  • Akamai
  • CloudflareProvider
  • ConstellixProvider
  • DigitalOceanProvider
  • DnsMadeEasyProvider
  • DnsimpleProvider
  • DynProvider
  • EasyDNSProvider
  • EtcHostsProvider
  • EnvVarSource
  • GandiProvider
  • GoogleCloudProvider
  • MythicBeastsProvider
  • Ns1Provider
  • OVH
  • PowerDnsProvider
  • Rackspace
  • Route53
  • Selectel
  • Transip
  • UltraDns
  • AxfrSource
  • ZoneFileSource
  • TinyDnsFileSource
  • YamlProvider

OctoDNS Lexicon Providers

  • Aliyun.com
  • AuroraDNS
  • AWS
  • Azure
  • Cloudflare
  • ClouDNS
  • CloudXNS
  • ConoHa
  • Constellix
  • DigitalOcean
  • Dinahosting
  • DirectAdmin
  • DNSimple
  • DnsMadeEasy
  • DNSPark
  • DNSPod
  • Dreamhost
  • Dynu
  • EasyDNS
  • Easyname
  • EUserv
  • ExoScale
  • Gandi
  • Gehirn
  • Glesys
  • GoDaddy
  • Google
  • Gransy
  • Hover
  • Hurricane
  • Hetzner
  • Infoblox
  • Internet.bs
  • INWX
  • Joker.com
  • Linode
  • Linode
  • LuaDNS
  • Memset
  • Njalla
  • Namecheap
  • Namesilo
  • Netcup
  • NFSN
  • NS1
  • OnApp
  • Online
  • OVH
  • Plesk
  • PointHQ
  • PowerDNS
  • Rackspace
  • Rage4
  • RcodeZero
  • Sakura
  • SafeDNS
  • SoftLayer
  • Subreg
  • Transip
  • UltraDNS
  • Vultr
  • Yandex
  • Zeit
  • Zilore
  • Zonomi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment