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

  1. Clone the repository or download the package:

    git clone https://github.com/version-two/certbot_dns_spaceship.git
    cd certbot-dns-spaceship
    
  2. Install the plugin using pip:

    pip install .
    

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.0.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.0-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: certbot_dns_spaceship-1.0.0.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.0.tar.gz
Algorithm Hash digest
SHA256 f8ecde30c49a9d2fbb6c2c9ad2b9b1b21e84945c18ecd1f479532f8399f5e1f1
MD5 93d1786841d917a90f60fda4d3e0831a
BLAKE2b-256 14b5015b5dfdcfc15f87c7161c69e4a89acd769b187b5c351d7d39b918c15f18

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for certbot_dns_spaceship-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 416fd209442a6f3c58804eb558094dbd4ab1ac8a44a9b1c9ffff7881be1eb583
MD5 9c3212bffd223f45b5a89db70fd9fc45
BLAKE2b-256 06f550ee5036b4519df45db027fee0fd7989c665bcc9132792491f6da0e5b9fe

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