mirror of
https://codeberg.org/hyperreal/ansible-homelab
synced 2024-11-01 16:43:09 +01:00
Clean up
This commit is contained in:
parent
0659e51b09
commit
17ebacd5da
@ -1,159 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Setup homelab basics for Debian/Ubuntu systems
|
|
||||||
hosts: homelab
|
|
||||||
tasks:
|
|
||||||
- name: Update cache and all packages
|
|
||||||
register: updatesys
|
|
||||||
ansible.builtin.apt:
|
|
||||||
upgrade: dist
|
|
||||||
update_cache: true
|
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Display the last line of the previous task to check the stats
|
|
||||||
ansible.builtin.debug:
|
|
||||||
msg: "{{updatesys.stdout_lines|last}}"
|
|
||||||
|
|
||||||
- name: Install basic packages
|
|
||||||
ansible.builtin.apt:
|
|
||||||
update_cache: true
|
|
||||||
name:
|
|
||||||
- apt-file
|
|
||||||
- apt-listchanges
|
|
||||||
- apt-utils
|
|
||||||
- atop
|
|
||||||
- autoconf
|
|
||||||
- automake
|
|
||||||
- bat
|
|
||||||
- build-essential
|
|
||||||
- byobu
|
|
||||||
- cmake
|
|
||||||
- curl
|
|
||||||
- firewalld
|
|
||||||
- git
|
|
||||||
- htop
|
|
||||||
- jc
|
|
||||||
- jq
|
|
||||||
- less
|
|
||||||
- man-db
|
|
||||||
- manpages
|
|
||||||
- nfs-common
|
|
||||||
- pipx
|
|
||||||
- python3-dev
|
|
||||||
- python3-pip
|
|
||||||
- rclone
|
|
||||||
- rsync
|
|
||||||
- unattended-upgrades
|
|
||||||
- vim
|
|
||||||
- wget
|
|
||||||
- zsh
|
|
||||||
state: present
|
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Ensure systemd-logind is unmasked
|
|
||||||
ansible.builtin.systemd_service:
|
|
||||||
name: systemd-logind
|
|
||||||
enabled: true
|
|
||||||
masked: no
|
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Ensure systemd-networkd is enabled
|
|
||||||
ansible.builtin.systemd_service:
|
|
||||||
name: systemd-networkd
|
|
||||||
enabled: true
|
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Ensure NetworkManager is disabled
|
|
||||||
ansible.builtin.systemd_service:
|
|
||||||
name: NetworkManager
|
|
||||||
enabled: false
|
|
||||||
state: stopped
|
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Ensure man-db.timer is enabled
|
|
||||||
ansible.builtin.systemd_service:
|
|
||||||
name: man-db.timer
|
|
||||||
enabled: true
|
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Disable apt downloading translations
|
|
||||||
ansible.builtin.lineinfile:
|
|
||||||
path: /etc/apt/apt.conf.d/99translations
|
|
||||||
create: true
|
|
||||||
line: 'Acquire::Languages "none";'
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
mode: "0644"
|
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Copy 20auto-upgrades
|
|
||||||
ansible.builtin.copy:
|
|
||||||
src: etc/apt/apt.conf.d/20auto-upgrades
|
|
||||||
dest: /etc/apt/apt.conf.d/20auto-upgrades
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
mode: "0644"
|
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Copy 50unattended-upgrades
|
|
||||||
ansible.builtin.copy:
|
|
||||||
src: etc/apt/apt.conf.d/50unattended-upgrades
|
|
||||||
dest: /etc/apt/apt.conf.d/50unattended-upgrades
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
mode: "0644"
|
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Ensure unattended-upgrades is enabled
|
|
||||||
ansible.builtin.systemd_service:
|
|
||||||
name: unattended-upgrades
|
|
||||||
enabled: true
|
|
||||||
state: started
|
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Set the shell to zsh for user
|
|
||||||
ansible.builtin.user:
|
|
||||||
name: "{{ ansible_user }}"
|
|
||||||
shell: /usr/bin/zsh
|
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Ensure glances systemd unit is in place for user
|
|
||||||
ansible.builtin.blockinfile:
|
|
||||||
path: "{{ ansible_user_dir }}/.config/systemd/user/glances.service"
|
|
||||||
create: true
|
|
||||||
state: present
|
|
||||||
block: |
|
|
||||||
[Unit]
|
|
||||||
Description=Glances
|
|
||||||
After=network.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
ExecStart={{ ansible_user_dir }}/.local/bin/glances -s
|
|
||||||
Restart=always
|
|
||||||
RemainAfterExit=no
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=default.target
|
|
||||||
owner: "{{ ansible_user }}"
|
|
||||||
group: "{{ ansible_user }}"
|
|
||||||
mode: "0644"
|
|
||||||
|
|
||||||
- name: Check if reboot is required
|
|
||||||
ansible.builtin.stat:
|
|
||||||
path: /var/run/reboot-required
|
|
||||||
register: reboot_required
|
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Set is_reboot_required fact
|
|
||||||
ansible.builtin.set_fact:
|
|
||||||
is_reboot_required: "{{ True if reboot_required.stat.exists else False }}"
|
|
||||||
|
|
||||||
- name: Reboot is needed
|
|
||||||
ansible.builtin.reboot:
|
|
||||||
reboot_timeout: 120
|
|
||||||
when: is_reboot_required | bool
|
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Post-reboot confirmation
|
|
||||||
ansible.builtin.debug:
|
|
||||||
msg: "{{ ansible_host }} is now back up and running"
|
|
||||||
when: is_reboot_required | bool
|
|
24
debian-update.yml
Normal file
24
debian-update.yml
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
---
|
||||||
|
- hosts: all
|
||||||
|
gather_facts: true
|
||||||
|
become: true
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
- name: Perform a dist-upgrade
|
||||||
|
ansible.builtin.apt:
|
||||||
|
upgrade: dist
|
||||||
|
update_cache: true
|
||||||
|
|
||||||
|
- name: Check if reboot is required
|
||||||
|
ansible.builtin.stat:
|
||||||
|
path: /var/run/reboot-required
|
||||||
|
get_checksum: false
|
||||||
|
register: reboot_required_file
|
||||||
|
|
||||||
|
- name: Reboot the server (if required)
|
||||||
|
ansible.builtin.reboot:
|
||||||
|
when: reboot_required_file.stat.exists == true
|
||||||
|
|
||||||
|
- name: Remove dependencies that are no longer required
|
||||||
|
ansible.builtin.apt:
|
||||||
|
autoremove: true
|
@ -1,186 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Provision a Debian server on a virtual machine
|
|
||||||
hosts: vms
|
|
||||||
become: true
|
|
||||||
tasks:
|
|
||||||
- name: Configure APT sources
|
|
||||||
ansible.builtin.blockinfile:
|
|
||||||
path: /etc/apt/sources.list
|
|
||||||
block: |
|
|
||||||
deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
|
|
||||||
deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
|
|
||||||
deb http://deb.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
mode: "0644"
|
|
||||||
|
|
||||||
- name: Disable apt downloading translations
|
|
||||||
ansible.builtin.lineinfile:
|
|
||||||
path: /etc/apt/apt.conf.d/99translations
|
|
||||||
create: true
|
|
||||||
line: 'Acquire::Languages "none";'
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
mode: "0644"
|
|
||||||
|
|
||||||
- name: Update cache and all packages
|
|
||||||
register: updatesys
|
|
||||||
ansible.builtin.apt:
|
|
||||||
upgrade: dist
|
|
||||||
update_cache: true
|
|
||||||
|
|
||||||
- name: Display the last line of the previous task to check the stats
|
|
||||||
ansible.builtin.debug:
|
|
||||||
msg: "{{updatesys.stdout_lines|last}}"
|
|
||||||
|
|
||||||
- name: Install basic packages
|
|
||||||
ansible.builtin.apt:
|
|
||||||
update_cache: true
|
|
||||||
name:
|
|
||||||
- apt-file
|
|
||||||
- apt-listchanges
|
|
||||||
- apt-utils
|
|
||||||
- atop
|
|
||||||
- autoconf
|
|
||||||
- automake
|
|
||||||
- bat
|
|
||||||
- build-essential
|
|
||||||
- byobu
|
|
||||||
- cmake
|
|
||||||
- curl
|
|
||||||
- firewalld
|
|
||||||
- git
|
|
||||||
- htop
|
|
||||||
- jc
|
|
||||||
- jq
|
|
||||||
- less
|
|
||||||
- man-db
|
|
||||||
- manpages
|
|
||||||
- pipx
|
|
||||||
- python3-dev
|
|
||||||
- python3-pip
|
|
||||||
- rclone
|
|
||||||
- rsync
|
|
||||||
- sudo
|
|
||||||
- systemd-resolved
|
|
||||||
- unattended-upgrades
|
|
||||||
- vim
|
|
||||||
- wget
|
|
||||||
- zsh
|
|
||||||
state: present
|
|
||||||
|
|
||||||
- name: Ensure man-db.timer is enabled
|
|
||||||
ansible.builtin.systemd_service:
|
|
||||||
name: man-db.timer
|
|
||||||
enabled: true
|
|
||||||
|
|
||||||
- name: Copy 20auto-upgrades
|
|
||||||
ansible.builtin.copy:
|
|
||||||
src: etc/apt/apt.conf.d/20auto-upgrades
|
|
||||||
dest: /etc/apt/apt.conf.d/20auto-upgrades
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
mode: "0644"
|
|
||||||
|
|
||||||
- name: Copy 50unattended-upgrades
|
|
||||||
ansible.builtin.copy:
|
|
||||||
src: etc/apt/apt.conf.d/50unattended-upgrades
|
|
||||||
dest: /etc/apt/apt.conf.d/50unattended-upgrades
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
mode: "0644"
|
|
||||||
|
|
||||||
- name: Ensure unattended-upgrades is enabled
|
|
||||||
ansible.builtin.systemd_service:
|
|
||||||
name: unattended-upgrades
|
|
||||||
enabled: true
|
|
||||||
state: started
|
|
||||||
|
|
||||||
- name: Ensure firewalld is enabled
|
|
||||||
ansible.builtin.systemd_service:
|
|
||||||
name: firewalld
|
|
||||||
enabled: true
|
|
||||||
state: started
|
|
||||||
|
|
||||||
- name: Ensure sudo no password privileges for the user 'jas'
|
|
||||||
ansible.builtin.lineinfile:
|
|
||||||
path: /etc/sudoers.d/jas
|
|
||||||
create: true
|
|
||||||
state: present
|
|
||||||
line: "jas ALL=(ALL) NOPASSWD: ALL"
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
mode: "0640"
|
|
||||||
validate: /usr/sbin/visudo -csf %s
|
|
||||||
|
|
||||||
- name: Ensure the shell is set to zsh for user
|
|
||||||
ansible.builtin.user:
|
|
||||||
name: jas
|
|
||||||
shell: /usr/bin/zsh
|
|
||||||
|
|
||||||
- name: Ensure ethernet interface is configured for systemd-networkd
|
|
||||||
ansible.builtin.blockinfile:
|
|
||||||
path: /etc/systemd/network/ens3.network
|
|
||||||
create: true
|
|
||||||
state: present
|
|
||||||
block: |
|
|
||||||
[Match]
|
|
||||||
Name=ens3
|
|
||||||
|
|
||||||
[Network]
|
|
||||||
DHCP=yes
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
mode: "0644"
|
|
||||||
|
|
||||||
- name: Ensure systemd-networkd is enabled
|
|
||||||
ansible.builtin.systemd_service:
|
|
||||||
name: systemd-networkd
|
|
||||||
enabled: true
|
|
||||||
|
|
||||||
- name: Ensure systemd-resolved is enabled
|
|
||||||
ansible.builtin.systemd_service:
|
|
||||||
name: systemd-resolved
|
|
||||||
enabled: true
|
|
||||||
|
|
||||||
- name: Ensure default network.service is disabled
|
|
||||||
ansible.builtin.systemd_service:
|
|
||||||
name: networking
|
|
||||||
enabled: false
|
|
||||||
|
|
||||||
- name: Ensure glances systemd unit is in place for user
|
|
||||||
ansible.builtin.blockinfile:
|
|
||||||
path: /home/jas/.config/systemd/user/glances.service
|
|
||||||
create: true
|
|
||||||
state: present
|
|
||||||
block: |
|
|
||||||
[Unit]
|
|
||||||
Description=Glances
|
|
||||||
After=network.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
ExecStart=/home/jas/.local/bin/glances -s
|
|
||||||
Restart=always
|
|
||||||
RemainAfterExit=no
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=default.target
|
|
||||||
owner: jas
|
|
||||||
group: jas
|
|
||||||
mode: "0644"
|
|
||||||
|
|
||||||
- name: Ensure empty .zshrc is in place for user
|
|
||||||
ansible.builtin.file:
|
|
||||||
path: /home/jas/.zshrc
|
|
||||||
state: touch
|
|
||||||
owner: jas
|
|
||||||
group: jas
|
|
||||||
mode: "0644"
|
|
||||||
|
|
||||||
- name: Reboot the system
|
|
||||||
ansible.builtin.reboot:
|
|
||||||
reboot_timeout: 120
|
|
||||||
|
|
||||||
- name: Post-reboot confirmation
|
|
||||||
ansible.builtin.debug:
|
|
||||||
msg: "{{ ansible_host }} is now back up and running"
|
|
@ -1,150 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Provision a Debian server on a remote VPS
|
|
||||||
hosts: remotes
|
|
||||||
become: true
|
|
||||||
tasks:
|
|
||||||
- name: Update cache and all packages
|
|
||||||
register: updatesys
|
|
||||||
ansible.builtin.apt:
|
|
||||||
upgrade: dist
|
|
||||||
update_cache: true
|
|
||||||
|
|
||||||
- name: Display the last line of the previous task to check the stats
|
|
||||||
ansible.builtin.debug:
|
|
||||||
msg: "{{updatesys.stdout_lines|last}}"
|
|
||||||
|
|
||||||
- name: Install basic packages
|
|
||||||
ansible.builtin.apt:
|
|
||||||
update_cache: true
|
|
||||||
name:
|
|
||||||
- apt-file
|
|
||||||
- apt-listchanges
|
|
||||||
- apt-utils
|
|
||||||
- bat
|
|
||||||
- curl
|
|
||||||
- fail2ban
|
|
||||||
- firewalld
|
|
||||||
- git
|
|
||||||
- htop
|
|
||||||
- jc
|
|
||||||
- jq
|
|
||||||
- less
|
|
||||||
- man-db
|
|
||||||
- manpages
|
|
||||||
- pipx
|
|
||||||
- python3-dev
|
|
||||||
- python3-pip
|
|
||||||
- rsync
|
|
||||||
- unattended-upgrades
|
|
||||||
- vim
|
|
||||||
- wget
|
|
||||||
state: present
|
|
||||||
|
|
||||||
- name: Ensure man-db.timer is enabled
|
|
||||||
ansible.builtin.systemd_service:
|
|
||||||
name: man-db.timer
|
|
||||||
enabled: true
|
|
||||||
|
|
||||||
- name: Disable apt downloading translations
|
|
||||||
ansible.builtin.lineinfile:
|
|
||||||
path: /etc/apt/apt.conf.d/99translations
|
|
||||||
create: true
|
|
||||||
line: 'Acquire::Languages "none";'
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
mode: "0644"
|
|
||||||
|
|
||||||
- name: Copy 20auto-upgrades
|
|
||||||
ansible.builtin.copy:
|
|
||||||
src: etc/apt/apt.conf.d/20auto-upgrades
|
|
||||||
dest: /etc/apt/apt.conf.d/20auto-upgrades
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
mode: "0644"
|
|
||||||
|
|
||||||
- name: Copy 50unattended-upgrades
|
|
||||||
ansible.builtin.copy:
|
|
||||||
src: etc/apt/apt.conf.d/50unattended-upgrades
|
|
||||||
dest: /etc/apt/apt.conf.d/50unattended-upgrades
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
mode: "0644"
|
|
||||||
|
|
||||||
- name: Ensure unattended-upgrades is enabled
|
|
||||||
ansible.builtin.systemd_service:
|
|
||||||
name: unattended-upgrades
|
|
||||||
enabled: true
|
|
||||||
state: started
|
|
||||||
|
|
||||||
- name: Ensure /var/log/auth.log exists for fail2ban
|
|
||||||
ansible.builtin.file:
|
|
||||||
path: /var/log/auth.log
|
|
||||||
state: touch
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
mode: "0644"
|
|
||||||
|
|
||||||
- name: Ensure fail2ban is enabled
|
|
||||||
ansible.builtin.systemd_service:
|
|
||||||
name: fail2ban
|
|
||||||
enabled: true
|
|
||||||
state: started
|
|
||||||
|
|
||||||
- name: Ensure firewalld is enabled
|
|
||||||
ansible.builtin.systemd_service:
|
|
||||||
name: firewalld
|
|
||||||
enabled: true
|
|
||||||
state: started
|
|
||||||
|
|
||||||
- name: Ensure the user 'jas' exists
|
|
||||||
ansible.builtin.user:
|
|
||||||
name: jas
|
|
||||||
shell: /bin/bash
|
|
||||||
create_home: true
|
|
||||||
|
|
||||||
- name: Ensure ~/.ssh exists for the user 'jas'
|
|
||||||
ansible.builtin.file:
|
|
||||||
path: /home/jas/.ssh
|
|
||||||
state: directory
|
|
||||||
owner: jas
|
|
||||||
group: jas
|
|
||||||
mode: "0700"
|
|
||||||
|
|
||||||
- name: Ensure SSH authorized key exists for the user 'jas'
|
|
||||||
ansible.builtin.copy:
|
|
||||||
src: /root/.ssh/authorized_keys
|
|
||||||
remote_src: true
|
|
||||||
dest: /home/jas/.ssh/authorized_keys
|
|
||||||
owner: jas
|
|
||||||
group: jas
|
|
||||||
mode: "0600"
|
|
||||||
|
|
||||||
- name: Ensure sudo no password privileges for the user 'jas'
|
|
||||||
ansible.builtin.lineinfile:
|
|
||||||
path: /etc/sudoers.d/jas
|
|
||||||
create: true
|
|
||||||
state: present
|
|
||||||
line: "jas ALL=(ALL) NOPASSWD: ALL"
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
mode: "0640"
|
|
||||||
validate: /usr/sbin/visudo -csf %s
|
|
||||||
|
|
||||||
- name: Check if reboot is required
|
|
||||||
ansible.builtin.stat:
|
|
||||||
path: /var/run/reboot-required
|
|
||||||
register: reboot_required
|
|
||||||
|
|
||||||
- name: Set is_reboot_required fact
|
|
||||||
ansible.builtin.set_fact:
|
|
||||||
is_reboot_required: "{{ True if reboot_required.stat.exists else False }}"
|
|
||||||
|
|
||||||
- name: Reboot is needed
|
|
||||||
ansible.builtin.reboot:
|
|
||||||
reboot_timeout: 120
|
|
||||||
when: is_reboot_required | bool
|
|
||||||
|
|
||||||
- name: Post-reboot confirmation
|
|
||||||
ansible.builtin.debug:
|
|
||||||
msg: "{{ ansible_host }} is now back up and running"
|
|
||||||
when: is_reboot_required | bool
|
|
@ -1,2 +0,0 @@
|
|||||||
APT::Periodic::Update-Package-Lists "1";
|
|
||||||
APT::Periodic::Unattended-Upgrade "1";
|
|
@ -1,164 +0,0 @@
|
|||||||
// Unattended-Upgrade::Origins-Pattern controls which packages are
|
|
||||||
// upgraded.
|
|
||||||
//
|
|
||||||
// Lines below have the format "keyword=value,...". A
|
|
||||||
// package will be upgraded only if the values in its metadata match
|
|
||||||
// all the supplied keywords in a line. (In other words, omitted
|
|
||||||
// keywords are wild cards.) The keywords originate from the Release
|
|
||||||
// file, but several aliases are accepted. The accepted keywords are:
|
|
||||||
// a,archive,suite (eg, "stable")
|
|
||||||
// c,component (eg, "main", "contrib", "non-free")
|
|
||||||
// l,label (eg, "Debian", "Debian-Security")
|
|
||||||
// o,origin (eg, "Debian", "Unofficial Multimedia Packages")
|
|
||||||
// n,codename (eg, "jessie", "jessie-updates")
|
|
||||||
// site (eg, "http.debian.net")
|
|
||||||
// The available values on the system are printed by the command
|
|
||||||
// "apt-cache policy", and can be debugged by running
|
|
||||||
// "unattended-upgrades -d" and looking at the log file.
|
|
||||||
//
|
|
||||||
// Within lines unattended-upgrades allows 2 macros whose values are
|
|
||||||
// derived from /etc/debian_version:
|
|
||||||
// ${distro_id} Installed origin.
|
|
||||||
// ${distro_codename} Installed codename (eg, "buster")
|
|
||||||
Unattended-Upgrade::Origins-Pattern {
|
|
||||||
// Codename based matching:
|
|
||||||
// This will follow the migration of a release through different
|
|
||||||
// archives (e.g. from testing to stable and later oldstable).
|
|
||||||
// Software will be the latest available for the named release,
|
|
||||||
// but the Debian release itself will not be automatically upgraded.
|
|
||||||
"origin=Debian,codename=${distro_codename}-updates";
|
|
||||||
"origin=Debian,codename=${distro_codename}-proposed-updates";
|
|
||||||
"origin=Debian,codename=${distro_codename},label=Debian";
|
|
||||||
"origin=Debian,codename=${distro_codename},label=Debian-Security";
|
|
||||||
"origin=Debian,codename=${distro_codename}-security,label=Debian-Security";
|
|
||||||
|
|
||||||
// Archive or Suite based matching:
|
|
||||||
// Note that this will silently match a different release after
|
|
||||||
// migration to the specified archive (e.g. testing becomes the
|
|
||||||
// new stable).
|
|
||||||
// "o=Debian,a=stable";
|
|
||||||
// "o=Debian,a=stable-updates";
|
|
||||||
// "o=Debian,a=proposed-updates";
|
|
||||||
// "o=Debian Backports,a=${distro_codename}-backports,l=Debian Backports";
|
|
||||||
};
|
|
||||||
|
|
||||||
// Python regular expressions, matching packages to exclude from upgrading
|
|
||||||
Unattended-Upgrade::Package-Blacklist {
|
|
||||||
// The following matches all packages starting with linux-
|
|
||||||
// "linux-";
|
|
||||||
|
|
||||||
// Use $ to explicitely define the end of a package name. Without
|
|
||||||
// the $, "libc6" would match all of them.
|
|
||||||
// "libc6$";
|
|
||||||
// "libc6-dev$";
|
|
||||||
// "libc6-i686$";
|
|
||||||
|
|
||||||
// Special characters need escaping
|
|
||||||
// "libstdc\+\+6$";
|
|
||||||
|
|
||||||
// The following matches packages like xen-system-amd64, xen-utils-4.1,
|
|
||||||
// xenstore-utils and libxenstore3.0
|
|
||||||
// "(lib)?xen(store)?";
|
|
||||||
|
|
||||||
// For more information about Python regular expressions, see
|
|
||||||
// https://docs.python.org/3/howto/regex.html
|
|
||||||
};
|
|
||||||
|
|
||||||
// This option allows you to control if on a unclean dpkg exit
|
|
||||||
// unattended-upgrades will automatically run
|
|
||||||
// dpkg --force-confold --configure -a
|
|
||||||
// The default is true, to ensure updates keep getting installed
|
|
||||||
//Unattended-Upgrade::AutoFixInterruptedDpkg "true";
|
|
||||||
|
|
||||||
// Split the upgrade into the smallest possible chunks so that
|
|
||||||
// they can be interrupted with SIGTERM. This makes the upgrade
|
|
||||||
// a bit slower but it has the benefit that shutdown while a upgrade
|
|
||||||
// is running is possible (with a small delay)
|
|
||||||
//Unattended-Upgrade::MinimalSteps "true";
|
|
||||||
|
|
||||||
// Install all updates when the machine is shutting down
|
|
||||||
// instead of doing it in the background while the machine is running.
|
|
||||||
// This will (obviously) make shutdown slower.
|
|
||||||
// Unattended-upgrades increases logind's InhibitDelayMaxSec to 30s.
|
|
||||||
// This allows more time for unattended-upgrades to shut down gracefully
|
|
||||||
// or even install a few packages in InstallOnShutdown mode, but is still a
|
|
||||||
// big step back from the 30 minutes allowed for InstallOnShutdown previously.
|
|
||||||
// Users enabling InstallOnShutdown mode are advised to increase
|
|
||||||
// InhibitDelayMaxSec even further, possibly to 30 minutes.
|
|
||||||
//Unattended-Upgrade::InstallOnShutdown "false";
|
|
||||||
|
|
||||||
// Send email to this address for problems or packages upgrades
|
|
||||||
// If empty or unset then no email is sent, make sure that you
|
|
||||||
// have a working mail setup on your system. A package that provides
|
|
||||||
// 'mailx' must be installed. E.g. "user@example.com"
|
|
||||||
Unattended-Upgrade::Mail "hyperreal@fedoraproject.org";
|
|
||||||
|
|
||||||
// Set this value to one of:
|
|
||||||
// "always", "only-on-error" or "on-change"
|
|
||||||
// If this is not set, then any legacy MailOnlyOnError (boolean) value
|
|
||||||
// is used to chose between "only-on-error" and "on-change"
|
|
||||||
Unattended-Upgrade::MailReport "on-change";
|
|
||||||
|
|
||||||
// Remove unused automatically installed kernel-related packages
|
|
||||||
// (kernel images, kernel headers and kernel version locked tools).
|
|
||||||
Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";
|
|
||||||
|
|
||||||
// Do automatic removal of newly unused dependencies after the upgrade
|
|
||||||
Unattended-Upgrade::Remove-New-Unused-Dependencies "true";
|
|
||||||
|
|
||||||
// Do automatic removal of unused packages after the upgrade
|
|
||||||
// (equivalent to apt-get autoremove)
|
|
||||||
//Unattended-Upgrade::Remove-Unused-Dependencies "false";
|
|
||||||
|
|
||||||
// Automatically reboot *WITHOUT CONFIRMATION* if
|
|
||||||
// the file /var/run/reboot-required is found after the upgrade
|
|
||||||
Unattended-Upgrade::Automatic-Reboot "true";
|
|
||||||
|
|
||||||
// Automatically reboot even if there are users currently logged in
|
|
||||||
// when Unattended-Upgrade::Automatic-Reboot is set to true
|
|
||||||
Unattended-Upgrade::Automatic-Reboot-WithUsers "true";
|
|
||||||
|
|
||||||
// If automatic reboot is enabled and needed, reboot at the specific
|
|
||||||
// time instead of immediately
|
|
||||||
// Default: "now"
|
|
||||||
//Unattended-Upgrade::Automatic-Reboot-Time "02:00";
|
|
||||||
|
|
||||||
// Use apt bandwidth limit feature, this example limits the download
|
|
||||||
// speed to 70kb/sec
|
|
||||||
//Acquire::http::Dl-Limit "70";
|
|
||||||
|
|
||||||
// Enable logging to syslog. Default is False
|
|
||||||
// Unattended-Upgrade::SyslogEnable "false";
|
|
||||||
|
|
||||||
// Specify syslog facility. Default is daemon
|
|
||||||
// Unattended-Upgrade::SyslogFacility "daemon";
|
|
||||||
|
|
||||||
// Download and install upgrades only on AC power
|
|
||||||
// (i.e. skip or gracefully stop updates on battery)
|
|
||||||
// Unattended-Upgrade::OnlyOnACPower "true";
|
|
||||||
|
|
||||||
// Download and install upgrades only on non-metered connection
|
|
||||||
// (i.e. skip or gracefully stop updates on a metered connection)
|
|
||||||
// Unattended-Upgrade::Skip-Updates-On-Metered-Connections "true";
|
|
||||||
|
|
||||||
// Verbose logging
|
|
||||||
// Unattended-Upgrade::Verbose "false";
|
|
||||||
|
|
||||||
// Print debugging information both in unattended-upgrades and
|
|
||||||
// in unattended-upgrade-shutdown
|
|
||||||
// Unattended-Upgrade::Debug "false";
|
|
||||||
|
|
||||||
// Allow package downgrade if Pin-Priority exceeds 1000
|
|
||||||
// Unattended-Upgrade::Allow-downgrade "false";
|
|
||||||
|
|
||||||
// When APT fails to mark a package to be upgraded or installed try adjusting
|
|
||||||
// candidates of related packages to help APT's resolver in finding a solution
|
|
||||||
// where the package can be upgraded or installed.
|
|
||||||
// This is a workaround until APT's resolver is fixed to always find a
|
|
||||||
// solution if it exists. (See Debian bug #711128.)
|
|
||||||
// The fallback is enabled by default, except on Debian's sid release because
|
|
||||||
// uninstallable packages are frequent there.
|
|
||||||
// Disabling the fallback speeds up unattended-upgrades when there are
|
|
||||||
// uninstallable packages at the expense of rarely keeping back packages which
|
|
||||||
// could be upgraded or installed.
|
|
||||||
// Unattended-Upgrade::Allow-APT-Mark-Fallback "true";
|
|
@ -1,37 +1,15 @@
|
|||||||
---
|
---
|
||||||
homelab:
|
homelab:
|
||||||
hosts:
|
hosts:
|
||||||
pi0:
|
hyperreal.coffee:
|
||||||
ansible_user: jas
|
ansible_user: jas
|
||||||
ansible_host: 10.0.0.10
|
|
||||||
ansible_python_interpreter: /usr/bin/python3
|
|
||||||
pi1:
|
|
||||||
ansible_user: jas
|
|
||||||
ansible_host: 10.0.0.11
|
|
||||||
ansible_python_interpreter: /usr/bin/python3
|
|
||||||
pi2:
|
|
||||||
ansible_user: jas
|
|
||||||
ansible_host: 10.0.0.12
|
|
||||||
ansible_python_interpreter: /usr/bin/python3
|
|
||||||
|
|
||||||
vps:
|
|
||||||
hosts:
|
|
||||||
bsky:
|
|
||||||
ansible_user: root
|
|
||||||
ansible_host: bsky.hyperreal.coffee
|
|
||||||
ansible_python_interpreter: /usr/bin/python3
|
|
||||||
nirn:
|
|
||||||
ansible_user: root
|
|
||||||
ansible_host: nirn.quest
|
|
||||||
ansible_python_interpreter: /usr/bin/python3
|
|
||||||
hyperreal:
|
|
||||||
ansible_user: root
|
|
||||||
ansible_host: hyperreal.coffee
|
ansible_host: hyperreal.coffee
|
||||||
ansible_python_interpreter: /usr/bin/python3
|
ansible_python_interpreter: /usr/bin/python3
|
||||||
|
aux-vm:
|
||||||
vms:
|
ansible_user: jas
|
||||||
hosts:
|
|
||||||
hyperreal:
|
|
||||||
ansible_user: root
|
|
||||||
ansible_host: 10.0.0.26
|
ansible_host: 10.0.0.26
|
||||||
ansible_python_interpreter: /usr/bin/python3
|
ansible_python_interpreter: /usr/bin/python3
|
||||||
|
box.moonshadow.dev:
|
||||||
|
ansible_user: jas
|
||||||
|
ansible_host: box.moonshadow.dev
|
||||||
|
ansible_python_interpreter: /usr/bin/python3
|
||||||
|
Loading…
Reference in New Issue
Block a user