From 80d6b140d56f14767187bc43d515af45a984e403 Mon Sep 17 00:00:00 2001 From: buildplan Date: Tue, 25 Nov 2025 20:55:10 +0000 Subject: [PATCH] prevent hostname overwrites in cloud-init --- du_setup.sh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/du_setup.sh b/du_setup.sh index f65bae8..653067a 100644 --- a/du_setup.sh +++ b/du_setup.sh @@ -3177,9 +3177,15 @@ configure_system() { else print_info "Hostname is already set to $SERVER_NAME." fi - if [[ -f /etc/cloud/cloud.cfg ]]; then + if [[ -d /etc/cloud/cloud.cfg.d ]]; then + print_info "Disabling cloud-init host management via override file..." + # Create the override file to override provider defaults + echo "manage_etc_hosts: false" > /etc/cloud/cloud.cfg.d/99-du-setup-hosts.cfg + echo "preserve_hostname: true" >> /etc/cloud/cloud.cfg.d/99-du-setup-hosts.cfg + log "Created /etc/cloud/cloud.cfg.d/99-du-setup-hosts.cfg to prevent cloud-init reverts." + elif [[ -f /etc/cloud/cloud.cfg ]]; then if grep -q "manage_etc_hosts: true" /etc/cloud/cloud.cfg; then - print_info "Disabling cloud-init 'manage_etc_hosts' to prevent overwrite..." + print_info "Disabling cloud-init 'manage_etc_hosts' in main config..." sed -i 's/manage_etc_hosts: true/manage_etc_hosts: false/g' /etc/cloud/cloud.cfg log "Disabled manage_etc_hosts in /etc/cloud/cloud.cfg" fi