Compare commits

..
10 Commits
Author SHA1 Message Date
Jeff Geerling a49d4e63a1 Fixes #91: Warnings for ints in string fields in Ansible 2.8.x. 2019-08-26 11:56:43 -05:00
Jeff Geerling 7efc6a50f5 Remove unused tests. 2019-05-16 22:07:42 -05:00
Jeff Geerling 00dc226101 Fixes E305 linting error: use shell only when required. 2018-12-06 16:15:09 -06:00
Jeff Geerling be44ac2dcd Update tests for optimum efficiency. 2018-10-23 10:14:46 -05:00
Jeff GeerlingandGitHub 09b5bd20e9 Merge pull request #63 from adrianmoisey/patch-1
Fix path for example
2018-10-02 22:10:22 -05:00
Jeff GeerlingandGitHub e130839734 Merge pull request #62 from mbiberhofer/master
Fixed syntax issue in main/defaults.yml
2018-10-02 22:09:24 -05:00
Adrian MoiseyandGitHub 6b519ffc4d Fix path for example 2018-10-02 16:29:59 +02:00
Mario Biberhofer 260a85222e Fixed syntax issue in main/defaults.yml
v3.0.0 has introduced usage of the folded block scalar syntax
(see https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html)
for the certbot_create_command variable. The usage of quotes in this
case is wrong, resulting in a command not found error.
2018-10-02 10:20:22 +02:00
Jeff Geerling 974fc81c9c Update README wildcard docs. [ci skip] 2018-09-28 20:05:09 -05:00
Jeff Geerling a2348fdd64 Add note on Wildcard Certificates and Let's Encrypt. [ci skip] 2018-09-27 22:10:58 -05:00
6 changed files with 22 additions and 27 deletions
+1 -1
View File
@@ -7,9 +7,9 @@ env:
- ROLE_NAME: certbot
matrix:
- MOLECULE_DISTRO: centos7
MOLECULE_DOCKER_COMMAND: /usr/lib/systemd/systemd
- MOLECULE_DISTRO: centos6
MOLECULE_PLAYBOOK: playbook-source-install.yml
- MOLECULE_DISTRO: ubuntu1804
- MOLECULE_DISTRO: ubuntu1604
- MOLECULE_DISTRO: ubuntu1404
MOLECULE_PLAYBOOK: playbook-source-install.yml
+11 -5
View File
@@ -16,8 +16,8 @@ The variable `certbot_install_from_source` controls whether to install Certbot f
certbot_auto_renew: true
certbot_auto_renew_user: "{{ ansible_user | default(lookup('env', 'USER')) }}"
certbot_auto_renew_hour: 3
certbot_auto_renew_minute: 30
certbot_auto_renew_hour: "3"
certbot_auto_renew_minute: "30"
certbot_auto_renew_options: "--quiet --no-self-upgrade"
By default, this role configures a cron job to run under the provided user account at the given hour and minute, every day. The defaults run `certbot renew` (or `certbot-auto renew`) via cron every day at 03:30:00 by the user you use in your Ansible playbook. It's preferred that you set a custom user/hour/minute so the renewal is during a low-traffic period and done by a non-root user account.
@@ -26,7 +26,7 @@ By default, this role configures a cron job to run under the provided user accou
Currently there is one built-in method for generating new certificates using this role: `standalone`. Other methods (e.g. using nginx or apache and a webroot) may be added in the future.
**For a complete example**: see the fully functional test playbook in [tests/test-standalone-nginx-aws.yml](tests/test-standalone-nginx-aws.yml).
**For a complete example**: see the fully functional test playbook in [molecule/default/playbook-standalone-nginx-aws.yml](molecule/default/playbook-standalone-nginx-aws.yml).
certbot_create_if_missing: false
certbot_create_method: standalone
@@ -75,6 +75,12 @@ Certbot Git repository options. To install from source, set `certbot_install_fro
The directory inside which Certbot will be cloned.
### Wildcard Certificates
Let's Encrypt supports [generating wildcard certificates](https://community.letsencrypt.org/t/acme-v2-and-wildcard-certificate-support-is-live/55579), but the process for generating and using them is slightly more involved. See comments in [this pull request](https://github.com/geerlingguy/ansible-role-certbot/pull/60#issuecomment-423919284) for an example of how to use this role to maintain wildcard certs.
Michael Porter also has a walkthrough of [Creating A Let’s Encrypt Wildcard Cert With Ansible](https://www.michaelpporter.com/2018/09/creating-a-wildcard-cert-with-ansible/), specifically with Cloudflare.
## Dependencies
None.
@@ -85,8 +91,8 @@ None.
vars:
certbot_auto_renew_user: your_username_here
certbot_auto_renew_minute: 20
certbot_auto_renew_hour: 5
certbot_auto_renew_minute: "20"
certbot_auto_renew_hour: "5"
roles:
- geerlingguy.certbot
+5 -4
View File
@@ -2,8 +2,8 @@
# Certbot auto-renew cron job configuration (for certificate renewals).
certbot_auto_renew: true
certbot_auto_renew_user: "{{ ansible_user | default(lookup('env', 'USER')) }}"
certbot_auto_renew_hour: 3
certbot_auto_renew_minute: 30
certbot_auto_renew_hour: "3"
certbot_auto_renew_minute: "30"
certbot_auto_renew_options: "--quiet --no-self-upgrade"
# Parameters used when creating new Certbot certs.
@@ -18,9 +18,10 @@ certbot_certs: []
# - domains:
# - example3.com
certbot_create_command: >-
"{{ certbot_script }} certonly --standalone --noninteractive --agree-tos
{{ certbot_script }} certonly --standalone --noninteractive --agree-tos
--email {{ cert_item.email | default(certbot_admin_email) }}
-d {{ cert_item.domains | join(',') }}"
-d {{ cert_item.domains | join(',') }}
certbot_create_standalone_stop_services:
- nginx
# - apache
+4 -2
View File
@@ -9,8 +9,10 @@ lint:
config-file: molecule/default/yaml-lint.yml
platforms:
- name: instance
image: geerlingguy/docker-${MOLECULE_DISTRO:-centos7}-ansible
command: ${MOLECULE_DOCKER_COMMAND:-"sleep infinity"}
image: "geerlingguy/docker-${MOLECULE_DISTRO:-centos7}-ansible:latest"
command: ${MOLECULE_DOCKER_COMMAND:-""}
volumes:
- /sys/fs/cgroup:/sys/fs/cgroup:ro
privileged: true
pre_build_image: true
provisioner:
-14
View File
@@ -1,14 +0,0 @@
import os
import testinfra.utils.ansible_runner
testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('all')
def test_hosts_file(host):
f = host.file('/etc/hosts')
assert f.exists
assert f.user == 'root'
assert f.group == 'root'
+1 -1
View File
@@ -12,7 +12,7 @@
with_items: "{{ certbot_create_standalone_stop_services }}"
- name: Generate new certificate if one doesn't exist.
shell: "{{ certbot_create_command }}"
command: "{{ certbot_create_command }}"
when: not letsencrypt_cert.stat.exists
- name: Start services after cert has been generated.