Metadata-Version: 2.1
Name: certbot-dns-selectel-api-v2
Version: 0.2.0
Summary: Selectel DNS Authenticator plugin for Certbot
Home-page: https://gitlab.com/alxrem/certbot-dns-selectel-api-v2
Author: Alexey Remizov
Author-email: alexey@remizov.org
License: Apache License 2.0
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Plugins
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Security
Classifier: Topic :: System :: Installation/Setup
Classifier: Topic :: System :: Networking
Classifier: Topic :: System :: Systems Administration
Classifier: Topic :: Utilities
Requires-Python: >= 3.8
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: setuptools
Requires-Dist: requests >=2.22

certbot-dns-selectel-api-v2
===========================

The `certbot_dns_selectel_api_v2.dns_selectel_api_v2` plugin automates
the process of completing a ``dns-01`` challenge (`~acme.challenges.DNS01`)
by creating, and subsequently removing, TXT records using domains/v2 calls
of the Selectel REST API.

Named Arguments
---------------

=============================================  =================================
``--dns-selectel-api-v2-credentials``          Selectel API credentials
                                               INI file. (Required)
``--dns-selectel-api-v2-propagation-seconds``  The number of seconds to wait for
                                               DNS to propagate before asking
                                               the ACME server to verify the DNS
                                               record. (Default: 120)
=============================================  =================================

Credentials
-----------

Use of this plugin requires a configuration file containing numeric account ID
(usually displayed at top right corner of control panel),
`textual project name`_ and username and password of the `service account`_
having administrative rights for account.

Example credentials file:

.. code-block:: ini

   dns_selectel_api_v2_account_id   = 167930
   dns_selectel_api_v2_project_name = my_project
   dns_selectel_api_v2_username     = certbot_at_stage
   dns_selectel_api_v2_password     = ijK021niOuvHE7EuatA94ho6LFnAsfVU

The path to this file can be provided interactively or using the
``--dns-selectel-api-v2-credentials`` command-line argument.

Examples
--------

To acquire a certificate for ``example.com``:

.. code:: bash

   certbot certonly \
      -a dns-selectel-api-v2 \
      --dns-selectel-api-v2-credentials ~/.local/share/certbot/selectel.ini \
      -d example.com

To acquire a single certificate for both example.com and ``*.example.com``:

.. code:: bash

   certbot certonly \
      -a dns-selectel-api-v2 \
      --dns-selectel-api-v2-credentials ~/.local/share/certbot/selectel.ini \
      -d example.com \
      -d *.example.com

To acquire a certificate for ``example.com``, waiting 60 seconds for DNS propagation:

.. code:: bash

   certbot certonly \
      -a dns-selectel-api-v2 \
      --dns-selectel-api-v2-credentials ~/.local/share/certbot/selectel.ini \
      --dns-selectel-api-v2-propagation-seconds 60 \
      -d example.com

.. _textual project name: https://docs.selectel.ru/control-panel-actions/projects/about-projects/
.. _service account:  https://docs.selectel.ru/control-panel-actions/users-and-roles/add-user/#add-service-user
