Content Plugins

As part of the Pulp installation, you must add a content plugin for each content type that you want to manage. The following sections contain information about the available content plugins. If you do not find the plugin for the content type you want to manage, consider writing a plugin.

Plugin Changes between Pulp 2 and Pulp 3

  • The ISO content support found in the Pulp 2 RPM plugin is now provided by the File plugin.
  • The Docker plugin in Pulp 2 has been replaced by the Container plugin.
  • Currently, there is no Pulp 3 plugin for Puppet content.

Pulp CLI

The Pulp CLI is continuously being expanded, so the workflow coverage with the CLI vary from plugin to plugin. Also support for some of them is maintained in separate Pulp CLI Plugins.

Role Based Access Control Support

While the functionality is available in Pulpcore, each plugin must add it separately. Please check whether the plugin of your interest has already added RBAC support.

Cloud Storage

It is possible to configure Pulp to use cloud storage. However, plugins can introduce changes that are incompatible with, for example, S3 requirements. A number of plugins are regularly tested to ensure they remain compatible but the level of coverage might not cover our entire matrix of plugins.

Pulp 3 Content Plugin Features

Here are some highlights of each plugin’s capabilities.

RPM

  • Create, sync and publish a repository with RPM Content including RPMs, Advisories, Modularity, and Comps.
  • Create, sync and publish a repository with Unbreakable Linux Network (ULN) remotes to sync from ULN servers.
  • Version content and rollback if necessary.
  • Download content on-demand when requested by clients to reduce disk space.
  • Upload local RPM content in chunks.
  • Add, remove, copy, and organize RPM content into various repositories.
  • Host content either locally or on S3.
  • View distributions served by pulpcore-content in a browser.
  • De-duplication of all saved content.

File

  • Sync File packages from a remote to local repository.
  • Upload your own files.
  • Publish and organize files.

Container

For an in-depth look at the available workflows, see the Pulp Container workflow documentation.

You can read about Pulp container’s Role Based Access Control(RBAC) support here.

  • Synchronize container image repositories hosted on Docker-hub, Google Container Registry, Quay.io, and any other that is Docker Registry HTTP API V2-compatible in mirror or additive mode.
  • Version content and rollback if necessary.
  • Download content on-demand when requested by clients to reduce disk space.
  • Host content either locally or on S3.
  • Perform docker/podman pull from a container distribution served by Pulp.
  • Perform docker/podman push to the Pulp Registry.
  • Support for registry token authentication.
  • Curate container images by filtering what is mirrored from an external repository.
  • Curate container images by creating repository versions with a specific set of images.
  • Build an OCI format image from a Containerfile and make it available from the Pulp Registry.
  • De-duplication of all saved content.
  • Support disconnected and air-gapped environments with pulp import/export facility for synced container repositories.

Ansible

  • Mirror a subset of roles on-premise.
  • Mirror all of Galaxy’s roles on-premise.
  • Store private Ansible roles on-premise.
  • Install roles from pulp_ansible using the ansible-galaxy CLI.
  • Version content and rollback if necessary.
  • Support for the Collections from Galaxy.

Debian

  • Synchronize remote repository content and metadata locally.
  • Upload your own content.
  • Publish content to one or more repositories.

Python

  • Synchronize Python packages from PyPI locally.
  • Upload your own Python packages.
  • Publish and organize Python packages just like PyPI.
  • Install Python packages using pip as published by Pulp.

OSTree

  • Synchronize content from a remote OSTree repository and serve it via Pulp.
  • Import new OSTree commits to an existing Pulp repository.
  • Consume content imported to Pulp using the ostree utility.

Maven

  • Use Pulp as a pull through cache for Maven content.

Ruby Gem

  • Synchronize remote repository content and metadata locally.
  • Upload your own content.
  • Publish content to one or more repositories.

Unmaintained plugins

The following plugins have been created and developed to some extent but have not been regularly maintained. If you’re interested in extending or maintaining the basic functionality of these plugins, let us know.

Chef Cookbook

  • Sync Cookbook content from a remote to local repository.
  • Upload your own content.
  • Publish and organize content.

Pulp 3 Content Plugins Information

This table contains links to information and sources for all Pulp 3 content plugins. If a plugin is missing contact us.

Pulp Plugin Docs Source Tracker Install with PyPI Install with RPM
Ansible plugin Ansible plugin docs Ansible plugin source Ansible plugin tracker Yes No
Chef cookbook plugin Cookbook plugin docs Cookbook plugin source Cookbook plugin tracker Yes No
Debian plugin DEB plugin docs DEB plugin source DEB plugin tracker Yes No
Container plugin Container plugin docs Container plugin source Container plugin tracker Yes No
File File plugin docs File plugin source File plugin tracker Yes No
GalaxyNG plugin GalaxyNG plugin docs GalaxyNG plugin source GalaxyNG tracker Yes No
Gem plugin Gem plugin docs Gem plugin source Gem plugin tracker Yes No
Maven plugin Maven plugin docs Maven plugin source Maven plugin tracker Yes No
OSTree plugin OSTree plugin docs OSTree plugin source OSTree plugin tracker Yes No
Python plugin Python plugin docs Python plugin source Python plugin tracker Yes No
RPM plugin RPM plugin docs RPM plugin source RPM plugin tracker Yes No

Pulp 2 Content Plugins Information

Pulp 2 is EOL. For more information about migrating from Pulp 2 to Pulp 3, see the migration plugin documentation.