fix(acme): use correct mixed-case Namecom_Username/Token variable names

The dns_namecom.sh plugin uses Namecom_Username and Namecom_Token (not
NAMECOM_*). Fix the environment dict, the SAVED_ keys written to
account.conf, and add a cleanup task to remove the stale all-caps entries
already present on hosts from previous runs.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
chrisfu 2026-05-06 15:35:20 -04:00
parent 18f2ce2167
commit e0c96f47d4

View File

@ -44,6 +44,18 @@
register: acme_list
changed_when: false
- name: Remove stale upper-case NAMECOM_ entries from acme.sh account.conf
ansible.builtin.lineinfile:
path: "{{ acme_install_dir }}/account.conf"
regexp: "^{{ item }}="
state: absent
loop:
- NAMECOM_Username
- NAMECOM_Token
- SAVED_NAMECOM_Username
- SAVED_NAMECOM_Token
no_log: true
- name: Store name.com credentials in acme.sh account.conf
ansible.builtin.lineinfile:
path: "{{ acme_install_dir }}/account.conf"
@ -54,8 +66,8 @@
group: root
mode: "0600"
loop:
- { key: SAVED_NAMECOM_Username, value: "{{ acme_namecom_username }}" }
- { key: SAVED_NAMECOM_Token, value: "{{ acme_namecom_token }}" }
- { key: SAVED_Namecom_Username, value: "{{ acme_namecom_username }}" }
- { key: SAVED_Namecom_Token, value: "{{ acme_namecom_token }}" }
no_log: true
- name: Issue certs via DNS-01 (name.com) — skip if already issued
@ -66,8 +78,8 @@
--home {{ acme_install_dir }}
--server letsencrypt
environment:
NAMECOM_Username: "{{ acme_namecom_username }}"
NAMECOM_Token: "{{ acme_namecom_token }}"
Namecom_Username: "{{ acme_namecom_username }}"
Namecom_Token: "{{ acme_namecom_token }}"
loop: "{{ acme_certs }}"
register: acme_issue
changed_when: "'Cert success' in acme_issue.stdout"