2025-07-02 23:16:50 -04:00

67 lines
1.7 KiB
YAML
Executable File

---
- name: Remove any old/malformed Webmin sources list
ansible.builtin.file:
path: /etc/apt/sources.list.d/webmin.list
state: absent
- name: Remove any old Webmin keyring
ansible.builtin.file:
path: /usr/share/keyrings/webmin-archive-keyring.gpg
state: absent
- name: Install Webmin GPG key into its own keyring
ansible.builtin.apt_key:
url: https://download.webmin.com/developers-key.asc
keyring: /usr/share/keyrings/webmin-archive-keyring.gpg
state: present
- name: Add Webmin APT repository
ansible.builtin.apt_repository:
filename: webmin
repo: >-
deb [signed-by=/usr/share/keyrings/webmin-archive-keyring.gpg]
https://download.webmin.com/download/repository
sarge contrib
state: present
- name: Ensure apt prerequisites are installed
ansible.builtin.apt:
name:
- curl
- gnupg
- apt-transport-https
- ca-certificates
state: present
update_cache: true
- name: Configure APT HTTP auth for Webmin
when: webmin_auth_user is defined and webmin_auth_pass is defined
ansible.builtin.copy:
dest: /etc/apt/auth.conf.d/webmin.conf
mode: '0600'
content: |
machine {{ webmin_repo_url | regex_replace('^https?://','') }}
login {{ webmin_auth_user }}
password {{ webmin_auth_pass }}
- name: Remove old Webmin preference file
ansible.builtin.file:
path: /etc/apt/preferences.d/webmin-stable-package-priority
state: absent
- name: Refresh apt cache
ansible.builtin.apt:
update_cache: true
- name: Install Webmin
ansible.builtin.apt:
name:
- webmin
state: present
- name: Ensure Webmin service is enabled & started
ansible.builtin.service:
name: webmin
state: started
enabled: true