#!/bin/bash # Copyright (C) 2022-2025 Mike Gabriel # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. if [ $(id -u) -gt 0 ]; then echo "ERROR: This script has to run as super-user root." exit 1 fi if [[ -z "${HOSTNAME}" ]]; then echo "HOSTNAME environment variable is not set... Exiting!" exit 1 fi root_can_ssh_into_puppetserver=true ssh puppetserver -o PasswordAuthentication=no echo "TEST: puppetserver SSH login test successful" 2>/dev/null || { echo "TEST: puppetserver SSH login not successful" root_can_ssh_into_puppetserver=false } itzks-puppet-reset-ssl if [[ "${root_can_ssh_into_puppetserver}" = "true" ]]; then ssh puppetserver itzks-puppetserver-clean-hosts-from-ca "${HOSTNAME}" else echo "ON PUPPETSERVER: please run as root: 'itzks-puppetserver-clean-hosts-from-ca ${HOSTNAME}'" read -p "PRESS ANY KEY WHEN DONE" fi unset http_proxy unset https_proxy puppet agent --test --waitforcert 0 if [[ "${root_can_ssh_into_puppetserver}" = "true" ]]; then ssh puppetserver itzks-puppetserver-autosign-new-host-certificates "${HOSTNAME}" else echo "ON PUPPETSERVER: please run as root: 'itzks-puppetserver-autosign-new-host-certificates ${HOSTNAME}'" read -p "PRESS ANY KEY WHEN DONE" fi puppet agent --test puppet agent --enable systemctl enable puppet systemctl start puppet