Kevin Veen-Birkenbach 2620ee088e
refactor(dns): unify Cloudflare + Hetzner handling across roles
- replaced CERTBOT_DNS_API_TOKEN with CLOUDFLARE_API_TOKEN everywhere
- introduced generic sys-dns-cloudflare-records role for managing DNS records
- added sys-dns-hetzner-rdns role with both Cloud (hcloud) and Robot API flavors
- updated Mailu role to:
  - generate DKIM before DNS setup
  - delegate DNS + rDNS records to the new generic roles
- removed legacy per-role Cloudflare vars (MAILU_CLOUDFLARE_API_TOKEN)
- extended group vars with HOSTING_PROVIDER for rDNS flavor decision
- added hetzner.hcloud collection to requirements

This consolidates DNS management into reusable roles,
supports both Cloudflare and Hetzner providers,
and standardizes variable naming across the project.
2025-08-16 21:43:01 +02:00
..

Certbot

🔥 Description

This Ansible role automates the installation and configuration of Certbot, a free and open-source tool for automating the deployment of Let's Encrypt certificates. It also handles the setup of DNS plugins for ACME challenges.

📖 Overview

Optimized for Archlinux, this role ensures secure SSL/TLS certificate generation with minimal manual intervention. It supports both webroot and DNS-01 validation methods, providing flexibility based on your infrastructure needs.

Key Features

  • Automatic Installation: Installs certbot and the necessary DNS plugin via pacman.
  • Dynamic DNS Plugin Support: Automatically installs the correct certbot-dns-<provider> package based on your selected challenge method.
  • Credential Management: Creates secure credential files for DNS API tokens when using DNS-01 validation.
  • Idempotent Execution: Tasks are intelligently executed only once per playbook run.

🎯 Purpose

The Certbot role provides a ready-to-use, automated solution for SSL/TLS management in your infrastructure. Whether you're managing traditional servers or containerized environments, this role ensures your certificates are always in place and valid.

🚀 Features

  • Certbot Installation: Ensures the latest version of Certbot is installed.
  • DNS Plugin Installation: Installs a matching plugin based on your configured ACME challenge method.
  • Credential Directory Management: Creates a secured /etc/certbot directory with proper permissions.
  • API Token File Setup: Manages API token files securely for DNS challenge authentication.

🔗 Learn More