Skip to main content

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

  1. A valid Spaceship account.

  2. API access enabled on your Spaceship account.

  3. An API key and secret from Spaceship.

Installation

Install the plugin directly from PyPI:

pip install certbot-dns-spaceship

Configuration

  1. 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
    
  2. 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

  1. Clone this repository:

    git clone https://github.com/version-two/certbot_dns_spaceship.git
    cd certbot-dns-spaceship
    
  2. Install development dependencies:

    pip install -e .
    
  3. Run tests to validate changes.

Troubleshooting

  • If you encounter authentication issues, verify your API key and secret.
  • Ensure the spaceship_credentials.ini file 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

certbot_dns_spaceship-1.0.2.tar.gz (12.4 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_spaceship-1.0.2-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

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

Hashes for certbot_dns_spaceship-1.0.2.tar.gz
Algorithm Hash digest
SHA256 abb98f323e76058d09153219ba129384e08c8a34b4955044813df8158847a645
MD5 af63e38856f0329577fb91ee81cc570e
BLAKE2b-256 763cf4aa7c8f2402756642bb2664ec6b9ab87559e57059ea0b79fefdd63d24c0

See more details on using hashes here.

File details

Details for the file certbot_dns_spaceship-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for certbot_dns_spaceship-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1c79cdac124558921b54891f14bd3255167c3a1dd18f88dd36a66e31a71527c5
MD5 aaf979d190fa2acc89418539910fa780
BLAKE2b-256 30f2eb94bd2ae8fcd5c495142f5ab20065ce1ce70857ef45d2fa7cf4c1cbc1e4

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