Ce rôle est chargé de mettre en place les composants communs :

  • Prérequis logiciels de base
  • Dépôt de logiciel
  • Certificats et clés privés pour les applications
  • Fuseau horaire

Tags internes

  • packages : Installation et configuration des packages ;
  • certificates : Mise en place de la structure et copie des certificats ;
  • timezone : Ajustement du fuseau horaire ;

Variables à fournir

Variable Type Requis Défaut Description
apt_repositories Liste d’objets repository Non Liste vide Dépôts de logiciels à activer
apt_keys Liste d’objets key Non Liste vide Clés publiques des dépôts ajoutés
apt_pinning Liste d’objets pin Non Liste vide Configuration des priorités des paquets
deploy_certificates Liste d’objets cert Non Liste vide Certificats à copier
certificates_resources_path Chemin Non Chaîne vide Dossier, relatif au playbook sous lequel sont les ressources
certificate_repository Objet paths Oui Emplacement de dépôt des certificats et clés privées
timezone_area Segment de chemin Non Chaîne vide Région du fuseau horaire
timezone_locality Segment de chemin Non Chaîne vide Emplacement (ville) du fuseau horaire

Type repository

Propriété Type Requis Défaut Description
name Identifiant Oui Nom du dépôt
source Texte Oui Chaîne de référence au dépôt (deb …)

Type key

Propriété Type Requis Défaut Description
name Identifiant Oui Nom de la clé
id Identifiant Oui Identifiant de la clé, pour vérifier sa présence
keyring Chemin Oui Non du fichier keyring de destination
src Chemin Fichier source de la clé publique, sous gpg_pub de certificates_resources_path, au format texte
url URL Adresse de téléchargement de la clé publique

L’un de src ou url doit être présent.

Pour récupérer l’identifiant public d’une clé : apt-key --keyring fichier adv --list-public-keys --keyid-format=long.

Type pin

Propriété Type Requis Défaut Description
name Texte Oui Nom du paquet à prioriser
pin Texte Oui Règle d’épinglage
priority Entier Oui Valeur de la priorité

Consulter apt-pinning pour plus d’informations. Utiliser apt policy pour visualiser les différents dépôts et les critères pour l’épinglage.

Type cert

Propriété Type Requis Défaut Description
file Chemin Oui Nom du fichier certificat et de clé privée, respectivements sous certificates et private_keys dans certificates_resources_path
hasKey Booléen Non Faux Une clé privée existe pour le certificat
password Texte Non Chaîne vide Mot de passe de la clé privée si nécessaire

Type paths

Propriété Type Requis Défaut Description
root Chemin Oui Chemin sur la cible parent des trois autres chemins
certs Chemin Oui Chemin sur la cible où sont copiés les certificats
private_keys Chemin Oui Chemin sur la cible où sont copiées les clés privées
bundles Chemin Oui Chemin sur la cible où sont copiés les certificats des autorités intermédiaires

Arborescence des ressources externes

Le role utilise des ressources externes dont les chemins sont préfixés par certificates_resources_path. Les dossiers attendus sont :

  • authority : Certificats des autorités intermédiaires ;
  • certificates : Certificats ;
  • gpg_pub : Clé publiques de dépôts ;
  • private_keys : Clés privées des certificats ;

Variables fixées

Variable Type Description
install_packages Liste de chaînes Liste des paquets système à installer
install_packages_first Liste de chaînes Liste des paquets système à installer en avance

Logiciels (paquets) de base installés

Avant toute opération, ces paquets sont installés :

  • apt_transport-https
  • ca-certificates
  • debian-archive-keyring

Ces paquets sont installés :

  • rsync
  • sudo
  • debconf-utils
  • screen
  • acl
  • less
  • man
  • python[3]-openssl
  • openssl

Fuseaux horaires

Les valeurs admises pour configurer le fuseau horaire doivent résoudre à un fichier valide dans /usr/share/zoneinfo/{{timezone_area}}/{{timezone_locality}}. Aucune action n’est effectué si au moins une des valeurs est vide ou si le fichier n’existe pas.