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

Retrouver toutes les infos sur mon github  

JMousqueton/Runecast-Repository
Guide and script to host your own repository for Runecast Analyzer - JMousqueton/Runecast-Repository