mirror of
https://github.com/certbot/certbot.git
synced 2026-01-26 07:41:33 +03:00
Implement an Authenticator which can fulfill a dns-01 challenge using the
Cloudflare API. Applicable only for domains using Cloudflare for DNS.
Testing Done:
* `tox -e py27`
* `tox -e lint`
* Manual testing:
* Used `certbot certonly --dns-cloudflare -d`, specifying a
credentials file as a command line argument. Verified that a
certificate was successfully obtained without user interaction.
* Used `certbot certonly --dns-cloudflare -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 cloudflare 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).
* Credentials file missing e-mail address.
* Credentials file with blank API key.
* Credentials file with incorrect e-mail address.
* Credentials file with malformed API key.
* Credentials file with invalid API key.
* Domain name not registered to Cloudflare account.
70 lines
2.1 KiB
Python
70 lines
2.1 KiB
Python
import sys
|
|
|
|
from setuptools import setup
|
|
from setuptools import find_packages
|
|
|
|
|
|
version = '0.15.0.dev0'
|
|
|
|
# Please update tox.ini when modifying dependency version requirements
|
|
install_requires = [
|
|
'acme=={0}'.format(version),
|
|
'certbot=={0}'.format(version),
|
|
'cloudflare>=1.5.1',
|
|
'mock',
|
|
# For pkg_resources. >=1.0 so pip resolves it to a version cryptography
|
|
# will tolerate; see #2599:
|
|
'setuptools>=1.0',
|
|
'zope.interface',
|
|
]
|
|
|
|
docs_extras = [
|
|
'Sphinx>=1.0', # autodoc_member_order = 'bysource', autodoc_default_flags
|
|
'sphinx_rtd_theme',
|
|
]
|
|
|
|
setup(
|
|
name='certbot-dns-cloudflare',
|
|
version=version,
|
|
description="Cloudflare DNS Authenticator plugin for Certbot",
|
|
url='https://github.com/certbot/certbot',
|
|
author="Certbot Project",
|
|
author_email='client-dev@letsencrypt.org',
|
|
license='Apache License 2.0',
|
|
classifiers=[
|
|
'Development Status :: 3 - Alpha',
|
|
'Environment :: Plugins',
|
|
'Intended Audience :: System Administrators',
|
|
'License :: OSI Approved :: Apache Software License',
|
|
'Operating System :: POSIX :: Linux',
|
|
'Programming Language :: Python',
|
|
'Programming Language :: Python :: 2',
|
|
'Programming Language :: Python :: 2.6',
|
|
'Programming Language :: Python :: 2.7',
|
|
'Programming Language :: Python :: 3',
|
|
'Programming Language :: Python :: 3.3',
|
|
'Programming Language :: Python :: 3.4',
|
|
'Programming Language :: Python :: 3.5',
|
|
'Programming Language :: Python :: 3.6',
|
|
'Topic :: Internet :: WWW/HTTP',
|
|
'Topic :: Security',
|
|
'Topic :: System :: Installation/Setup',
|
|
'Topic :: System :: Networking',
|
|
'Topic :: System :: Systems Administration',
|
|
'Topic :: Utilities',
|
|
],
|
|
|
|
packages=find_packages(),
|
|
include_package_data=True,
|
|
install_requires=install_requires,
|
|
extras_require={
|
|
'docs': docs_extras,
|
|
},
|
|
entry_points={
|
|
'certbot.plugins': [
|
|
'dns-cloudflare = certbot_dns_cloudflare.dns_cloudflare:Authenticator',
|
|
],
|
|
},
|
|
test_suite='certbot_dns_cloudflare',
|
|
)
|