blob: 1967b9dfee894b958c001c0bbb11488b40038f0b (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
# Scadere
Scadere is a TLS certificate renewal remider. It checks for certificates
that are about to expire and provides an Atom feed for notification.
## Usage
### Expiration checking
```console
$ 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 run `scadere check` as a cron job.
### Expiration notification
```console
$ scadere-listen --help
Usage: scadere-listen [-h] [-v] INPUT URL [[HOST][:PORT]]
Serve the TLS certificate expiration feed from INPUT file
for base URL at 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
```
## 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][loang mailing list].
The mailing list also welcomes patches. Please maintain
a full branch [coverage] and keep the [hobgoblins][flake8] happy:
PYTHONPATH=src coverage run
coverage report
flake8
Patches should be sent using [`git send-email`][git send-email]
with the following configuration:
git config sendemail.to 'chung@loa.loang.net'
git config format.subjectPrefix 'PATCH scadere'
## Copying

Scadere is free software: you can redistribute and/or modify it
under the terms of the GNU [Affero General Public License][agpl]
version 3 or later.
[pytest]: https://docs.pytest.org
[pytest-asyncio]: https://pytest-asyncio.rtfd.io
[Hypothesis]: https://hypothesis.rtfd.io
[trustme]: https://trustme.rtfd.io
[loang mailing list]: https://loa.loang.net/chung
[coverage]: https://coverage.rtfd.io
[flake8]: https://flake8.pycqa.org
[git send-email]: https://git-send-email.io
[agpl]: https://www.gnu.org/licenses/agpl
|