Skip to main content

STACKIT DNS Authenticator plugin for Certbot

Project description

Certbot DNS-STACKIT Authenticator Plugin

License GitHub Release Python Version Downloads Code Size Contributors

The Certbot DNS-STACKIT Authenticator Plugin facilitates the procurement of SSL/TLS certificates from Let's Encrypt utilizing the DNS-01 challenge methodology in conjunction with STACKIT as the designated DNS service provider. This document elucidates the procedural steps for the installation and operational utilization of this plugin.

Installation

To initialize the Certbot DNS-STACKIT Authenticator Plugin, deploy the following pip command:

pip install certbot-dns-stackit

Usage

Upon successful integration of the plugin, it becomes viable to employ it with Certbot for the retrieval of SSL/TLS certificates. The subsequent section delineates the pertinent arguments and their respective examples:

Arguments

Argument Example Value Description
--authenticator dns-stackit Engages the STACKIT authenticator mechanism. This must be configured as dns-stackit. (Mandatory)
--dns-stackit-project-id '8a4c68b1-586a-4534-aa0c-9f8c12334a76' Sets the STACKIT project id if the service account authentication is used. (Recommended)
--dns-stackit-service-account ./service-account.pem Denotes the directory path to the STACKIT service account file. (Recommended)
--dns-stackit-credentials ./credentials.ini Denotes the directory path to the credentials file for STACKIT DNS. This document must encapsulate the dns_stackit_auth_token and dns_stackit_project_id variables.
--dns-stackit-propagation-seconds 900 Configures the delay prior to initiating the DNS record query. A 900-second interval (equivalent to 15 minutes) is recommended. (Default: 900)
Either the --dns-stackit-credentials flag or the --dns-stackit-service-account and --dns-stackit-project-id flags are mandatory.

Example

Below is a structured example detailing the application of Certbot in conjunction with the DNS-STACKIT Authenticator Plugin to retrieve a certificate:

certbot certonly \
  --authenticator dns-stackit \
  --dns-stackit-credentials ./credentials.ini \
  --dns-stackit-propagation-seconds 900 \
  --server https://acme-v02.api.letsencrypt.org/directory \
  --agree-tos \
  --rsa-key-size 4096 \
  -d 'example.runs.onstackit.cloud' \
  -d '*.example.runs.onstackit.cloud'

For this example, example.runs.onstackit.cloud represents the designated domain (zone) for certificate procurement.

Example of credentials.ini

To operationalize the plugin, it's imperative to curate a credentials.ini file encompassing your STACKIT DNS credentials:

dns_stackit_auth_token = "your_token_here"
dns_stackit_project_id = "your_project_id_here"

It's crucial to replace "your_token_here" and "your_project_id_here" placeholders with the genuine STACKIT authentication token and project ID. The token's associated service account necessitates project membership privileges for record set creation.

Authentication via STACKIT service account

The service account allows the user to use a long lived authentication which generates short lived tokens. To setup a service account refer to the service account documentation. It's important to also set the --dns-stackit-project-id flag to the corresponding STACKIT project when using a service account.

Test Procedures

  • Unit Testing:

    make test
    
  • Linting:

    make lint
    

Contribute

See CONTRIBUTING.md

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

certbot_dns_stackit-0.1.3.tar.gz (16.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

certbot_dns_stackit-0.1.3-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file certbot_dns_stackit-0.1.3.tar.gz.

File metadata

  • Download URL: certbot_dns_stackit-0.1.3.tar.gz
  • Upload date:
  • Size: 16.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for certbot_dns_stackit-0.1.3.tar.gz
Algorithm Hash digest
SHA256 3dea7c1bfc487cc13b26092fc9aea1a469b3ac14f2be534f328deec63d0f5505
MD5 82e87331801487f7a5d51a1d3817a186
BLAKE2b-256 3dfc39a8d4a12f49a4ebcc439620e36fde2f1be7b201c7104285043f3f924898

See more details on using hashes here.

File details

Details for the file certbot_dns_stackit-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for certbot_dns_stackit-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 988e4c98bf7aa7d708c4f0473b3c3f75cd2e2ebdc88dbbb0e05158fea4bf38eb
MD5 6dafaace9935788967a4ed1d51ef0305
BLAKE2b-256 8b15866bb6fcbd69ad84843307b8c88efbdfe0e11a2d6c1efcbd3608f5f2ce3f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page