https://github.com/coderobe/expirobot
🗝️💬 GPG key expiry notifications via Matrix
https://github.com/coderobe/expirobot
Last synced: 8 months ago
JSON representation
🗝️💬 GPG key expiry notifications via Matrix
- Host: GitHub
- URL: https://github.com/coderobe/expirobot
- Owner: coderobe
- Created: 2022-01-25T14:53:22.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2022-01-26T11:41:17.000Z (almost 4 years ago)
- Last Synced: 2025-04-11T22:37:38.505Z (10 months ago)
- Language: Ruby
- Size: 26.4 KB
- Stars: 4
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# expirobot
A bot that monitors GPG key expiry via matrix notifications
Expiry notifications are currently sent via Matrix
The bot will send notifications daily once any key or subkey has fewer than 30 days of validity left.
A JSON status endpoint is also exposed via HTTP at :9292
Provided endpoints:
- `/` - Overall status
- `/` - Status of specific key fp (must be a key present in `config.yml`)
## Status
Basic functionality (scheduled checks, http json api, matrix notifications) should be working.
Roadmap:
- [x] HTTP endpoint
- [x] Matrix messages
- [x] Pull keys and subkeys from keyserver
- [x] Scheduled expiry checks
- [ ] Configurable notification interval
- [ ] Proper test coverage
## Installation / Usage / Development
Clone the git repo, instantiate the bundle, configure and launch the server
```sh
git clone https://github.com/coderobe/expirobot
cd expirobot
bundle install --path=vendor
cp config.yml.example config.yml
# Configure
nano config.yml
bundle exec rackup
```
## Docker
Build the image:
```sh
docker build -t expirobot:latest .
```
Create a configuration file:
```sh
cp config.yml.example config.yml
nano config.yml
```
Run the container, mounting your config inside:
```sh
docker run -v $PWD/config.yml:/app/config.yml --name expirobot expirobot:latest
```
## License
This project, initially authored by [coderobe](https://github.com/coderobe), is licensed under the terms of the GNU GPL version 3 or above.
A copy of the license text is available in `LICENSE`