What is Pulp?
Pulp is a platform for managing repositories of content, such as software packages, and making it available to a large numbers of consumers. If you want to locally mirror all or part of a repository, host your own content in a new repository, and manage many types of content from multiple sources in one place, Pulp is for you!
Pulp has a well-documented REST API and command line interface for management.
Pulp is completely free and open-source, and we invite you to join us on GitHub!
With Pulp Server, you can…
- Pull in content from existing repositories to the Pulp server. Do it manually one-time-only or on a recurring schedule.
- Upload new content to the Pulp server.
- Mix and match uploaded and imported content to create new repositories, then publish and host them with Pulp.
- Publish your content as a web-based repository, to a series of ISOs, or in any other way that meets your needs.
Today, Pulp supports RPM package types (rpm, srpm, errata, etc.), Puppet modules, Docker images, Atomic Trees, Python packages, and more. There is also a community-contributed plugin for Debian packages. As a flexible platform, Pulp was designed from the ground up to be type-agnostic, so you can add plugins and extensions to manage any type of content. Whether you are interested in Ruby, JBoss, Node.js, or some other type of package or content, you can add support to Pulp through its plugin and extension framework.
In Use Today
Pulp is being used today to solve a variety of content distribution challenges.
- Pulp is being used to walk software packages through development, testing, and stable repositories, pushing those updates out to client machines as they get promoted.
- In cases where specific packages need to be available in isolated environments (such as behind strict firewalls, or within a cloud provider’s network), Pulp is being used to publish custom repositories on the same private network where consumers will need access.
- Puppet Forge is being mirrored with Pulp.