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.4.tar.gz (12.0 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.4-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file certbot_dns_spaceship-1.0.4.tar.gz.

File metadata

  • Download URL: certbot_dns_spaceship-1.0.4.tar.gz
  • Upload date:
  • Size: 12.0 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.4.tar.gz
Algorithm Hash digest
SHA256 feaa2da1b9d362d212e8655b8d72da53cf999be6aa2342dbedaceb9dafe1d2fd
MD5 852507af20983765cd641a02918e750b
BLAKE2b-256 a179255c12d0bc3141131dc8238db51469e6930de651d7ad11e808632c872a9e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for certbot_dns_spaceship-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 95e8bcfbf7e7301ccc2c153a1c9629a792b6a89bcf1af0f543e2fa8f3acc62e2
MD5 7735c7e71d4a547f561e918869c963b7
BLAKE2b-256 6d506dfc0492e0b51b04997e7918168e4e5335b28aef737aad36d7668677c526

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