Metadata-Version: 2.4
Name: certlord
Version: 1.0.0
Summary: TLS certificate lifecycle automation
Home-page: https://github.com/decryptus/certlord
Author: Adrien Delle Cave
Author-email: pypi@doowan.net
License: License GPL-3
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Natural Language :: English
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: System :: Monitoring
Classifier: Topic :: Utilities
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: certbot-httpreq>=0.0.24
Requires-Dist: dnspython==1.16.0
Requires-Dist: dwho>=0.3.63
Requires-Dist: httpdis>=0.6.33
Requires-Dist: hvac>=2.4.0
Requires-Dist: pycurl>=7.48.0
Requires-Dist: pyOpenSSL>=26.1.0
Requires-Dist: PyYAML>=6.0.3
Requires-Dist: requests>=2.34.2
Requires-Dist: six>=1.17.0
Requires-Dist: sonicprobe>=0.3.57
Requires-Dist: statuscake>=1.4.5
Requires-Dist: updownio>=0.1.0
Requires-Dist: redis>=4.5.5
Provides-Extra: textual
Requires-Dist: dwho[textual]>=0.3.66; extra == "textual"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license
Dynamic: license-file
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

<p align="center">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/decryptus/certlord/v1.0.0/assets/brand/svg/logo-horizontal-dark.svg">
    <img src="https://raw.githubusercontent.com/decryptus/certlord/v1.0.0/assets/brand/svg/logo-horizontal.svg" alt="CertLord" width="520">
  </picture>
</p>

# CertLord

TLS certificate lifecycle automation.

Version: **1.0.0 — stable**. See the [release notes](https://github.com/decryptus/certlord/blob/v1.0.0/docs/release-notes.md).

CertLord automates TLS certificate issuance, renewal and deployment. It supports
ACME through Certbot and importing existing PEM certificates, stores certificates
in Vault and deploys them through Auton. Optional destination TLS verification checks
the certificate actually served before acknowledgement. StatusCake/Updown adapters
are optional; expiry observations are exposed for an external supervision system.
It uses DWho, HTTPdis and Sonicprobe.

Redis stores temporary ACME HTTP-01 challenge responses and tracks pending work,
retries and deployment leases. Vault stores certificate material. Both services
must be provisioned separately; see the [installation guide](https://github.com/decryptus/certlord/blob/v1.0.0/docs/debian-installation.md).

## Command line and terminal interface

Use ordinary commands in scripts, or explicitly open the read-only terminal browser
with `certlord tui`. [View the illustrated guide](https://github.com/decryptus/certlord/blob/v1.0.0/docs/screenshots.md).

![CertLord terminal inventory with demonstration certificates](https://raw.githubusercontent.com/decryptus/certlord/v1.0.0/docs/images/textual-inventory.png)

Real client capture with synthetic demonstration data; this is not deployment evidence.

## Names and installation

- Python distribution and package: `certlord`
- Command and system service: `certlord`
- Default configuration: `/etc/certlord/certlord.yml`
- Service user and group: `certlord`

Requires Python 3.11+ on POSIX; CI validates Python 3.11 and 3.12.
Newer interpreters are not yet validated. Install the Python package with `python -m pip install .`.
System configuration and external services must also be provisioned. The
Debian 12 package includes an isolated Python environment and the service account;
follow the installation guide before enabling the service.
Repository: https://github.com/decryptus/certlord.
Validate configuration, recovery and credentials in an isolated environment before deploying your service.

See [MIGRATION.md](https://github.com/decryptus/certlord/blob/v1.0.0/MIGRATION.md) before updating an existing installation.

## Project documentation

- [CLI and TUI screenshots](https://github.com/decryptus/certlord/blob/v1.0.0/docs/screenshots.md)
- [Evaluate your installation](https://github.com/decryptus/certlord/blob/v1.0.0/docs/rc-evaluation.md)
- [Certificate UUIDs, HTTP API, CLI and TUI](https://github.com/decryptus/certlord/blob/v1.0.0/docs/certificate-identity.md)
- [ACME HTTP Connector integration](https://github.com/decryptus/certlord/blob/v1.0.0/docs/acme-connector.md)
- [Debian 12 installation and isolated dependencies](https://github.com/decryptus/certlord/blob/v1.0.0/docs/debian-installation.md)
- [External certificate import and replacement](https://github.com/decryptus/certlord/blob/v1.0.0/docs/certificate-import.md)
- [Operations and recovery](https://github.com/decryptus/certlord/blob/v1.0.0/docs/operations.md)
- [Operation correlation and optional Auton receipts](https://github.com/decryptus/certlord/blob/v1.0.0/docs/operation-correlation.md)
- [Coding conventions and contributions](https://github.com/decryptus/certlord/blob/v1.0.0/CONTRIBUTING.md)


Guide: [Certificate observations and supervision](https://github.com/decryptus/certlord/blob/v1.0.0/docs/supervision.md).

[Post-deployment TLS verification](https://github.com/decryptus/certlord/blob/v1.0.0/docs/tls-verification.md) checks configured destinations before acknowledgement.

[Operations and recovery](https://github.com/decryptus/certlord/blob/v1.0.0/docs/operations.md): health, queues, retries and first-version limits.

See [configuration validation](https://github.com/decryptus/certlord/blob/v1.0.0/docs/configuration-validation.md) for YAML schema
coverage and compatibility.

## Documentation

- **Users:** installation, configuration, operation and API usage in this README and the user guide.
- **Contributors:** [architecture, tests and development](https://github.com/decryptus/certlord/blob/main/CONTRIBUTING.md).

## Textual terminal interface

See the [Textual guide](https://github.com/decryptus/certlord/blob/v1.0.0/docs/textual.md) for installation, navigation and operation confirmations.
