Pulp

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Moteur de gestion de dépôts (repository management)
Utilisé par Katello comme backend de dépôts
Dépendances (Pulp 2, historique) MongoDB, RabbitMQ/Qpid + Celery, httpd
Voir aussi Katello · Hammer foreman · Foreman

Pulp est le moteur qui gère les dépôts de paquets (RPM, et d'autres types de contenu selon les plugins) : miroir/synchronisation depuis une source amont, stockage, publication et distribution vers les hôtes clients. Dans l'écosystème Foreman, c'est Katello qui s'appuie sur Pulp pour tout ce qui concerne le contenu — au quotidien, les opérations passent généralement par Hammer foreman ou l'interface Katello plutôt que par Pulp en direct.

Architecture

Note : Les versions Pulp 2 (décrites ci-dessous, historiquement associées aux dépôts RPM/MongoDB/Qpid-RabbitMQ) et Pulp 3 (réécriture s'appuyant sur PostgreSQL et Redis) diffèrent sensiblement. Vérifier la version effectivement utilisée par l'installation Katello avant d'appliquer les commandes ci-dessous.

Sur une installation Pulp 2 classique, la stack comprend :

  • MongoDB — stockage des métadonnées de contenu.
  • RabbitMQ ou Qpid (Qpid) + Celery — bus de tâches asynchrones (synchronisation, publication).
  • httpd — service des dépôts publiés aux clients.

Utilisation en standalone (pulp-admin, Pulp 2)

pulp-admin login -u admin -p '<mot de passe>'

# Création et synchronisation d'un dépôt miroir
pulp-admin rpm repo create --repo-id centos7-x86_64 --feed https://miroir.exemple.org/centos-7-x86_64/
pulp-admin rpm repo sync run --repo-id centos7-x86_64

# Dépôt interne alimenté par upload direct
pulp-admin rpm repo create --repo-id interne-7-x86_64
pulp-admin rpm repo uploads rpm -f mon-paquet.rpm --repo-id interne-7-x86_64
pulp-admin rpm repo publish run --repo-id interne-7-x86_64

Enregistrement d'un consommateur et installation de paquets à distance :

pulp-consumer -u admin register --consumer-id "$HOSTNAME"
pulp-admin rpm consumer bind --repo-id interne-7-x86_64 --consumer-id <consumer_id>
pulp-admin rpm consumer package install run --name <nom_paquet> --consumer-id <consumer_id>
Note : Le CLI pulp-admin ci-dessus correspond à Pulp 2 et n'a de sens qu'en usage standalone (hors Katello). Sur une installation Katello, préférer Hammer pour toutes les opérations de dépôt.

Intégration avec Katello

Quand Pulp est utilisé comme backend de Katello, la synchronisation, la publication et l'affectation de dépôts se pilotent normalement via Hammer (hammer repository synchronize, hammer repository publish...) ou l'UI Katello — voir Hammer foreman pour des exemples concrets. L'accès direct à pulp-admin reste utile pour du diagnostic bas niveau.

Voir aussi

  • Katello — consommateur principal de Pulp dans l'écosystème Foreman
  • Foreman — plateforme d'orchestration globale
  • Hammer foreman — CLI recommandée pour les opérations de contenu au quotidien
  • Qpid — bus de messages historiquement utilisé par Pulp 2