Skip to main content

SSL certificates monitoring, renewal and deployment.

Project description

.. 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 <https://github.com/AmadeusITGroup/AutoSSL/blob/master/LICENSE>_ :Documentation: https://autossl.readthedocs.io :Development: https://github.com/AmadeusITGroup/AutoSSL

What

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 Yaml

It 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 <https://github.com/AmadeusITGroup/AutoSSL/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 <https://github.com/AmadeusITGroup/AutoSSL/issues>_

Code Contributions ^^^^^^^^^^^^^^^^^^ When contributing code, please follow this project-agnostic contribution guide <http://contribution-guide.org/>_.

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

autossl-0.9.8.tar.gz (53.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

autossl-0.9.8-py3-none-any.whl (68.3 kB view details)

Uploaded Python 3

File details

Details for the file autossl-0.9.8.tar.gz.

File metadata

  • Download URL: autossl-0.9.8.tar.gz
  • Upload date:
  • Size: 53.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for autossl-0.9.8.tar.gz
Algorithm Hash digest
SHA256 e1da118a2d18ec7c0f5384195649a7ddffe6f76d929a8de7e2e714843c62dad4
MD5 76482333c72d8ba7384b606bcb7e0e20
BLAKE2b-256 df555d7bd7e228f3ec4c54aaac4ac81713e97e8c65570e665a61a4ec35fd6a9c

See more details on using hashes here.

File details

Details for the file autossl-0.9.8-py3-none-any.whl.

File metadata

  • Download URL: autossl-0.9.8-py3-none-any.whl
  • Upload date:
  • Size: 68.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for autossl-0.9.8-py3-none-any.whl
Algorithm Hash digest
SHA256 0a52ab5f12fe801fdb9a97bbaa5ae6549927b6f7c43526a97d206aed4f203eee
MD5 907fcff378d2f790689a1c23c4d224a4
BLAKE2b-256 809bb2ea5c50a77e5710155fe5725a03f7347278c88a0a016714d6ecfc0536d5

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