coredns / coredns.io

CoreDNS website
https://coredns.io
167 stars 139 forks source link

Create mysql_extend.md #289

Closed snail2sky closed 1 year ago

snail2sky commented 1 year ago

Plugin using mysql as storage backend

  1. Use mysql as storage for DNS records.
  2. The mysql data table should conform to the paradigm.
  3. The plugin should use the connection pool to connect to the DB.
  4. When the DB cannot be connected due to an accident, there should be a retry mechanism.
  5. When there is a real problem with the DB and cannot be connected, there is a downgrade mechanism. This plug-in will definitely be used in conjunction with the cache, so when querying a new or updated domain name, the information of the domain name should be saved locally to prevent the DB from going out. Unable to provide service due to problems.
  6. The plugin complies with the standard DNS lookup process.
  7. The plug-in should provide the query record function of the plug-in, such as A, AAAA, CNAME, SOA, NS, PTR and so on.
  8. Support pan-domain name query
  9. If our plug-in cannot query this DNS query, it should be able to forward the request to other plug-ins
  10. Print the debug log at the key step of DNS query.
  11. The plug-in can be monitored and some necessary indicator information will be exposed.
  12. Use Corefile to configure the configuration items supported by the plug-in

Thank you for contributing to CoreDNS' website!

Note:

Any pull request that updates either of those should be directed to the CoreDNS repository: https://github.com/coredns/coredns .