https://github.com/amadeusitgroup/autossl
Automated SSL certificates monitoring, renewal and deployment from blueprint
https://github.com/amadeusitgroup/autossl
acme acme-v2 python ssl ssl-certificate ssl-certificates
Last synced: 5 months ago
JSON representation
Automated SSL certificates monitoring, renewal and deployment from blueprint
- Host: GitHub
- URL: https://github.com/amadeusitgroup/autossl
- Owner: AmadeusITGroup
- License: other
- Created: 2020-01-15T10:34:58.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-09-14T08:07:24.000Z (about 2 years ago)
- Last Synced: 2025-04-04T05:11:23.581Z (6 months ago)
- Topics: acme, acme-v2, python, ssl, ssl-certificate, ssl-certificates
- Language: Python
- Homepage: https://autossl.readthedocs.io
- Size: 116 KB
- Stars: 7
- Watchers: 5
- Forks: 9
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
.. image:: https://github.com/AmadeusITGroup/AutoSSL/actions/workflows/test.yaml/badge.svg?branch=master
:target: https://github.com/AmadeusITGroup/AutoSSL/actions.. image:: https://coveralls.io/repos/AmadeusITGroup/AutoSSL/badge.svg?branch=master
:target: https://coveralls.io/r/AmadeusITGroup/AutoSSL?branch=master.. image:: https://badge.fury.io/py/autossl.svg
:target: https://badge.fury.io/py/autossl.. image:: https://readthedocs.org/projects/autossl/badge?version=latest
:target: https://autossl.readthedocs.io?badge=latest.. image:: https://pepy.tech/badge/autossl
:target: https://pepy.tech/badge/autossl:AutoSSL: Python module to automate SSL certificates monitoring, renewal and deployment
:Copyright: Copyright (c) 2019 Amadeus sas
:License: `MIT `_
:Documentation: https://autossl.readthedocs.io
:Development: https://github.com/AmadeusITGroup/AutoSSLWhat
----
`autossl` is a module for Python 2.7+/3.5+ that can be used to to automate SSL certificate monitoring, renewal and deployment.This module can be customized with plugins mechanism to support any type of:
* **server**: where the certificate is deployed, can be 1 or more server, potentially of different types
* **storage**: where to store your artifacts (private key, public certificate, ...)
* **tracking mechanism**: how to track renewal process (ticket creation)
* **renewal method**: how to get a new certificate (local CA, ACME protocol, ....)It's providing a command line interface with simple actions: `check`, `renew`, `deploy`.
All configuration is provided thanks to blueprints in YamlIt can then be run by any tool able to use a command line (cron, jenkins pipeline, ...) to manage all your certificates from a central place.
Installation
------------
For a basic installation, just run$ pip install autossl
to support optional features, you may need extra dependencies, for that install autossl with corresponding `keyword`:
$ pip install autossl[keyword]
See available `keywords` and associated extra dependencies in table below:
+------------+--------------------------+--------------------------------------+
| keyword | additional dependencies | extra features |
+============+==========================+======================================+
| all | all packages below | all features below |
+------------+--------------------------+--------------------------------------+
| acme | acme | renewal using ACME protocol |
+------------+--------------------------+--------------------------------------+
| git | GitPython | artifacts storage in git repository |
+------------+--------------------------+--------------------------------------+Tests
-----
tests require few more python packages. To install them, run:$ pip install -r requirements_dev.txt
Clone the repository, then to execute the test suite with your current python version, run:
$ pytest -sv tests
Contributing
------------Bug Reports
^^^^^^^^^^^
Bug reports are hugely important! Before you raise one, though,
please check through the `GitHub issues `_,
both open and closed, to confirm that the bug hasn't been reported before.Feature Requests
^^^^^^^^^^^^^^^^
If you think a feature is missing and could be useful in this module, feel free to raise a feature request through the
`GitHub issues `_Code Contributions
^^^^^^^^^^^^^^^^^^
When contributing code, please follow `this project-agnostic contribution guide `_.