# 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.
- 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/)
## Installation
Install the plugin directly from PyPI:
```bash
pip install certbot-dns-spaceship
```
## Configuration
1. Create a credentials file (e.g., `spaceship_credentials.ini`) and add your API key and secret:
```ini
[spaceship]
api_key = your_api_key
api_secret = your_api_secret
```
> **Important:** Secure your credentials file. Use file permissions to restrict access:
> ```bash
> 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`:
```bash
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:
```bash
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](https://docs.spaceship.dev).
## Development
1. Clone this repository:
```bash
git clone https://github.com/version-two/certbot_dns_spaceship.git
cd certbot-dns-spaceship
```
2. Install development dependencies:
```bash
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](LICENSE) file for details.
## Support
For issues related to this plugin, create an issue in the [GitHub repository](https://github.com/version-two/certbot_dns_spaceship). For Spaceship account or API issues, contact [Spaceship Support](https://spaceship.com/support).
Raw data
{
"_id": null,
"home_page": "https://github.com/version-two/certbot_dns_spaceship",
"name": "certbot-dns-spaceship",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "certbot, dns, spaceship, authentication",
"author": "Mario Chamuty",
"author_email": "Mario Chamuty <info@versiontwo.sk>",
"download_url": "https://files.pythonhosted.org/packages/a1/79/255c12d0bc3141131dc8238db51469e6930de651d7ad11e808632c872a9e/certbot_dns_spaceship-1.0.4.tar.gz",
"platform": null,
"description": "# Certbot DNS Spaceship Plugin\r\n\r\nThis plugin integrates Certbot with the Spaceship DNS API to automate the DNS-01 challenge required for obtaining SSL/TLS certificates, including wildcard certificates.\r\n\r\n## What This Plugin Does\r\nThis 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`).\r\n\r\n## Features\r\n- Automates the DNS-01 challenge for Spaceship-managed domains.\r\n- Supports obtaining wildcard certificates.\r\n- Integrates seamlessly with Certbot.\r\n\r\n## Prerequisites\r\n1. A valid Spaceship account.\r\n2. API access enabled on your Spaceship account.\r\n3. An API key and secret from Spaceship.\r\n\r\n - 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/)\r\n\r\n## Installation\r\n\r\nInstall the plugin directly from PyPI:\r\n\r\n```bash\r\npip install certbot-dns-spaceship\r\n```\r\n\r\n## Configuration\r\n\r\n1. Create a credentials file (e.g., `spaceship_credentials.ini`) and add your API key and secret:\r\n ```ini\r\n [spaceship]\r\n api_key = your_api_key\r\n api_secret = your_api_secret\r\n ```\r\n\r\n > **Important:** Secure your credentials file. Use file permissions to restrict access:\r\n > ```bash\r\n > chmod 600 spaceship_credentials.ini\r\n > ```\r\n\r\n2. Test the credentials by ensuring you can query your Spaceship DNS zones via the API (optional).\r\n\r\n## Usage\r\n\r\nTo obtain a wildcard SSL/TLS certificate for `example.com`:\r\n```bash\r\ncertbot certonly --authenticator dns-spaceship --dns-spaceship-credentials /path/to/spaceship_credentials.ini -d \"*.example.com\" -d \"example.com\"\r\n```\r\n\r\n### Renewing Certificates\r\nCertbot automatically uses the plugin for renewal if it was used for the initial certificate request. To renew, simply run:\r\n```bash\r\ncertbot renew\r\n```\r\n\r\n## API Rate Limits and Considerations\r\n- The Spaceship API enforces rate limits (e.g., 300 requests per 300 seconds for listing domains).\r\n- Ensure your API key has permissions to manage DNS records.\r\n\r\n## Spaceship API Documentation\r\nFor more details about the Spaceship API, refer to the [Spaceship API Documentation](https://docs.spaceship.dev).\r\n\r\n## Development\r\n\r\n1. Clone this repository:\r\n ```bash\r\n git clone https://github.com/version-two/certbot_dns_spaceship.git\r\n cd certbot-dns-spaceship\r\n ```\r\n\r\n2. Install development dependencies:\r\n ```bash\r\n pip install -e .\r\n ```\r\n\r\n3. Run tests to validate changes.\r\n\r\n## Troubleshooting\r\n- If you encounter authentication issues, verify your API key and secret.\r\n- Ensure the `spaceship_credentials.ini` file is properly formatted and accessible.\r\n\r\n## License\r\n\r\nThis plugin is licensed under the Apache License 2.0. See the [LICENSE](LICENSE) file for details.\r\n\r\n## Support\r\nFor issues related to this plugin, create an issue in the [GitHub repository](https://github.com/version-two/certbot_dns_spaceship). For Spaceship account or API issues, contact [Spaceship Support](https://spaceship.com/support).\r\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Spaceship DNS Authenticator plugin for Certbot",
"version": "1.0.4",
"project_urls": {
"Homepage": "https://github.com/version-two/certbot_dns_spaceship"
},
"split_keywords": [
"certbot",
" dns",
" spaceship",
" authentication"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6d506dfc0492e0b51b04997e7918168e4e5335b28aef737aad36d7668677c526",
"md5": "7735c7e71d4a547f561e918869c963b7",
"sha256": "95e8bcfbf7e7301ccc2c153a1c9629a792b6a89bcf1af0f543e2fa8f3acc62e2"
},
"downloads": -1,
"filename": "certbot_dns_spaceship-1.0.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7735c7e71d4a547f561e918869c963b7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 9288,
"upload_time": "2025-01-17T00:50:18",
"upload_time_iso_8601": "2025-01-17T00:50:18.465877Z",
"url": "https://files.pythonhosted.org/packages/6d/50/6dfc0492e0b51b04997e7918168e4e5335b28aef737aad36d7668677c526/certbot_dns_spaceship-1.0.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a179255c12d0bc3141131dc8238db51469e6930de651d7ad11e808632c872a9e",
"md5": "852507af20983765cd641a02918e750b",
"sha256": "feaa2da1b9d362d212e8655b8d72da53cf999be6aa2342dbedaceb9dafe1d2fd"
},
"downloads": -1,
"filename": "certbot_dns_spaceship-1.0.4.tar.gz",
"has_sig": false,
"md5_digest": "852507af20983765cd641a02918e750b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 11960,
"upload_time": "2025-01-17T00:50:19",
"upload_time_iso_8601": "2025-01-17T00:50:19.864637Z",
"url": "https://files.pythonhosted.org/packages/a1/79/255c12d0bc3141131dc8238db51469e6930de651d7ad11e808632c872a9e/certbot_dns_spaceship-1.0.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-17 00:50:19",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "version-two",
"github_project": "certbot_dns_spaceship",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "setuptools",
"specs": [
[
"~=",
"70.0.0"
]
]
},
{
"name": "requests",
"specs": [
[
"~=",
"2.32.3"
]
]
},
{
"name": "tldextract",
"specs": [
[
"~=",
"5.1.3"
]
]
},
{
"name": "certbot",
"specs": [
[
"~=",
"3.1.0"
]
]
}
],
"lcname": "certbot-dns-spaceship"
}