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

Uploaded Python 3

File details

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

File metadata

  • Download URL: certbot_dns_spaceship-1.0.3.tar.gz
  • Upload date:
  • Size: 11.9 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.3.tar.gz
Algorithm Hash digest
SHA256 e5bfb08e986f9b059084dc33e0833abf01d6e42f385691b039ff83fe66e8b118
MD5 4220b8b69ef185d815a12f7fd9997d18
BLAKE2b-256 a0f554a792e3bbeed8bb53ecd970d08d676d81fe432196b3bdd4c280f5b33b77

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for certbot_dns_spaceship-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ba26635c2032efc123a69129bdf13883a1d91c487be65d9943a323168b5dbbd8
MD5 7a086dff127ada0ab971aef4c1c69b6c
BLAKE2b-256 82f6d8d7958a0d28ddce90bf9407cff61866491baa30b7184d3b46983048d541

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