https://github.com/rolehippie/letsencrypt
Ansible role to fetch and publish Let's Encrypt certificates
https://github.com/rolehippie/letsencrypt
ansible ansible-role hacktoberfest role
Last synced: 6 months ago
JSON representation
Ansible role to fetch and publish Let's Encrypt certificates
- Host: GitHub
- URL: https://github.com/rolehippie/letsencrypt
- Owner: rolehippie
- License: apache-2.0
- Created: 2021-04-15T09:12:37.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2026-01-12T12:23:14.000Z (6 months ago)
- Last Synced: 2026-01-12T18:25:37.802Z (6 months ago)
- Topics: ansible, ansible-role, hacktoberfest, role
- Language: Nix
- Homepage:
- Size: 261 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# letsencrypt
[](https://github.com/rolehippie/letsencrypt)
[](https://github.com/rolehippie/letsencrypt/actions/workflows/general.yml)
[](https://github.com/rolehippie/letsencrypt/actions/workflows/docs.yml)
[](https://github.com/rolehippie/letsencrypt/actions/workflows/galaxy.yml)
[](https://github.com/rolehippie/letsencrypt/blob/master/LICENSE)
[](https://galaxy.ansible.com/rolehippie/letsencrypt)
Ansible role to fetch and publish Let's Encrypt certificates.
## Sponsor
Building and improving this Ansible role have been sponsored by my current and previous employers like **[Cloudpunks GmbH](https://cloudpunks.de)** and **[Proact Deutschland GmbH](https://www.proact.eu)**.
## Table of contents
- [Requirements](#requirements)
- [Default Variables](#default-variables)
- [letsencrypt_account_email](#letsencrypt_account_email)
- [letsencrypt_account_key](#letsencrypt_account_key)
- [letsencrypt_cert_city](#letsencrypt_cert_city)
- [letsencrypt_cert_country](#letsencrypt_cert_country)
- [letsencrypt_cert_organization](#letsencrypt_cert_organization)
- [letsencrypt_cert_paths](#letsencrypt_cert_paths)
- [letsencrypt_cert_province](#letsencrypt_cert_province)
- [letsencrypt_certificates](#letsencrypt_certificates)
- [letsencrypt_challenge_mapping](#letsencrypt_challenge_mapping)
- [letsencrypt_cluster_enabled](#letsencrypt_cluster_enabled)
- [letsencrypt_cluster_nodes](#letsencrypt_cluster_nodes)
- [letsencrypt_extra_certs](#letsencrypt_extra_certs)
- [letsencrypt_nsupdate_algorithm](#letsencrypt_nsupdate_algorithm)
- [letsencrypt_nsupdate_name](#letsencrypt_nsupdate_name)
- [letsencrypt_nsupdate_secret](#letsencrypt_nsupdate_secret)
- [letsencrypt_nsupdate_server](#letsencrypt_nsupdate_server)
- [letsencrypt_production_armed](#letsencrypt_production_armed)
- [letsencrypt_reload_services](#letsencrypt_reload_services)
- [letsencrypt_request_output](#letsencrypt_request_output)
- [letsencrypt_restart_services](#letsencrypt_restart_services)
- [Discovered Tags](#discovered-tags)
- [Dependencies](#dependencies)
- [License](#license)
- [Author](#author)
---
## Requirements
- Minimum Ansible version: `2.10`
## Default Variables
### letsencrypt_account_email
Email address used for Let's Encrypt
#### Default value
```YAML
letsencrypt_account_email: hostmaster@localhost
```
### letsencrypt_account_key
Path to Let's Encrypt account key
#### Default value
```YAML
letsencrypt_account_key: account.key
```
### letsencrypt_cert_city
City used for the SSL configuration
#### Default value
```YAML
letsencrypt_cert_city: Nuremberg
```
### letsencrypt_cert_country
Country used for the SSL configuration
#### Default value
```YAML
letsencrypt_cert_country: DE
```
### letsencrypt_cert_organization
Organization used for the SSL configuration
#### Default value
```YAML
letsencrypt_cert_organization: DevOps Team
```
### letsencrypt_cert_paths
Paths to store the certificates
#### Default value
```YAML
letsencrypt_cert_paths:
- /etc/ssl/letsencrypt
```
#### Example usage
```YAML
letsencrypt_cert_paths:
- /etc/haproxy/ssl
- path: /etc/caddy
owner: caddy
group: caddy
mode: u=rwx,g=x,o=x
```
### letsencrypt_cert_province
Province used for the SSL configuration
#### Default value
```YAML
letsencrypt_cert_province: Bavaria
```
### letsencrypt_certificates
List of certificate definitions
#### Default value
```YAML
letsencrypt_certificates: []
```
#### Example usage
```YAML
letsencrypt_certificates:
- name: foobar
challenge: nsupdate
common_name: foobar.com
alternate_names:
- '*.foobar.com'
- name: example
challenge: http
common_name: example.com
alternate_names:
- sub1.example.com
- sub2.example.com
- sub3.example.com
```
### letsencrypt_challenge_mapping
Mapping of challenge types
#### Default value
```YAML
letsencrypt_challenge_mapping:
http: http-01
nsupdate: dns-01
```
### letsencrypt_cluster_enabled
Enable clustered mode
#### Default value
```YAML
letsencrypt_cluster_enabled: false
```
### letsencrypt_cluster_nodes
List of nodes part of the cluster
#### Default value
```YAML
letsencrypt_cluster_nodes: []
```
#### Example usage
```YAML
letsencrypt_cluster_nodes:
- node01
- node02
- node03
```
### letsencrypt_extra_certs
Additional certificates to add
#### Default value
```YAML
letsencrypt_extra_certs: []
```
#### Example usage
```YAML
letsencrypt_extra_certs:
- foobar.pem
- name: general.pem
owner: root
group: haproxy
mode: u=rwx,g=x,o=x
```
### letsencrypt_nsupdate_algorithm
TSIG algorithm for nsupdate DNS challenges
#### Default value
```YAML
letsencrypt_nsupdate_algorithm: hmac-sha512
```
### letsencrypt_nsupdate_name
TSIG name for nsupdate DNS challenges
#### Default value
```YAML
letsencrypt_nsupdate_name:
```
### letsencrypt_nsupdate_secret
TSIG secret for nsupdate DNS challenges
#### Default value
```YAML
letsencrypt_nsupdate_secret:
```
### letsencrypt_nsupdate_server
Server used for nsupdate DNS challenges
#### Default value
```YAML
letsencrypt_nsupdate_server:
```
### letsencrypt_production_armed
Enable production authority
#### Default value
```YAML
letsencrypt_production_armed: false
```
### letsencrypt_reload_services
List of services to reload
#### Default value
```YAML
letsencrypt_reload_services: []
```
#### Example usage
```YAML
letsencrypt_reload_services:
- haproxy
- apache
```
### letsencrypt_request_output
Print cert information after request
#### Default value
```YAML
letsencrypt_request_output: true
```
### letsencrypt_restart_services
List of services to restart
#### Default value
```YAML
letsencrypt_restart_services: []
```
#### Example usage
```YAML
letsencrypt_restart_services:
- traefik
```
## Discovered Tags
**_letsencrypt_**
**_skip_ansible_later_**
## Dependencies
- [community.crypto](https://github.com/ansible-collections/community.crypto)
## License
Apache-2.0
## Author
[Thomas Boerger](https://github.com/tboerger)