Page MenuHomeDevCentral

Deploy Certbot everywhere
Changes PlannedPublic

Authored by dereckson on Dec 16 2023, 01:01.
Tags
None
Referenced Files
F2944182: D3248.id8345.diff
Tue, May 14, 19:30
F2943933: D3248.id8347.diff
Tue, May 14, 17:40
Unknown Object (File)
Mon, May 13, 13:52
Unknown Object (File)
Mon, May 13, 12:16
Unknown Object (File)
Mon, May 13, 11:41
Unknown Object (File)
Thu, May 9, 07:19
Unknown Object (File)
Thu, May 9, 06:45
Unknown Object (File)
Thu, May 9, 06:09
Subscribers
None

Details

Summary

Currently, certbot was deployed:

  • as a system package on webserver-core
  • as a Docker container and wrapper, with DNS hook on paas-docker
  • not at all elsewhere

This change merges the different units as a part of the roles/core/certificates
unit to have a consistent installation through all machines, Docker included.

Don't try to issue certificate, as to use DNS registration, we currently
need a manual intervention to add a CNAME DNS records for the _acme_challenge.
verification subdomain.

Certificates are renewed with a daily script running certbot renew, installed
through periodic on FreeBSD or as a systemd timer on Linux with systemd nodes.

Ref T1505.

Test Plan

Deploy on Hervil

Diff Detail

Repository
rOPS Nasqueron Operations
Lint
Lint Errors
SeverityLocationCodeMessage
Error_modules/node.py:446E501flake8 E501
Unit
No Test Coverage
Branch
universal-letsencrypt
Build Status
Buildable 5126
Build 5407: arc lint + arc unit

Event Timeline

dereckson created this revision.

Avoid to define authenticator both, one in cli.ini, one in command line

Think it's okey except my comment,
But why every day ? is it not too short ? Maybe each one 3 day or maybe one week could be better ?

roles/core/certificates/files/acme-dns-auth.py
24

no map.jinja for the storage path depending of the OS ?

This revision is now accepted and ready to land.Dec 16 2023, 20:18
roles/core/certificates/files/acme-dns-auth.py
24

Not sure I'm comfortable to templatize Python scripts. We lose the linter for example if we do that.

What if we look both paths?

So we can have the same script first looking /usr/local/etc then /etc. Some scripts already do that like.

TODO: Cleanup certbot_dir from webserver-core