Plugin Development
Plugin Writer’s Guide
- Plugin Writer’s Guide
- Plugin Planning Guide
- Plugin Concepts
- Plugin API Usage
- Subclassing
- Master/Detail Models
- Validating Models
- Tasks
- Sync Pipeline
- Domain Multi-tenancy
- Adding Domain Compatibility to a Plugin
- Add Domain Relation to Plugin Models
- Ensure any Custom Action Serializer Prevents Cross-Domain Parameters
- Update each Task that uses Objects to include the Domain field
- Add the Appropriate has_domain_perms Checks to the ViewSets’ AccessPolicies
- Update any extra URL Routes to include {pulp_domain}
- Add
domain_compatible = True
toPluginAppConfig
- Add Tests
- Add Documentation
- Adding Domain Compatibility to a Plugin
- Role Based Access Control
- Overview
- Permissions and Roles
- Users and Groups
- Defining an Access Policy
- Example Policy
- Authorization Conditions
- Custom ViewSet Actions
- Storing an Access Policy in the DB
- Shipping a Default Access Policy
- Allow Granting Permissions by the Object Owners
- Handling Objects created prior to RBAC
- Viewset Enforcement
- Permission Checking Machinery
has_domain_perms()
has_group_model_or_obj_perms()
has_group_obj_perms()
has_model_or_domain_or_obj_perms()
has_model_or_domain_perms()
has_model_or_obj_perms()
has_model_perms()
has_obj_perms()
has_publication_param_model_or_domain_or_obj_perms()
has_publication_param_model_or_obj_perms()
has_remote_param_model_or_domain_or_obj_perms()
has_remote_param_model_or_obj_perms()
has_remote_param_obj_perms()
has_repo_attr_model_or_domain_or_obj_perms()
has_repo_attr_model_or_obj_perms()
has_repo_attr_obj_perms()
has_repo_or_repo_ver_param_model_or_domain_or_obj_perms()
has_repo_or_repo_ver_param_model_or_obj_perms()
has_repository_model_or_domain_or_obj_perms()
has_repository_model_or_obj_perms()
has_repository_obj_perms()
has_required_repo_perms_on_upload()
has_upload_param_model_or_domain_or_obj_perms()
has_upload_param_model_or_obj_perms()
- Custom Permission Checks
- Adding Automatic Permissions for New Objects
- Restricting Viewable Objects
- 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
Plugin Writer’s Reference
Plugin API Reference
- Plugin API Reference
- pulpcore.plugin.models
- pulpcore.plugin.exceptions
- pulpcore.plugin.serializers
AlternateContentSourcePathSerializer
AlternateContentSourceSerializer
ArtifactSerializer
AsyncOperationResponseSerializer
ContentChecksumSerializer
ContentGuardSerializer
ContentRedirectContentGuardSerializer
DetailRelatedField
DistributionSerializer
DomainUniqueValidator
ExportSerializer
ExporterSerializer
GetOrCreateSerializerMixin
HiddenFieldsMixin
IdentityField
ImportSerializer
ImporterSerializer
LabelsField
ModelSerializer
MultipleArtifactContentSerializer
NestedRelatedField
NoArtifactContentSerializer
NoArtifactContentUploadSerializer
ProgressReportSerializer
PublicationSerializer
RelatedField
RemoteSerializer
RepositoryAddRemoveContentSerializer
RepositorySerializer
RepositorySyncURLSerializer
RepositoryVersionRelatedField
SingleArtifactContentSerializer
SingleArtifactContentUploadSerializer
SingleContentArtifactField
TaskGroupOperationResponseSerializer
TaskSerializer
ValidateFieldsMixin
validate_unknown_fields()
- pulpcore.plugin.storage
- pulpcore.plugin.viewsets
AlternateContentSourceViewSet
AsyncUpdateMixin
BaseFilterSet
CharInFilter
ContentFilter
ContentGuardFilter
ContentGuardViewSet
ContentViewSet
DistributionFilter
DistributionViewSet
ExportViewSet
ExporterViewSet
HyperlinkRelatedFilter
ImmutableRepositoryViewSet
ImportViewSet
ImporterViewSet
LabelFilter
LabelSelectFilter
NamedModelViewSet
NamedModelViewSet.extract_pk()
NamedModelViewSet.get_parent_field_and_object()
NamedModelViewSet.get_parent_object()
NamedModelViewSet.get_queryset()
NamedModelViewSet.get_resource()
NamedModelViewSet.get_resource_model()
NamedModelViewSet.get_serializer_class()
NamedModelViewSet.initial()
NamedModelViewSet.scope_queryset()
NoArtifactContentUploadViewSet
OperationPostponedResponse
PublicationFilter
PublicationViewSet
ReadOnlyContentViewSet
ReadOnlyRepositoryViewSet
RemoteFilter
RemoteViewSet
RepositoryVersionFilter
RepositoryVersionViewSet
RepositoryViewSet
SingleArtifactContentUploadViewSet
TaskGroupOperationResponse
TaskGroupViewSet
TaskViewSet
- pulpcore.plugin.tasking
- pulpcore.plugin.download
- pulpcore.plugin.stages
- pulpcore.plugin.content
- pulpcore.plugin.util
PulpPluginAppConfig