Google Cloud DNS Authenticator (#4581)

Implement an Authenticator which can fulfill a dns-01 challenge using
the Google Cloud DNS API. Applicable only for domains using Google Cloud
DNS for DNS.

Testing Done:
 * `tox -e py27`
 * `tox -e lint`
 * Manual testing:
    * Used `certbot certonly --dns-google -d`, specifying a credentials
      file as a command line argument. Verified that a certificate was
      successfully obtained without user interaction.
    * Used `certbot certonly --dns-google -d`, without specifying a
      credentials file as a command line argument. Verified that the
      user was prompted and that a certificate was successfully
      obtained.
    * Used `certbot certonly -d`. Verified that the user was prompted for
      a credentials file after selecting google interactively and that
      a certificate was successfully obtained.
    * Used `certbot renew --force-renewal`. Verified that certificates
      were renewed without user interaction.
 * Negative testing:
    * Path to non-existent credentials file.
    * Credentials file with unsafe permissions (644).
    * Domain name not registered to Google Cloud Platform account.
This commit is contained in:
Zach Shepherd
2017-05-17 11:26:26 -07:00
committed by Brad Warren
parent e4f65074d1
commit 4caff11371
25 changed files with 951 additions and 8 deletions
+4 -2
View File
@@ -35,8 +35,10 @@ dns_plugin_commands =
nosetests -v certbot_dns_cloudflare --processes=-1
pip install -e certbot-dns-digitalocean
nosetests -v certbot_dns_digitalocean --processes=-1
dns_plugin_install_args = -e certbot-dns-cloudflare -e certbot-dns-digitalocean
dns_plugin_paths = certbot-dns-cloudflare/certbot_dns_cloudflare certbot-dns-digitalocean/certbot_dns_digitalocean
pip install -e certbot-dns-google
nosetests -v certbot_dns_google --processes=-1
dns_plugin_install_args = -e certbot-dns-cloudflare -e certbot-dns-digitalocean -e certbot-dns-google
dns_plugin_paths = certbot-dns-cloudflare/certbot_dns_cloudflare certbot-dns-digitalocean/certbot_dns_digitalocean certbot-dns-google/certbot_dns_google
compatibility_install_args = -e certbot-compatibility-test
compatibility_paths = certbot-compatibility-test/certbot_compatibility_test