Plugin Writer’s Guide
Note
This documentation is for Pulp Plugin developers. For Pulp Core development, see the our contributor docs.
Pulp Core does not manage content by itself, but instead relies on plugins to add support for one content type or another. Examples of content types include RPM packages, Ansible roles, and Container images.
This documentation outlines how to create a Pulp plugin that provides features like:
Define a new content type and its attributes
Download and save the new type of content into Pulp Core
Publish the new type of content, allowing Pulp Core to serve it at a
distribution
Export content to remote servers or CDNs
Add custom web application views
Implement custom features, e.g. dependency solving, retension/deletion policies, etc.
Along with this guide, it may be useful to refer to to our simplest plugin, pulp_file.
Additionally we provide a Plugin Template which will take care of a majority of the boilerplate.
- Plugin Planning Guide
- Plugin Concepts
- Plugin API Usage
- Subclassing
- Master/Detail Models
- Validating Models
- Tasks
- Sync Pipeline
- Domain Multi-tenancy
- Role Based Access Control
- Content Protection
- Plugin Settings
- Custom API URL Routes
- Custom Content App Routes
- Configuring Reverse Proxy with Custom URLs
- Overriding the Reverse Proxy Route Configuration
- Plugin API Stability and Deprecation Policy
- Declaring Dependencies
- Installation
- Custom Installation Tasks
- Checksum Use In Plugins
- Internationalization Expectations
- Zero-Downtime Upgrades
- Zero-Downtime Migrations
- Data Migrations
- Tasking System
- Plugin Walkthrough