Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/roles-ansible/ansible_role_acmetool
Ansible role to manage letsencrypt certs with acme tool
https://github.com/roles-ansible/ansible_role_acmetool
acmetool acmetool-le-client ansible ansible-galaxy ansible-role hacktoberfest
Last synced: 2 months ago
JSON representation
Ansible role to manage letsencrypt certs with acme tool
- Host: GitHub
- URL: https://github.com/roles-ansible/ansible_role_acmetool
- Owner: roles-ansible
- License: mit
- Created: 2021-01-17T16:33:12.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-03-22T10:28:06.000Z (11 months ago)
- Last Synced: 2024-05-01T18:37:30.493Z (9 months ago)
- Topics: acmetool, acmetool-le-client, ansible, ansible-galaxy, ansible-role, hacktoberfest
- Language: Shell
- Homepage:
- Size: 97.7 KB
- Stars: 3
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
README
[![Ansible Galaxy](https://raw.githubusercontent.com/roles-ansible/ansible_role_acmetool/main/.github/galaxy.svg?sanitize=true)](https://galaxy.ansible.com/ui/standalone/roles/l3d/acmetool/) [![MIT License](https://raw.githubusercontent.com/roles-ansible/ansible_role_acmetool/main/.github/license.svg?sanitize=true)](https://github.com/roles-ansible/ansible_role_acmetool/blob/main/LICENCE)
Acmetool LE client
==================Install and configure the `acmetool` LE client.
We recomend to use this role together with the [do1jlr.nginx](https://github.com/do1jlr/ansible_role_nginx.git) ansible role. But this role has a standalone version too.
The ``do1jlr.nginx`` role installs a hook to enable nginx https sites and is running the ``acmetool want $domain`` command. Or you add the domains you need to the ``acme_domain_want_list: []``. But make sure you your acmetool is able to request the domains. Maybe you want to configure the ``response-file.yml.j2`` for that.
Variables
-----------* ``acme_notification_email:`` (Default: ``[email protected]``):
LE account email. The default needs to be changed!* ``acme_reload_services:`` (Default: ``[]``):
Services that need a reload by certificat change
*(There are some services pre-defined in the [files/reload](files/reload) file)** ``acme_restart_services:`` (Default: ``[]``):
Services that need a restart by certificat change* ``acme_domain_want_list:`` (Default: ``[]``):
A list of domain you want to enable. Example:
```yml
acme_domain_want_list:
- name: 'www.example.com'
```* ``acme_domain_unwant_list:`` (Default: ``[]``):
Disable a enabled domain. Same syntax than ``acme_domain_want_list``.* ``submodules_versioncheck:`` (Default: ``false``):
Enable basic versionscheck. *(``true`` is recomended)*Files
-------
* We search the ``response-file.yml.j2`` using the [first_found_lookup](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/first_found_lookup.html) with the following config:
```yaml
files:
- "response-file.{{ inventory_hostname }}.yml.j2"
- 'response-file.yml.j2'
paths:
- 'templates/acmetool'
- "templates/{{ inventory_hostname }}"
- 'files/acmetool'
- "files/{{ inventory_hostname }}"
- 'templates'
```
This file is configuring the acmetool behaviour like certificate type, challange methode, acme notification email and so on. Change the values by providing your own ``response-file.yml.j2``.* We search the ``reload`` and ``restart`` hook using the [first_found_lookup](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/first_found_lookup.html) with the config defined in ``vars/main.yml``.
* We deploy the ``acme-reload`` and ``acme-restart`` configuration based on the ``acme_reload_services:`` and ``acme_restart_services:`` variables
References
------------* [acmetool](https://github.com/hlandau/acmetool)
* [acmetool user's guide](https://hlandau.github.io/acmetool/userguide)Good to know
--------------
+ If you are using debian buster, you are probably interested in a more up to date version of acmetool. Have a look at the [do1jlr.acmetool_fix](https://galaxy.ansible.com/do1jlr/acmetool_fix) role, that will install a specific version of acmetool on debian based systems.
+ To add a domain manually to acmetool run ``acmetool want example.com``
+ To remove a domain manually from acmetool, ``acmetool unwant example.com``