diff options
author | Andreas Runfalk <andreas@runfalk.se> | 2017-05-10 14:24:25 +0200 |
---|---|---|
committer | Andreas Runfalk <andreas@runfalk.se> | 2017-05-10 14:24:25 +0200 |
commit | 998f006d09ed6613e3e1aab1f5016086b4ccce81 (patch) | |
tree | 660e7957a8bf068683f67c073fd5207995f0b9a2 | |
parent | 63c76a64c5e42dbb9c9f21a62997135b64aa5b9a (diff) | |
download | certbot-loopia-998f006d09ed6613e3e1aab1f5016086b4ccce81.zip certbot-loopia-998f006d09ed6613e3e1aab1f5016086b4ccce81.tar.gz certbot-loopia-998f006d09ed6613e3e1aab1f5016086b4ccce81.tar.bz2 |
Added LICENSE and README.rst. Expanded setup.py to be a proper package
-rw-r--r-- | LICENSE | 32 | ||||
-rw-r--r-- | MANIFEST.in | 1 | ||||
-rw-r--r-- | README.rst | 59 | ||||
-rw-r--r-- | setup.cfg | 2 | ||||
-rw-r--r-- | setup.py | 30 |
5 files changed, 124 insertions, 0 deletions
@@ -0,0 +1,32 @@ +Copyright (c) 2017 by Andreas Runfalk. + +Some rights reserved. + +Redistribution and use in source and binary forms of the software as well +as documentation, with or without modification, are permitted provided +that the following conditions are met: + +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + +* The names of the contributors may not be used to endorse or + promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE AND DOCUMENTATION IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT +NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER +OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE AND DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..1aba38f --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1 @@ +include LICENSE diff --git a/README.rst b/README.rst new file mode 100644 index 0000000..5d42130 --- /dev/null +++ b/README.rst @@ -0,0 +1,59 @@ +Loopia DNS Authenticator for Certbot +==================================== +This allows automatic completion of `Certbot's +<https://github.com/certbot/certbot>` DNS01 challange for domains managed on +`Loopia <https://www.loopia.se/>` DNS. + + +Installing +---------- +.. code-block:: + $ pip install certbot-loopia + + +Usage +----- +To use the authenticator you need to provide some required options. + +``--certbot-loopia:auth-user <user>`` *(required)* + API username for Loopia. +``--certbot-loopia:auth-password <password>`` *(required)* + API password for Loopia. + +There are also some optional arguments: + +``--certbot-loopia:auth-time-limit <time>`` + Time limit for local verification. This is the maximum time the authenticator + will try to self-verify before declaring that the DNS update was unsuccessful. + Default: ``30m``. +``--certbot-loopia:auth-time-delay <time>`` + Time delay before first trying to self-verify the result of authentication. + It is recommended to have a delay of at least 30 seconds to prevent the DNS + server from caching that there are no TXT records for the challenge subdomain. + Default: ``1m``. +``--certbot-loopia:auth-retry-interval <time>`` + How frequently to retry self-verification. This is time past since the start + of the previous verification. It is not recommended to choose values smaller + than 10 seconds. Default: ``30s``. + +The format of ``<time>`` is ``AdBhCmDs`` where: ``A``is days, ``B``is hours, +``C``is minutes and ``D`` is seconds. Note that ``A``, ``B``, ``C`` and ``D`` +must be integers. The units ``d``, ``h`` and ``m`` are required while ``s`` is +optional. Any value-unit pair may be omitted, but they must be ordered from most +to least significant unit. Examples of valid ``<time>`` expressions are: + +- ``42`` or ``42s`` for 42 seconds +- ``1m30s`` or ``1m30`` for 1.5 minutes +- ``1h`` for 1 hour +- ``1d12h`` for 1.5 days + + +Known issues +------------ +- Due to caching on Loopia's side it can take up to 15 minutes before changes + are visible. The plugin will by default retry self-verification for at least + 30 minutes before sending the actual verification request to the ACME server. + +Disclaimer +---------- +This plugin is neither affiliated with nor endorsed by Loopia AB. diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..3c6e79c --- /dev/null +++ b/setup.cfg @@ -0,0 +1,2 @@ +[bdist_wheel] +universal=1 @@ -1,9 +1,24 @@ from setuptools import setup + +try: + long_desc = open("README.rst").read() +except: + print("Skipping README.rst for long description as it was not found") + long_desc = None + setup( name="certbot-loopia", + version="0.1.0", + description="Loopia DNS authentication plugin for Certbot", + long_description=long_desc, + license="BSD", + author="Andreas Runfalk", + author_email="andreas@runfalk.se", + url="https://www.github.com/runfalk/certbot-loopia", py_modules=["certbot_loopia"], install_requires=[ + "acme", "certbot", "loopialib", "zope.interface", @@ -13,4 +28,19 @@ setup( "auth = certbot_loopia:LoopiaAuthenticator", ], }, + classifiers=[ + "Development Status :: 2 - Pre-Alpha", + "Environment :: Plugins", + "Intended Audience :: Developers", + "License :: OSI Approved :: BSD License", + "Programming Language :: Python", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3.3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Topic :: Internet :: Name Service (DNS)", + "Topic :: System :: Systems Administration", + "Topic :: Utilities", + ], ) |