Skip to main content

TLS certificate renewal reminder

Project description

Scadere

Scadere is a TLS certificate renewal reminder. It checks for certificates that are about to expire and provides an Atom feed for notification.

Installation

The recommended installtion method is through your distribution. Installing from source should only be considered as a last resort; if you are capable of doing so, please also package scadere for your distribution.

Scadere requires Python 3.11 or above, and uses flit 3.11 or above as the PEP 517 build backend. Installation can be done with flit install or pip install ..

With scadere-check and scadere-listen under $prefix/bin, the manual pages can be built and installed using make(1p), GNU help2man and install(1):

cd doc
make PREFIX=$prefix
make install PREFIX=$prefix

(FYI, GNU make has an extension that allows specifying --directory=doc, which can save you from having to change the directory.)

Usage

Expiration checking

$ scadere-check --help
Usage: scadere-check [-h] [-v] [-d DAYS] [-o PATH] HOST[:PORT]...

Check TLS certificate expiration of HOST, where PORT defaults to 443.

Options:
  -h, --help            show this help message and exit
  -v, --version         show program's version number and exit
  -d DAYS, --days=DAYS  days before expiration (default to 7)
  -o PATH, --output=PATH
                        output file (default to stdout)

It is recommended to schedule scadere-check chronically. See contrib/scadere-check.* for an example systemd timer configuration.

Expiration notification

$ scadere-listen --help
Usage: scadere-listen [-h] [-v] [-t TITLE] PATH URL [[HOST][:PORT]]

Serve at URL Atom feeds for TLS certificate renewal reminder.
It is possible for clients to filter domains
using one or more "domain" URL queries.

The certificate information is read from the file at PATH,
which is generated by scadere-check(1).

The server listens for TCP connections coming to HOST:PORT,
where HOST defaults to localhost and PORT is selected randomly
if not specified.

Options:
  -h, --help            show this help message and exit
  -v, --version         show program's version number and exit
  -t TITLE, --title=TITLE
                        title of Atom feeds (default to PATH's filename)

A sample scadere-listen.service for systemd is also availble under the contrib directory.

Hacking

Unit testing is done with pytest, pytest-asyncio, Hypothesis and trustme. Since scadere itself does not depend on any Python package, it is safe to be tested in-tree:

PYTHONPATH=src pytest

Contributing

Issues should be reported to chung@loa.loang.net.

The mailing list also welcomes patches. Please maintain a full branch coverage, keep the hobgoblins happy, and ensure the software is easy to reuse:

PYTHONPATH=src coverage run && coverage report
flake8
reuse lint

Patches should be sent using git send-email with the following configuration:

git config sendemail.to 'chung@loa.loang.net'
git config format.subjectPrefix 'PATCH scadere'

Copying

AGPLv3

Scadere is free software: you can redistribute and/or modify it under the terms of the GNU Affero General Public License version 3 or later.

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

scadere-0.2.0.tar.gz (31.1 kB view details)

Uploaded Source

Built Distribution

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

scadere-0.2.0-py3-none-any.whl (27.2 kB view details)

Uploaded Python 3

File details

Details for the file scadere-0.2.0.tar.gz.

File metadata

  • Download URL: scadere-0.2.0.tar.gz
  • Upload date:
  • Size: 31.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.4

File hashes

Hashes for scadere-0.2.0.tar.gz
Algorithm Hash digest
SHA256 1d3917baccfa405c41f9e61b9cb066c419a238596efb72a8281357f136244feb
MD5 eabdc961b71830196a7daaf7b917d807
BLAKE2b-256 1b19b2d5ce0bfbd3bc0b4e8a6ddf25c21dbfa2526635c7fbe0630441d1f547f9

See more details on using hashes here.

File details

Details for the file scadere-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: scadere-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 27.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.4

File hashes

Hashes for scadere-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 41e886e163c989d282257c0639c9a090b5a26e9f5fa56b534cd8235c1fe945a9
MD5 920d43525ac6393574f13bca5db7a2f8
BLAKE2b-256 9c5974c2bfb5fe10f4d0dd192552ad7285b3b5026693c8b16aff68ee4890fdc8

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