Spaceship DNS Authenticator plugin for Certbot
Project description
Certbot DNS Spaceship Plugin
This plugin integrates Certbot with the Spaceship DNS API to automate the DNS-01 challenge required for obtaining SSL/TLS certificates, including wildcard certificates.
What This Plugin Does
This plugin simplifies the process of obtaining and renewing SSL/TLS certificates by automatically creating and removing the necessary DNS TXT records via the Spaceship DNS API. It is especially useful for domains requiring wildcard certificates (e.g., *.example.com).
Features
- Automates the DNS-01 challenge for Spaceship-managed domains.
- Supports obtaining wildcard certificates.
- Integrates seamlessly with Certbot.
Prerequisites
-
A valid Spaceship account.
-
API access enabled on your Spaceship account.
-
An API key and secret from Spaceship.
- To create API keys, log in to your Spaceship account and navigate to the API Manager section. Follow the instructions to generate your API key and secret. (https://www.spaceship.com/application/api-manager/)
Installation
Install the plugin directly from PyPI:
pip install certbot-dns-spaceship
Configuration
-
Create a credentials file (e.g.,
spaceship_credentials.ini) and add your API key and secret:[spaceship] api_key = your_api_key api_secret = your_api_secret
Important: Secure your credentials file. Use file permissions to restrict access:
chmod 600 spaceship_credentials.ini
-
Test the credentials by ensuring you can query your Spaceship DNS zones via the API (optional).
Usage
To obtain a wildcard SSL/TLS certificate for example.com:
certbot certonly --authenticator dns-spaceship --dns-spaceship-credentials /path/to/spaceship_credentials.ini -d "*.example.com" -d "example.com"
Renewing Certificates
Certbot automatically uses the plugin for renewal if it was used for the initial certificate request. To renew, simply run:
certbot renew
API Rate Limits and Considerations
- The Spaceship API enforces rate limits (e.g., 300 requests per 300 seconds for listing domains).
- Ensure your API key has permissions to manage DNS records.
Spaceship API Documentation
For more details about the Spaceship API, refer to the Spaceship API Documentation.
Development
-
Clone this repository:
git clone https://github.com/version-two/certbot_dns_spaceship.git cd certbot-dns-spaceship
-
Install development dependencies:
pip install -e .
-
Run tests to validate changes.
Troubleshooting
- If you encounter authentication issues, verify your API key and secret.
- Ensure the
spaceship_credentials.inifile is properly formatted and accessible.
License
This plugin is licensed under the Apache License 2.0. See the LICENSE file for details.
Support
For issues related to this plugin, create an issue in the GitHub repository. For Spaceship account or API issues, contact Spaceship Support.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file certbot_dns_spaceship-1.0.2.tar.gz.
File metadata
- Download URL: certbot_dns_spaceship-1.0.2.tar.gz
- Upload date:
- Size: 12.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
abb98f323e76058d09153219ba129384e08c8a34b4955044813df8158847a645
|
|
| MD5 |
af63e38856f0329577fb91ee81cc570e
|
|
| BLAKE2b-256 |
763cf4aa7c8f2402756642bb2664ec6b9ab87559e57059ea0b79fefdd63d24c0
|
File details
Details for the file certbot_dns_spaceship-1.0.2-py3-none-any.whl.
File metadata
- Download URL: certbot_dns_spaceship-1.0.2-py3-none-any.whl
- Upload date:
- Size: 9.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c79cdac124558921b54891f14bd3255167c3a1dd18f88dd36a66e31a71527c5
|
|
| MD5 |
aaf979d190fa2acc89418539910fa780
|
|
| BLAKE2b-256 |
30f2eb94bd2ae8fcd5c495142f5ab20065ce1ce70857ef45d2fa7cf4c1cbc1e4
|