blob: b7ff78394808e9ea5de34a2fafd77bad1761bea4 (
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
|
# 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] [-d DAYS] [-o PATH] HOST[:PORT] [HOST[:PORT] ...]
Check TLS certificate expiration of HOST, where PORT defaults to 443.
Options:
-h, --help show this help message 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] 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
```
## Hacking
Unit testing is done with [pytest], [pytest-asyncio] and [Hypothesis].
Since scadere does not depend on any Python package,
it is safe to test in-tree:
PYTHONPATH=src pytest
## Contributing
Please make sure that patches maintain the full branch [coverage]
and the [hobgoblins][flake8] are happy:
PYTHONPATH=src coverage run
coverage report
flake8
Patches should be sent to [chung@loa.loang.net][loang mailing list]
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 it and/or modify it
under the terms of the GNU [Affero General Public License][agplv3] as
published by the Free Software Foundation, either version 3 of the License,
or (at your option) any later version.
[pytest]: https://docs.pytest.org
[pytest-asyncio]: https://pytest-asyncio.rtfd.io
[Hypothesis]: https://hypothesis.rtfd.io
[coverage]: https://coverage.rtfd.io
[flake8]: https://flake8.pycqa.org
[loang mailing list]: https://loa.loang.net/chung
[git send-email]: https://git-send-email.io
[agplv3]: https://www.gnu.org/licenses/agpl-3.0.html
|