This plugin integrates Certbot with the Spaceship DNS API to automate the DNS-01 challenge required for obtaining SSL/TLS certificates, including wildcard certificates.
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).
- Automates the DNS-01 challenge for Spaceship-managed domains.
- Supports obtaining wildcard certificates.
- Integrates seamlessly with Certbot.
-
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/)
Install the plugin directly from PyPI:
pip install certbot-dns-spaceship-
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).
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"Certbot automatically uses the plugin for renewal if it was used for the initial certificate request. To renew, simply run:
certbot renew- 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.
For more details about the Spaceship API, refer to the Spaceship API Documentation.
-
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.
- If you encounter authentication issues, verify your API key and secret.
- Ensure the
spaceship_credentials.inifile is properly formatted and accessible.
This plugin is licensed under the Apache License 2.0. See the LICENSE file for details.
For issues related to this plugin, create an issue in the GitHub repository. For Spaceship account or API issues, contact Spaceship Support.