Private Forge and More with PulpPresented by:Michael Hrivnakmhrivnak@redhat.commhrivnak in #pulphttp://www.pulpproject.org
What is Pulp?Manage repositories of contentPush content out to client machinesSupports RPM and Puppet Modules todayPart of...
Create New RepositoriesCreate a new repository in PulpSync content from a remote repo, manually oron a scheduleUpload your...
Publish Your RepositoryMix and match content, then publishPush content out to any number of consumersNot limited to any pa...
Content TypesRPM familyPuppet ModulesMore in the pipeline
ConsumersPulp Agent runs on the consumerCommunicates via AMQP message brokerInstall / Update / Remove content remotelyOthe...
DEMO
Pulp NodesParent Pulp server distributes content to childPulp serversCentral management with multi-site scalabilityChildre...
Use Case: Dev / Test / ProductionPull content into a development repository“Promote” by copying to a Test repository, andt...
DEMO
Use Case: Mirror PuppetForgeSync part or all of PuppetForge to a localrepositoryAdd or remove modules as desiredRetain old...
Future Use Case: Mirror PyPiSync part or all of PyPi to a local repositoryAdd custom packagesRetain old versions
ExtensibleStandard ways to support new content typesAuto-discovery of support for new types
PluginsType DefinitionJSON fileImporterUsed to pull in upstream contentOne per repositoryDistributorUsed to publish conten...
ExtensionsOkaara frameworkhttps://github.com/jdob/okaaraHierarchical design, makes it easy to extendMany generic commands ...
HandlersPerform any action on a consumerInstall / Update / RemoveRestart serviceReboot machineOperates manually or on a sc...
IntegrationREST APIEvents published to AMQP topic exchangeHTTP callbacksEmail
CoordinatorMany actions can be asynchronousCoordinator manages resource contention
Documentationhttp://www.pulpproject.org/docs/
Questions?Michael Hrivnakmhrivnak@redhat.commhrivnak in #pulphttp://www.pulpproject.org
Upcoming SlideShare
Loading in …5
×

Hosting a Custom Forge with Pulp

3,189 views

Published on

"Hosting a Custom Forge with Pulp" by Michael Hrivnak of Red Hat at Puppet Camp Raleigh 2013.

Published in: Technology
3 Comments
2 Likes
Statistics
Notes
No Downloads
Views
Total views
3,189
On SlideShare
0
From Embeds
0
Number of Embeds
373
Actions
Shares
0
Downloads
19
Comments
3
Likes
2
Embeds 0
No embeds

No notes for slide

Hosting a Custom Forge with Pulp

  1. 1. Private Forge and More with PulpPresented by:Michael Hrivnakmhrivnak@redhat.commhrivnak in #pulphttp://www.pulpproject.org
  2. 2. What is Pulp?Manage repositories of contentPush content out to client machinesSupports RPM and Puppet Modules todayPart of the Future Red Hat SatelliteOSS under GPL2https://github.com/pulpPython
  3. 3. Create New RepositoriesCreate a new repository in PulpSync content from a remote repo, manually oron a scheduleUpload your own contentCopies are cheap
  4. 4. Publish Your RepositoryMix and match content, then publishPush content out to any number of consumersNot limited to any particular kind of content
  5. 5. Content TypesRPM familyPuppet ModulesMore in the pipeline
  6. 6. ConsumersPulp Agent runs on the consumerCommunicates via AMQP message brokerInstall / Update / Remove content remotelyOther actions, such as reboot
  7. 7. DEMO
  8. 8. Pulp NodesParent Pulp server distributes content to childPulp serversCentral management with multi-site scalabilityChildren can exist behind strict firewalls
  9. 9. Use Case: Dev / Test / ProductionPull content into a development repository“Promote” by copying to a Test repository, andthen to a Production repositoryUseful for testing upstream content, such asnew RHEL point releases
  10. 10. DEMO
  11. 11. Use Case: Mirror PuppetForgeSync part or all of PuppetForge to a localrepositoryAdd or remove modules as desiredRetain old versions
  12. 12. Future Use Case: Mirror PyPiSync part or all of PyPi to a local repositoryAdd custom packagesRetain old versions
  13. 13. ExtensibleStandard ways to support new content typesAuto-discovery of support for new types
  14. 14. PluginsType DefinitionJSON fileImporterUsed to pull in upstream contentOne per repositoryDistributorUsed to publish contentMany per repository
  15. 15. ExtensionsOkaara frameworkhttps://github.com/jdob/okaaraHierarchical design, makes it easy to extendMany generic commands for re-use andcustomization
  16. 16. HandlersPerform any action on a consumerInstall / Update / RemoveRestart serviceReboot machineOperates manually or on a schedule
  17. 17. IntegrationREST APIEvents published to AMQP topic exchangeHTTP callbacksEmail
  18. 18. CoordinatorMany actions can be asynchronousCoordinator manages resource contention
  19. 19. Documentationhttp://www.pulpproject.org/docs/
  20. 20. Questions?Michael Hrivnakmhrivnak@redhat.commhrivnak in #pulphttp://www.pulpproject.org

×