Runecast Analyzer permet de prendre le contrôle total de votre infrastructure SDDC VMware et Amazon Web Service . Il aide à prévenir les pannes, à réduire les risques de sécurité et à accroître la conformité en éliminant tous les risques de configuration et de sécurité.
Récemment Runecast a posté un billet expliquant comment créer son propre repository pour les mises à jour.
Runecast dispose de deux repositories de mise à jour :
- un pour les mises à jour de l'appliance (celui proposé par le billet de Runecast)
- un pour les mises à jour des définitions du moteur d'analyse.
Commencer par installer les paquets nécessaires et à configurer mirror.list
sudo apt updates
sudo apt install nginx mailutils apt-mirror
sudo mv /etc/apt/mirror.list "/etc/apt/mirror.list.$(mktemp -u XXXXXXXXX)
Créer le fichier /etc/apt/mirror.list
comme suit :
sudo bash -c 'cat << EOF > /etc/apt/mirror.list
############# config ##################
#
set base_path /var/spool/apt-mirror
#
# set mirror_path \$base_path/mirror
# set skel_path \$base_path/skel
# set var_path \$base_path/var
# set cleanscript \$var_path/clean.sh
# set defaultarch <running host architecture>
# set postmirror_script \$var_path/postmirror.sh
set run_postmirror 0
set nthreads 20
set _tilde 0
#
############# end config ##############
deb https://updates.runecast.com/runecast-analyzer-vmware /
clean https://updates.runecast.com/runecast-analyzer-vmware
EOF'
Créer le répertoire de repository
mkdir -p /var/www/updates-runecast/definitions
Lancer manuellement la synchronisation
sudo -u apt-mirror apt-mirror
Créer le lien vers le site du repository
sudo ln -s /var/spool/apt-mirror/mirror/updates.runecast.com/ /var/www/updates-runecast/
Configurer un virtualhost dans nginx /etc/nginx/sites-available/runecast.conf
server {
server_name <your FQDN here>;
root /var/www/updates-runecast;
autoindex off;
autoindex_format html;
access_log /var/log/nginx/runecast-access.log combined;
error_log /var/log/nginx/runecast-error.log;
listen *:80;
}
Redemarrer nginx
sudo systemctl restart nginx
Configurer le SSL avec Let's Encrypt
sudo certbot --nginx -d <your FQDN here> --agree-tos -m <your email here> -n --redirect
Configurer la crontab pour mettre à jour le repository tous les jours
Ajouter le fichier /etc/cron.d/runecast.cron
0 4 * * * apt-mirror apt-mirror
Voilà ce que propose le billet du blog Runecast.
Il vous suffit de modifier la configuration de votre appliance Runecast Analyzer comme suit
J'ai décidé de créer un script pour automatiser le déploiement et ajouter aussi le repository des définitions
Extrait de mon script de mise à jour :
curl -s https://updates.runecast.com/definitions/version.txt -o /tmp/$TEMP
if ! cmp -s "$Root/definitions/version.txt" "/tmp/$TEMP"; then
# Get Definition update
sudo curl -s https://updates.runecast.com/definitions/kbupdates.bin -o $Root/definitions/kbupdates.bin
# Get New version.txt file
sudo curl -s https://updates.runecast.com/definitions/version.txt -o $Root/definitions/version.txt
# Mail=true
if [ $Mail ]; then
mail -r $From -s "New Runecast definition" $To < $Root/definitions/version.txt
fi
fi
rm /tmp/$TEMP
Et ainsi on peut modifier l'appliance Runecast pour aussi aller chercher les définitions sur le nouveau repository