Denna guide hjälper dig sätta upp certbot med plugin för OpenStack DNS (Designate) för verifiering av LetsEncrypt-certifikat över DNS.
Följande gäller för Debian/Ubuntu:
- Installera certbot och dns-openstack authenticator-plugin med pip:
sudo apt install certbot python3-designateclient python3-pip
sudo pip3 install certbot-dns-openstack
- Skapa en Application Credential via Horizon. För detta krävs att en API-användare som ni skapar i cloudportalen (under ”Access & Säkerhet -> API-användare”).
- Logga in i Horizon (https://control.binero.cloud)
- Gå till ”Access” -> ”Applikationsbehörighet”.
- Klicka på ”Create Application Credential”, fyll i valfritt namn.
- Markera rollerna ”reader” samt ”member”.
- Ange följande regler i textfältet ”Access Rules”:
- service: dns method: GET path: /v2/zones - service: dns method: GET path: /v2/zones/{zone_id} - service: dns method: GET path: /v2/zones/{zone_id}/recordsets - service: dns method: POST path: /v2/zones/{zone_id}/recordsets - service: dns method: GET path: /v2/zones/{zone_id}/recordsets/{recordset_id} - service: dns method: PUT path: /v2/zones/{zone_id}/recordsets/{recordset_id} - service: dns method: DELETE path: /v2/zones/{zone_id}/recordsets/{recordset_id}
- Klicka på ”Create Application Credential” och sedan ”Download clouds.yaml”. Spara filen till /etc/openstack/clouds.yaml
- Kör följande kommandon:
sudo -s
chown root:root /etc/openstack/clouds.yaml
chmod 600 /etc/openstack/clouds.yaml
- Du kan nu utfärda certifikat som vanligt via certbot med tillägg av
-a dns-openstack
till dinacertbot certonly
ellercertbot run
kommandon som exempelvis:sudo certbot -a dns-openstack certonly -d example.domain
Om du har befintliga certifikat som du vill ändra autentiseringen för, redigera/etc/letsencrypt/renewal/example.domain.conf
och se till att autentiseringsalternativet är satt till dns-openstack i avsnittet [renewalparams].