debian.ansible.basics/install.sh
2024-09-29 19:45:29 +02:00

43 lines
1.3 KiB
Bash

#!/bin/bash
set -e
# on fresh install remove cdrom-repo and install sudo if not available
[ -s /usr/bin/sudo ] || su -c "sed -i '/cdrom/d' /etc/apt/sources.list ; apt update ; apt -y install sudo"
# add user to sudo group it not
if ! id | grep -q '(sudo)'
then
su -c "/usr/sbin/usermod -a -G sudo ${USER}"
# use sudo group and restart this script
exec sg sudo -c "bash $0"
exit $?
fi
apt-get update
which ansible >/dev/null 2>&1 || sudo apt-get -y install ansible git
#sudo ansible-galaxy collection list | grep -q community.general || sudo ansible-galaxy collection install community.general
sudo ansible-galaxy collection install community.general
cd
rm -rf $(hostname -s)-git
mkdir $(hostname -s)-git
cd $(hostname -s)-git
for playbook in $PLAYBOOKS
do
if [ -z "${GITSRVURL}" ]
then
git clone https://gitea.ds9.dedyn.io/olli/${playbook}.git
else
git clone ${GITSRVURL}/${playbook}.git
fi
[ -s /etc/dohardening ] || rm -f ${playbook}/hardening.yml
if ls ${playbook}/*ansible*.yml >/dev/null 2>&1
then
sudo ansible-playbook --connection=local --inventory $(hostname), --limit $(hostname) ${playbook}/*ansible*.yml
else
sudo ansible-playbook --connection=local --inventory $(hostname), --limit $(hostname) ${playbook}/*.yml
fi
done