Aller au contenu
Développement medium

Pulp : le gestionnaire d'artefacts 100% open source

8 min de lecture

Logo Pulp

Pulp est un gestionnaire d'artefacts entièrement open source (licence GPL-2.0) qui centralise, met en cache et distribue vos paquets : RPM, DEB, Python, npm, Ansible, images de conteneurs et plus encore. Cette page vous explique ce qu'est Pulp, son modèle de contenu, et pourquoi c'est le concurrent réellement libre de Nexus et Artifactory. Public visé : administrateurs et équipes DevOps qui veulent héberger leurs dépendances sans EULA ni quota. Vous y trouverez le positionnement, le vocabulaire clé et le parcours de prise en main.

Contrairement à Nexus (édition Community sous EULA avec quotas) et Artifactory (produit propriétaire à version gratuite bridée), Pulp est publié sous GPL-2.0 pour le cœur et les plugins, Apache-2.0 pour son interface web. Aucune licence à accepter, aucune limite de composants ou de requêtes : c'est un logiciel libre au sens strict, gouverné par une communauté ouverte.

  • Comprendre le rôle et le modèle de contenu de Pulp.
  • Distinguer les notions de remote, repository, publication et distribution.
  • Situer Pulp face à Nexus et Artifactory (licence, formats, sécurité).
  • Repérer les formats d'artefacts pris en charge par les plugins.

Pulp est une plateforme de gestion d'artefacts articulée autour d'un noyau, pulpcore, et de plugins spécialisés par format. Vous n'installez pas un dépôt figé : vous activez les plugins dont vous avez besoin (pulp_rpm, pulp_deb, pulp_python, pulp_container, pulp_ansible, pulp_npm, pulp_maven...), et chacun apporte le savoir-faire d'un type de contenu.

Un gestionnaire d'artefacts sert de point unique entre les dépôts publics (PyPI, Docker Hub, un miroir RPM) et vos machines : il met en cache ce que vous téléchargez, héberge vos paquets internes, et expose le tout via des URLs stables pour vos pipelines. Résultat : des builds plus rapides, une provenance maîtrisée et une indépendance vis-à-vis des dépôts publics.

Le modèle de contenu : le vocabulaire à connaître

Section intitulée « Le modèle de contenu : le vocabulaire à connaître »

Pulp ne raisonne pas en « dépôts » monolithiques comme Nexus. Il découpe le cycle de vie d'un artefact en quatre objets, ce qui déroute au début mais offre un versionnement immuable et une grande souplesse.

ObjetRôleAnalogie
RemoteDécrit une source distante à synchroniser (URL, filtres, politique)La commande de réappro chez un fournisseur
RepositoryContient les artefacts ; chaque changement crée une version immuableL'entrepôt et son historique d'inventaire
PublicationFige une version du dépôt dans un format consommable (index, métadonnées)Le catalogue imprimé d'un état de stock
DistributionExpose une publication à une URL stableLa vitrine où le client vient se servir

Cette séparation permet de revenir en arrière instantanément (une distribution pointe vers une autre version) et de publier plusieurs vues d'un même dépôt sans dupliquer les fichiers.

Les trois outils font le même métier : centraliser des artefacts multi-formats pour la CI/CD. Le choix se joue sur la licence, la couverture de formats et le modèle de sécurité.

CritèrePulpNexusArtifactory
LicenceGPL-2.0 / Apache-2.0 (libre)Community sous EULA + quotasPropriétaire (gratuit bridé)
FormatsRPM, DEB, Python, npm, Ansible, conteneurs, Maven, gem, OSTree...LargeLarge
Proxy / cacheOui (remotes + pull-through)OuiOui
RBACFin (rôles par plugin)Selon éditionSelon édition
InterfaceAPI REST + CLI + UI (jeune)UI complèteUI complète
ModèleRemote / Repository / Publication / DistributionDépôts (proxy/hosted/group)Dépôts (local/remote/virtual)

Le point décisif : si l'indépendance logicielle et l'absence de licence commerciale comptent (secteur public, souveraineté, homelab, budget contraint), Pulp est le seul des trois à être réellement libre. En contrepartie, son interface graphique reste jeune et son modèle de contenu demande un temps d'adaptation ; la CLI pulp et l'API REST sont la porte d'entrée principale.

Chaque format est un plugin. L'image officielle pulp/pulp les active presque tous d'emblée, ce qui permet d'héberger dans une même instance vos paquets système, vos bibliothèques applicatives et vos images de conteneurs.

  • Système : pulp_rpm (RPM/YUM/DNF), pulp_deb (APT), pulp_ostree.
  • Développement : pulp_python (PyPI), pulp_npm (npm), pulp_maven (Java), pulp_gem (Ruby).
  • DevOps : pulp_container (registre OCI/Docker), pulp_ansible (collections et rôles).
  • Fichiers bruts : pulp_file pour n'importe quel artefact binaire.

Cette couverture multi-formats dans un seul outil est exactement ce qui positionne Pulp comme un concurrent sérieux de Nexus et Artifactory, sans leurs contraintes de licence.

Le parcours ci-dessous vous fait passer de l'installation à un dépôt sécurisé, chaque étape s'appuyant sur un lab reproductible.

  • Pulp est un gestionnaire d'artefacts 100% open source (GPL-2.0 / Apache-2.0), sans EULA ni quota.
  • Son architecture repose sur un noyau pulpcore et des plugins par format (RPM, DEB, Python, conteneurs...).
  • Le modèle de contenu Remote → Repository → Publication → Distribution apporte un versionnement immuable et des retours arrière instantanés.
  • Face à Nexus (EULA + quotas) et Artifactory (propriétaire), Pulp est le choix de l'indépendance logicielle.
  • Il n'a pas de quarantaine CVE native : la sécurité se construit avec un scanner comme Trivy et le RBAC.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracking. Un soutien, même symbolique, m'aide à couvrir l'hébergement et à garder ces ressources gratuites. Merci pour votre appui.

Le formulaire ne s'affiche pas ? Ouvrir Ko-fi dans un onglet.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn