All Projects → thefinn93 → Ansible Letsencrypt

thefinn93 / Ansible Letsencrypt

Licence: gpl-3.0
An ansible role to generate TLS certificates and get them signed by Let's Encrypt

Projects that are alternatives of or similar to Ansible Letsencrypt

Ansible Role Nginx
Ansible role for NGINX
Stars: ✭ 404 (-6.7%)
Mutual labels:  ansible, ansible-role
Ansible Role Wireguard
Ansible role for installing WireGuard VPN. Supports Ubuntu, Debian, Archlinx, Fedora and CentOS.
Stars: ✭ 176 (-59.35%)
Mutual labels:  ansible, ansible-role
Ansible Relayor
An Ansible Role for Tor Relay Operators
Stars: ✭ 165 (-61.89%)
Mutual labels:  ansible, ansible-role
Nginx
A fairly flexible and feature full Ansible role for the NGINX web server.
Stars: ✭ 151 (-65.13%)
Mutual labels:  ansible, ansible-role
Ansible Playbook Grapher
A command line tool to create a graph representing your Ansible playbook tasks and roles
Stars: ✭ 234 (-45.96%)
Mutual labels:  ansible, ansible-role
Ansible Nomad
⌚️ Ansible role for Nomad
Stars: ✭ 157 (-63.74%)
Mutual labels:  ansible, ansible-role
Graylog Ansible Role
Ansible role which installs and configures Graylog
Stars: ✭ 173 (-60.05%)
Mutual labels:  ansible, ansible-role
Sensu Ansible
An Ansible role to deploy a fully dynamic Sensu stack!
Stars: ✭ 126 (-70.9%)
Mutual labels:  ansible, ansible-role
Ansible Role Awx
Ansible Role - AWX
Stars: ✭ 228 (-47.34%)
Mutual labels:  ansible, ansible-role
Ansible Rails
Ruby on Rails deployment using Ansible - with Lets Encrypt, Sidekiq, PostgreSQL, nginx & puma
Stars: ✭ 199 (-54.04%)
Mutual labels:  ansible, letsencrypt
Gitlab Ci Stack
Full CI pipeline project based on Gitlab & Gitlab CI running Docker, completely automated setup by Vagrant & Ansible, providing Let´s Encrypt certificates for private Servers, multiple Gitlab-Runners and the Gitlab Container Registry, incl. GitLab Pages
Stars: ✭ 146 (-66.28%)
Mutual labels:  ansible, letsencrypt
ansible-role-containerized-wordpress
Deploy & run Docker Compose project for WordPress instance with Let's Encrypt HTTPS encryption
Stars: ✭ 15 (-96.54%)
Mutual labels:  letsencrypt, ansible-role
Ansible Role K3s
Ansible role for installing k3s as either a standalone server or HA cluster.
Stars: ✭ 132 (-69.52%)
Mutual labels:  ansible, ansible-role
Swarmlet
A self-hosted, open-source Platform as a Service that enables easy swarm deployments, load balancing, automatic SSL, metrics, analytics and more.
Stars: ✭ 373 (-13.86%)
Mutual labels:  ansible, letsencrypt
Django Init
Project template used at Fueled for scaffolding new Django based projects. 💫
Stars: ✭ 126 (-70.9%)
Mutual labels:  ansible, letsencrypt
Nexus3 Oss
Ansible role to install and provision sonatype nexus3-oss
Stars: ✭ 169 (-60.97%)
Mutual labels:  ansible, ansible-role
Ansible Openwisp2 Imagegenerator
Automatically build several openwisp2 firmware images for different organizations while keeping track of their differences
Stars: ✭ 122 (-71.82%)
Mutual labels:  ansible, ansible-role
Ansible Role Ssl Certs
Generate and/or deploy SSL certificate
Stars: ✭ 122 (-71.82%)
Mutual labels:  ansible, ansible-role
Ansipress
AnsiPress - Simple L(Linux) E(NGINX) M(MariaDB) P(PHP7) Shared Hosting Setup
Stars: ✭ 184 (-57.51%)
Mutual labels:  ansible, letsencrypt
Rvm1 Ansible
The official ansible RVM role to install and manage your Ruby versions.
Stars: ✭ 246 (-43.19%)
Mutual labels:  ansible, ansible-role

ansible-letsencrypt

An ansible role to generate TLS certificates and get them signed by Let's Encrypt.

Currently attempts first to use the webroot authenticator, then if that fails to create certificates, it will use the standalone authenticator. This is handy for generating certs on a fresh machine before the web server has been configured or even installed.

Supported platforms

  • Debian Jessie
  • Debian Stretch
  • Debian Buster
  • Ubuntu Xenial

On other platforms this role will try to install letsencrypt using pip, which is not officially supported and may break over upgrades at least.

If you test it on other platforms please let me know the results (positive or otherwise) so I can document them here and/or fix the issue.

Requires Ansible >= 2.0

Usage

First, read Let's Encrypt's TOS and EULA. Only proceed if you agree to them.

The following variables are available:

letsencrypt_webroot_path is the root path that gets served by your web server. Defaults to /var/www.

letsencrypt_email needs to be set to your email address. Let's Encrypt wants it. Defaults to [email protected]{{ ansible_fqdn }}. If you really want to register without providing an email address, define the variabe letsencrypt_no_email.

letsencrypt_rsa_key_size allows to specify a size for the generated key.

letsencrypt_cert_domains is a list of domains you wish to get a certificate for. It defaults to a single item with the value of {{ ansible_fqdn }}.

letsencrypt_install_directory should probably be left alone, but if you set it, it will change where the letsencrypt program is installed.

letsencrypt_renewal_command_args add arguments to the letsencrypt renewal command that gets run using cron. For example, use the renewal hooks to restart a web server.

letsencrypt_standalone_command_args adds arguments to the standalone authentication method. This is mostly useful for specifying supported challenges, such as --standalone-supported-challenges tls-sni-01 to limit the authentication to port 443 if something is already running on 80 or vice versa.

letsencrypt_server sets the alternative auth server if needed. For example, during tests it's set to https://acme-staging.api.letsencrypt.org/directory to use the staging server (far higher rate limits, but certs are not trusted). It is not set by default.

ssl_certificate and ssl_certificate_key symlinks the certificates to provided path if both are set.

The Let's Encrypt client will put the certificate and accessories in /etc/letsencrypt/live/<first listed domain>/. For more info, see the Let's Encrypt documentation.

Example Playbook

---
 - hosts: tls_servers
   user: root
   roles:
     - role: letsencrypt
       letsencrypt_webroot_path: /var/www/html
       letsencrypt_email: [email protected]
       letsencrypt_cert_domains:
        - www.example.net
        - example.net
       letsencrypt_renewal_command_args: '--renew-hook "systemctl restart nginx"'
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].