https://github.com/flatcar/lerobot
A simple robot managing Let's Encrypt certificates.
https://github.com/flatcar/lerobot
infra kinvolk
Last synced: 2 months ago
JSON representation
A simple robot managing Let's Encrypt certificates.
- Host: GitHub
- URL: https://github.com/flatcar/lerobot
- Owner: flatcar
- License: apache-2.0
- Created: 2018-03-16T07:44:59.000Z (about 8 years ago)
- Default Branch: main
- Last Pushed: 2025-06-04T16:42:48.000Z (12 months ago)
- Last Synced: 2025-06-04T22:18:52.788Z (12 months ago)
- Topics: infra, kinvolk
- Language: Go
- Homepage:
- Size: 2.44 MB
- Stars: 8
- Watchers: 20
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://www.flatcar.org/)
[](https://app.element.io/#/room/#flatcar:matrix.org)
[](https://kubernetes.slack.com/archives/C03GQ8B5XNJ)
[](https://x.com/flatcar)
[](https://hachyderm.io/@flatcar)
[](https://bsky.app/profile/flatcar.org)
# lerobot
**Status: experimental**
A simple robot managing Let's Encrypt certificates.
The current version is very limited and only allows DNS verification
via Route53.
The following credentials are expected in environment variables:
* `AWS_ACCESS_KEY_ID`
* `AWS_SECRET_ACCESS_KEY`
* `AWS_HOSTED_ZONE_ID`
* `AWS_REGION`
That's by [lego]'s design, which lerobot uses for the ACME part for the
time being.
## Setup
Create a separate `lerobot` user with its own home directory, for example:
```shell
sudo adduser --system --disabled-password --home /home/lerobot --shell /bin/bash --gecos '' --group lerobot
sudo chmod 0700 /home/lerobot
```
Add an environment file `/etc/lerobot-env` with AWS credentials:
```shell
AWS_ACCESS_KEY_ID=ABCD
AWS_SECRET_ACCESS_KEY=1234
AWS_HOSTED_ZONE_ID=ZXXXL
AWS_REGION=eu-central-1
```
Add a `lerobot.service` systemd unit:
```shell
cat </`. It's not possible to use a different path or
to only sync a particular file.
Example:
```shell
rsync -ave "ssh -i /etc/lerobot.pem" lerobot@example.com:certificates/infra@example.com/ /etc/certificates/
```
This can be put into a systemd service triggered by a systemd timer once
per day.
[lego]: https://github.com/go-acme/lego