Compare commits

...
14 Commits
Author SHA1 Message Date
Jeff GeerlingandGitHub 6ab7f2db23 Merge pull request #227 from almer-t/patch-1
Add missing default for certbot_create_extra_args
2025-03-24 16:11:24 -05:00
Jeff Geerling 1278651f0d Update CI status badges. 2025-01-30 21:24:54 -06:00
Jeff Geerling 3d2fbc6202 Use more modern OS versions for testing. 2025-01-29 22:51:16 -06:00
Jeff Geerling 4f1179392e Don't use sudo inside molecule CI tests. 2025-01-29 21:39:13 -06:00
Jeff Geerling e5bfeaf936 Attempt to get molecule CI tests running again. 2025-01-28 22:23:55 -06:00
Jeff GeerlingandGitHub 9045ec5a59 Merge pull request #208 from theS1LV3R/master
Allow for certificates to be expanded to include new domains
2025-01-28 22:10:40 -06:00
Jeff GeerlingandGitHub 98ea3238ed Merge pull request #217 from rlenferink/fix-undefined-variable
[BUGFIX] Initialize 'certbot_create_extra_args' variable
2024-12-22 13:18:42 -06:00
AlmerandGitHub 06ca208bb6 Add missing default for certbot_create_extra_args 2024-11-02 11:40:20 +01:00
Jeff Geerling 78f4cb5ad5 Use CRB not powertools on Alma and Rocky. 2024-07-30 23:24:23 -05:00
Jeff Geerling d1cbcde4de Fixup CI versions. Drop all older RHEL releases which are broken. 2024-07-16 14:21:11 -05:00
Roy Lenferink 03f4cc3a99 Initialize 'certbot_create_extra_args' variable
This was introduced in 5a23e85f1c but no default was added, resulting in a 'undefined variable' error
2024-07-14 11:08:50 +02:00
theS1LV3R 63638f4471 Allow for certificates to be expanded to include new domains 2024-02-09 16:29:19 +01:00
Jeff Geerling 4be771f12a A wee bit of modernization. 2024-01-24 22:00:32 -06:00
Jeff Geerling de52a1f4c8 Make local dev with molecule a little easier. 2024-01-24 21:48:33 -06:00
11 changed files with 34 additions and 61 deletions
+8 -15
View File
@@ -19,12 +19,12 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Check out the codebase. - name: Check out the codebase.
uses: actions/checkout@v2 uses: actions/checkout@v4
with: with:
path: 'geerlingguy.certbot' path: 'geerlingguy.certbot'
- name: Set up Python 3. - name: Set up Python 3.
uses: actions/setup-python@v2 uses: actions/setup-python@v5
with: with:
python-version: '3.x' python-version: '3.x'
@@ -41,35 +41,28 @@ jobs:
strategy: strategy:
matrix: matrix:
include: include:
- distro: centos8 - distro: rockylinux9
playbook: converge.yml playbook: converge.yml
experimental: false experimental: false
- distro: centos7 - distro: ubuntu2404
playbook: converge.yml playbook: converge.yml
experimental: false experimental: false
- distro: ubuntu1804 - distro: debian12
playbook: converge.yml playbook: converge.yml
experimental: false experimental: false
- distro: debian10
playbook: converge.yml
experimental: false
# Source install started failing recently.
# - distro: centos7
# playbook: playbook-source-install.yml
# experimental: false
- distro: centos7 - distro: rockylinux9
playbook: playbook-snap-install.yml playbook: playbook-snap-install.yml
experimental: true experimental: true
steps: steps:
- name: Check out the codebase. - name: Check out the codebase.
uses: actions/checkout@v2 uses: actions/checkout@v4
with: with:
path: 'geerlingguy.certbot' path: 'geerlingguy.certbot'
- name: Set up Python 3. - name: Set up Python 3.
uses: actions/setup-python@v2 uses: actions/setup-python@v5
with: with:
python-version: '3.x' python-version: '3.x'
+2 -2
View File
@@ -22,12 +22,12 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Check out the codebase. - name: Check out the codebase.
uses: actions/checkout@v2 uses: actions/checkout@v4
with: with:
path: 'geerlingguy.certbot' path: 'geerlingguy.certbot'
- name: Set up Python 3. - name: Set up Python 3.
uses: actions/setup-python@v2 uses: actions/setup-python@v5
with: with:
python-version: '3.x' python-version: '3.x'
+1 -1
View File
@@ -1,6 +1,6 @@
# Ansible Role: Certbot (for Let's Encrypt) # Ansible Role: Certbot (for Let's Encrypt)
[![CI](https://github.com/geerlingguy/ansible-role-certbot/workflows/CI/badge.svg?event=push)](https://github.com/geerlingguy/ansible-role-certbot/actions?query=workflow%3ACI) [![CI](https://github.com/geerlingguy/ansible-role-certbot/actions/workflows/ci.yml/badge.svg)](https://github.com/geerlingguy/ansible-role-certbot/actions/workflows/ci.yml)
Installs and configures Certbot (for Let's Encrypt). Installs and configures Certbot (for Let's Encrypt).
+5
View File
@@ -13,7 +13,9 @@ certbot_hsts: false
# Parameters used when creating new Certbot certs. # Parameters used when creating new Certbot certs.
certbot_create_if_missing: false certbot_create_if_missing: false
certbot_create_method: standalone certbot_create_method: standalone
certbot_create_extra_args: ""
certbot_admin_email: email@example.com certbot_admin_email: email@example.com
certbot_expand: false
# Default webroot, overwritten by individual per-cert webroot directories # Default webroot, overwritten by individual per-cert webroot directories
certbot_webroot: /var/www/letsencrypt certbot_webroot: /var/www/letsencrypt
@@ -27,12 +29,15 @@ certbot_certs: []
# - domains: # - domains:
# - example3.com # - example3.com
certbot_create_extra_args: ""
certbot_create_command: >- certbot_create_command: >-
{{ certbot_script }} certonly --{{ certbot_create_method }} {{ certbot_script }} certonly --{{ certbot_create_method }}
{{ '--hsts' if certbot_hsts else '' }} {{ '--hsts' if certbot_hsts else '' }}
{{ '--test-cert' if certbot_testmode else '' }} {{ '--test-cert' if certbot_testmode else '' }}
--noninteractive --agree-tos --noninteractive --agree-tos
--email {{ cert_item.email | default(certbot_admin_email) }} --email {{ cert_item.email | default(certbot_admin_email) }}
{{ '--expand' if certbot_expand else '' }}
{{ '--webroot-path ' if certbot_create_method == 'webroot' else '' }} {{ '--webroot-path ' if certbot_create_method == 'webroot' else '' }}
{{ cert_item.webroot | default(certbot_webroot) if certbot_create_method == 'webroot' else '' }} {{ cert_item.webroot | default(certbot_webroot) if certbot_create_method == 'webroot' else '' }}
{{ certbot_create_extra_args }} {{ certbot_create_extra_args }}
+1 -1
View File
@@ -1,7 +1,7 @@
--- ---
- name: Converge - name: Converge
hosts: all hosts: all
become: true # become: true
vars: vars:
certbot_auto_renew_user: root certbot_auto_renew_user: root
+3 -1
View File
@@ -2,11 +2,13 @@
role_name_check: 1 role_name_check: 1
dependency: dependency:
name: galaxy name: galaxy
options:
ignore-errors: true
driver: driver:
name: docker name: docker
platforms: platforms:
- name: instance - name: instance
image: "geerlingguy/docker-${MOLECULE_DISTRO:-centos7}-ansible:latest" image: "geerlingguy/docker-${MOLECULE_DISTRO:-rockylinux9}-ansible:latest"
command: ${MOLECULE_DOCKER_COMMAND:-""} command: ${MOLECULE_DOCKER_COMMAND:-""}
volumes: volumes:
- /sys/fs/cgroup:/sys/fs/cgroup:rw - /sys/fs/cgroup:/sys/fs/cgroup:rw
+1 -1
View File
@@ -1,7 +1,7 @@
--- ---
- name: Converge - name: Converge
hosts: all hosts: all
become: true #become: true
vars: vars:
certbot_install_method: 'snap' certbot_install_method: 'snap'
+1 -1
View File
@@ -1,7 +1,7 @@
--- ---
- name: Converge - name: Converge
hosts: all hosts: all
become: true #become: true
vars: vars:
certbot_install_method: 'source' certbot_install_method: 'source'
+2 -6
View File
@@ -1,9 +1,4 @@
--- ---
- name: Check if certificate already exists.
stat:
path: /etc/letsencrypt/live/{{ cert_item.domains | first | replace('*.', '') }}/cert.pem
register: letsencrypt_cert
- name: Ensure pre and post hook folders exist. - name: Ensure pre and post hook folders exist.
file: file:
path: /etc/letsencrypt/renewal-hooks/{{ item }} path: /etc/letsencrypt/renewal-hooks/{{ item }}
@@ -39,4 +34,5 @@
- name: Generate new certificate if one doesn't exist. - name: Generate new certificate if one doesn't exist.
command: "{{ certbot_create_command }}" command: "{{ certbot_create_command }}"
when: not letsencrypt_cert.stat.exists register: certbot_create
changed_when: "'no action taken' not in certbot_create.stdout"
+2 -6
View File
@@ -1,9 +1,4 @@
--- ---
- name: Check if certificate already exists.
stat:
path: /etc/letsencrypt/live/{{ cert_item.domains | first }}/cert.pem
register: letsencrypt_cert
- name: Create webroot directory if it doesn't exist yet - name: Create webroot directory if it doesn't exist yet
file: file:
path: "{{ cert_item.webroot | default(certbot_webroot) }}" path: "{{ cert_item.webroot | default(certbot_webroot) }}"
@@ -11,4 +6,5 @@
- name: Generate new certificate if one doesn't exist. - name: Generate new certificate if one doesn't exist.
command: "{{ certbot_create_command }}" command: "{{ certbot_create_command }}"
when: not letsencrypt_cert.stat.exists register: certbot_create
changed_when: "'no action taken' not in certbot_create.stdout"
+8 -27
View File
@@ -1,30 +1,11 @@
--- ---
# See: https://github.com/geerlingguy/ansible-role-certbot/issues/107 # See: https://github.com/geerlingguy/ansible-role-certbot/issues/107
- block: - name: Ensure dnf-plugins are installed on Rocky/AlmaLinux.
yum:
name: dnf-plugins-core
state: present
- name: Ensure dnf-plugins are installed on CentOS 8+. - name: Enable DNF module for Rocky/AlmaLinux.
yum: shell: |
name: dnf-plugins-core dnf config-manager --set-enabled crb
state: present changed_when: false
- block:
- name: Enable DNF module for CentOS 8.3+.
shell: |
dnf config-manager --set-enabled powertools
register: dnf_module_enable
changed_when: false
when: ansible_facts['distribution_version'] is version('8.3', '>=')
- name: Enable DNF module for CentOS 8.08.2.
shell: |
dnf config-manager --set-enabled PowerTools
register: dnf_module_enable
changed_when: false
when: ansible_facts['distribution_version'] is version('8.2', '<=')
when:
- ansible_distribution == 'CentOS'
- ansible_distribution_major_version | int >= 8