Files
ansible-remove-pve-nag/remove-proxmox-nag.yml
T
2026-06-11 16:59:26 -04:00

70 lines
2.2 KiB
YAML

---
- name: Remove Proxmox subscription nag
hosts: proxmox
become: true
gather_facts: false
vars:
proxmox_widget_toolkit_path: /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
proxmox_widget_toolkit_backup_path: /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js.bak
handlers:
- name: Restart web proxy
ansible.builtin.service:
name: "{{ proxmox_proxy_service }}"
state: restarted
tasks:
- name: Gather service facts
ansible.builtin.service_facts:
- name: Select proxy service
ansible.builtin.set_fact:
proxmox_proxy_service: >-
{{
'pveproxy'
if 'pveproxy.service' in ansible_facts.services
else 'proxmox-backup-proxy'
if 'proxmox-backup-proxy.service' in ansible_facts.services
else ''
}}
- name: Fail when no supported proxy service is present
ansible.builtin.fail:
msg: "Neither pveproxy nor proxmox-backup-proxy is installed on the remote host."
when: proxmox_proxy_service == ''
- name: Check proxmoxlib.js exists
ansible.builtin.stat:
path: "{{ proxmox_widget_toolkit_path }}"
register: proxmoxlib_stat
- name: Fail when proxmoxlib.js is missing
ansible.builtin.fail:
msg: "{{ proxmox_widget_toolkit_path }} was not found on the remote host."
when: not proxmoxlib_stat.stat.exists
- name: Preserve original proxmoxlib.js once
ansible.builtin.copy:
src: "{{ proxmox_widget_toolkit_path }}"
dest: "{{ proxmox_widget_toolkit_backup_path }}"
remote_src: true
force: false
mode: preserve
- name: Disable the subscription status check in proxmoxlib.js
ansible.builtin.replace:
path: "{{ proxmox_widget_toolkit_path }}"
regexp: "res\\.data\\.status\\.toLowerCase\\(\\) !== 'active'"
replace: "false"
backup: true
notify: Restart web proxy
- name: Disable the legacy subscription status check in proxmoxlib.js
ansible.builtin.replace:
path: "{{ proxmox_widget_toolkit_path }}"
regexp: "data\\.status !== 'Active'"
replace: "false"
backup: true
notify: Restart web proxy