SlideShare une entreprise Scribd logo
1  sur  86
Télécharger pour lire hors ligne
Julien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien Pivotto
CentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, Brussels
January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015
whoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoami
Julien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien Pivotto
• Open-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.eu
• Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)
• FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004
• DevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelist
• CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011
• @roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie on irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/github
inuits.eu
Distributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing Software
• Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)
• TarballTarballTarballTarballTarballTarballTarballTarballTarballTarballTarballTarballTarballTarballTarballTarballTarball
• Self-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarball
• curl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bash
• Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?
• Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)
How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?
• using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?
▶ What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?
• rsync?rsync?rsync?rsync?rsync?rsync?rsync?rsync?rsync?rsync?rsync?rsync?rsync?rsync?rsync?rsync?rsync?
▶ no flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibility
• createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?
▶ feels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90's
• mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?
PackagingPackagingPackagingPackagingPackagingPackagingPackagingPackagingPackagingPackagingPackagingPackagingPackagingPackagingPackagingPackagingPackaging
Licensed under a Creative Commons Attribution-ShareAlike 2.0 License
https://www.flickr.com/photos/halfbisqued/2353845688
Advantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packaging
• Consistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file lists
• Dependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolving
• RepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositories
• GPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-Signing
• Lots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of tools
• VersioningVersioningVersioningVersioningVersioningVersioningVersioningVersioningVersioningVersioningVersioningVersioningVersioningVersioningVersioningVersioningVersioning
• Unique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible build
• CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)
Disadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packaging
• Learning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec files
• Hard to writeHard to writeHard to writeHard to writeHard to writeHard to writeHard to writeHard to writeHard to writeHard to writeHard to writeHard to writeHard to writeHard to writeHard to writeHard to writeHard to write goodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgood spec filesspec filesspec filesspec filesspec filesspec filesspec filesspec filesspec filesspec filesspec filesspec filesspec filesspec filesspec filesspec filesspec files
• Dozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositories
• Packages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflicts
• Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?
FPMFPMFPMFPMFPMFPMFPMFPMFPMFPMFPMFPMFPMFPMFPMFPMFPM
Effing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package Management
• Command-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line tool
• Easily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package Everything
• I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…
• Makes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easier
• Since 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansissel
• https://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpm
RepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositories
• Centralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwares
• Needed to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to update
• Dependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructure
• Bad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infra
• Down repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infra
ChallengesChallengesChallengesChallengesChallengesChallengesChallengesChallengesChallengesChallengesChallengesChallengesChallengesChallengesChallengesChallengesChallenges
• Packaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CI
• Interaction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchain
• Disk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space matters
• Bandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth matters
• Reliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability matters
Background licensed under a Creative Commons Attribution 2.0 License
https://www.flickr.com/photos/caitlinator/15729994747/
Picture has been cropped and Pulp logo has been added to foreground
• Manage software reposManage software reposManage software reposManage software reposManage software reposManage software reposManage software reposManage software reposManage software reposManage software reposManage software reposManage software reposManage software reposManage software reposManage software reposManage software reposManage software repos
• Mirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external repos
• Publish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these repos
• Copy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across repos
Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0
• Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012
• RPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories management
• Pulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumers
• REST APIREST APIREST APIREST APIREST APIREST APIREST APIREST APIREST APIREST APIREST APIREST APIREST APIREST APIREST APIREST APIREST API
Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0
• Content-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnostic
• Extendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with plugins
▶ RPMRPMRPMRPMRPMRPMRPMRPMRPMRPMRPMRPMRPMRPMRPMRPMRPM
▶ Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)
▶ Docker registryDocker registryDocker registryDocker registryDocker registryDocker registryDocker registryDocker registryDocker registryDocker registryDocker registryDocker registryDocker registryDocker registryDocker registryDocker registryDocker registry
▶ OSTreeOSTreeOSTreeOSTreeOSTreeOSTreeOSTreeOSTreeOSTreeOSTreeOSTreeOSTreeOSTreeOSTreeOSTreeOSTreeOSTree
▶ PythonPythonPythonPythonPythonPythonPythonPythonPythonPythonPythonPythonPythonPythonPythonPythonPython
▶ Debian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositories (wip)(wip)(wip)(wip)(wip)(wip)(wip)(wip)(wip)(wip)(wip)(wip)(wip)(wip)(wip)(wip)(wip)
The ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystem
• Pulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community Project
• It plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other tools
• Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…
• They bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontends
• I will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp alone
BackgroundlicensedunderaCreativeCommonsAttribution2.0License
https://www.flickr.com/photos/-aismist/15514104455/
PicturehasbeencroppedandPulpschemahasbeenadded.
PulpschemacomesfromthePulpdocumentation.
DependenciesDependenciesDependenciesDependenciesDependenciesDependenciesDependenciesDependenciesDependenciesDependenciesDependenciesDependenciesDependenciesDependenciesDependenciesDependenciesDependencies
• Qpid/RabbitMQQpid/RabbitMQQpid/RabbitMQQpid/RabbitMQQpid/RabbitMQQpid/RabbitMQQpid/RabbitMQQpid/RabbitMQQpid/RabbitMQQpid/RabbitMQQpid/RabbitMQQpid/RabbitMQQpid/RabbitMQQpid/RabbitMQQpid/RabbitMQQpid/RabbitMQQpid/RabbitMQ
• CeleriCeleriCeleriCeleriCeleriCeleriCeleriCeleriCeleriCeleriCeleriCeleriCeleriCeleriCeleriCeleriCeleri
• MongoDBMongoDBMongoDBMongoDBMongoDBMongoDBMongoDBMongoDBMongoDBMongoDBMongoDBMongoDBMongoDBMongoDBMongoDBMongoDBMongoDB
• httpdhttpdhttpdhttpdhttpdhttpdhttpdhttpdhttpdhttpdhttpdhttpdhttpdhttpdhttpdhttpdhttpd
pulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-admin
• Command-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line tool
• Uses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST api
• Can be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another host
• Also extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendable
In PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn Practice
Licensed under a Creative Commons Attribution-ShareAlike 2.0 License
https://www.flickr.com/photos/ginnerobot/2641780669
Setting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up Pulp
• Let's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use Puppet
• https://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deployment
• For this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrant
Pulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: Ingredients
Puppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modules
• puppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apache
• puppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concat
• stahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epel
• puppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodb
• pulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulp
• dprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpid
• puppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlib
Current statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent status
• Standalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp server
• Ready to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requests
• No repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositories
loginloginloginloginloginloginloginloginloginloginloginloginloginloginloginloginlogin
• pulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin login
• Default user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/admin
• Stores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificates
• Limited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetime
• No need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special user
Basic usecases
Sync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositories
• Pulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external repos
• Keeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in sync
• Republish themRepublish themRepublish themRepublish themRepublish themRepublish themRepublish themRepublish themRepublish themRepublish themRepublish themRepublish themRepublish themRepublish themRepublish themRepublish themRepublish them
• Yum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use them
Create your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own repos
• Creating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositories
• Upload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packages
• Import RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other repos
• Publishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositories
• A new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now created
• It contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packages
• Let's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packages
• The repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our package
• But it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yet
• The changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yum
• Now yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the package
• It is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apache
Playing with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external repos
• We will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 repos
• One "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repo
• And the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repository
• We will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between them
Current statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent status
• We have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two repos
• "upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster"
• Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"
RPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copy
• --from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id
• --to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id
• Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:
▶ --match--match--match--match--match--match--match--match--match--match--match--match--match--match--match--match--match
▶ --gt--gt--gt--gt--gt--gt--gt--gt--gt--gt--gt--gt--gt--gt--gt--gt--gt
▶ --lt--lt--lt--lt--lt--lt--lt--lt--lt--lt--lt--lt--lt--lt--lt--lt--lt
▶ ……………………………………………
• --recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies
• --bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background
• pulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks list
• pulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks details
• pulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancel
Setting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositories
• Setting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum repos
• Using your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt tool
• Or using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumers
Advanced usage
Pulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp Consumers
• Kind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agent
• Allows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updates
• Requires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the client
Pulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp Nodes
• Parent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodes
• Sharing contentSharing contentSharing contentSharing contentSharing contentSharing contentSharing contentSharing contentSharing contentSharing contentSharing contentSharing contentSharing contentSharing contentSharing contentSharing contentSharing content
• "Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories
Repositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories Matrix
Base Repo Sync Dev UAT Prod
CentOS Y Y Y Y
CentOS Updates Y Y Y Y
Internal n/a Y Y Y
Upstream n/a Y Y Y
EPEL Y N N N
Puppetlabs Y N N N
Gluster Y N N N
• Upstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other repos
▶ Less conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflicts
▶ Expose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum repos
▶ Avoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installed
Repositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories Management
• One copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environment
• "Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package
• Ensure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgrades
• Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)
Conclusion
ConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusion
• Pulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositories
• It is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many components
• It can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPM
• Based on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-API
DisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantages
• How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?
• BugsBugsBugsBugsBugsBugsBugsBugsBugsBugsBugsBugsBugsBugsBugsBugsBugs
• SlowSlowSlowSlowSlowSlowSlowSlowSlowSlowSlowSlowSlowSlowSlowSlowSlow
• Very long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLI
AdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantages
• Uses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk space
• Combine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own repos
• Asynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasks
• ConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrency
• ScalableScalableScalableScalableScalableScalableScalableScalableScalableScalableScalableScalableScalableScalableScalableScalableScalable
• REST ApiREST ApiREST ApiREST ApiREST ApiREST ApiREST ApiREST ApiREST ApiREST ApiREST ApiREST ApiREST ApiREST ApiREST ApiREST ApiREST Api
Read moreRead moreRead moreRead moreRead moreRead moreRead moreRead moreRead moreRead moreRead moreRead moreRead moreRead moreRead moreRead moreRead more
http://www.pulpproject.org/
https://github.com/pulp/
https://pulp-user-guide.readthedocs.org/en/latest/
https://pulp-rpm-user-guide.readthedocs.org/en/latest/
https://www.redhat.com/mailman/listinfo/pulp-list/
Thank youThank youThank youThank youThank youThank youThank youThank youThank youThank youThank youThank youThank youThank youThank youThank youThank you
Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?
Thanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp team
ContactContactContactContactContactContactContactContactContactContactContactContactContactContactContactContactContact
Julien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien Pivotto
julien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eu
@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie
inuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuits
https://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.eu
info@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.eu
+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636

Contenu connexe

Tendances

A call to give back puppetlabs-corosync to the community
A call to give back puppetlabs-corosync to the communityA call to give back puppetlabs-corosync to the community
A call to give back puppetlabs-corosync to the communityJulien Pivotto
 
Puppet and Software Delivery
Puppet and Software DeliveryPuppet and Software Delivery
Puppet and Software DeliveryJulien Pivotto
 
systemd and configuration management
systemd and configuration managementsystemd and configuration management
systemd and configuration managementJulien Pivotto
 
OSDC 2016 - Automating a R&D lab with Foreman: What can be hard? by Julien Pi...
OSDC 2016 - Automating a R&D lab with Foreman: What can be hard? by Julien Pi...OSDC 2016 - Automating a R&D lab with Foreman: What can be hard? by Julien Pi...
OSDC 2016 - Automating a R&D lab with Foreman: What can be hard? by Julien Pi...NETWAYS
 
We Buy Cheese in a Cheese Shop
We Buy Cheese in a Cheese ShopWe Buy Cheese in a Cheese Shop
We Buy Cheese in a Cheese ShopTzu-ping Chung
 
Destruction, Decapods and Doughnuts: Continuous Delivery for Audio & Video Fa...
Destruction, Decapods and Doughnuts: Continuous Delivery for Audio & Video Fa...Destruction, Decapods and Doughnuts: Continuous Delivery for Audio & Video Fa...
Destruction, Decapods and Doughnuts: Continuous Delivery for Audio & Video Fa...Rachel Evans
 
Arduino programming of ML-style in ATS
Arduino programming of ML-style in ATSArduino programming of ML-style in ATS
Arduino programming of ML-style in ATSKiwamu Okabe
 
Hands-on VeriFast with STM32 microcontroller
Hands-on VeriFast with STM32 microcontrollerHands-on VeriFast with STM32 microcontroller
Hands-on VeriFast with STM32 microcontrollerKiwamu Okabe
 
Functional IoT: Hardware and Platform
Functional IoT: Hardware and PlatformFunctional IoT: Hardware and Platform
Functional IoT: Hardware and PlatformKiwamu Okabe
 

Tendances (11)

A call to give back puppetlabs-corosync to the community
A call to give back puppetlabs-corosync to the communityA call to give back puppetlabs-corosync to the community
A call to give back puppetlabs-corosync to the community
 
DNSSec
DNSSecDNSSec
DNSSec
 
Puppet and Software Delivery
Puppet and Software DeliveryPuppet and Software Delivery
Puppet and Software Delivery
 
Coworking with git
Coworking with gitCoworking with git
Coworking with git
 
systemd and configuration management
systemd and configuration managementsystemd and configuration management
systemd and configuration management
 
OSDC 2016 - Automating a R&D lab with Foreman: What can be hard? by Julien Pi...
OSDC 2016 - Automating a R&D lab with Foreman: What can be hard? by Julien Pi...OSDC 2016 - Automating a R&D lab with Foreman: What can be hard? by Julien Pi...
OSDC 2016 - Automating a R&D lab with Foreman: What can be hard? by Julien Pi...
 
We Buy Cheese in a Cheese Shop
We Buy Cheese in a Cheese ShopWe Buy Cheese in a Cheese Shop
We Buy Cheese in a Cheese Shop
 
Destruction, Decapods and Doughnuts: Continuous Delivery for Audio & Video Fa...
Destruction, Decapods and Doughnuts: Continuous Delivery for Audio & Video Fa...Destruction, Decapods and Doughnuts: Continuous Delivery for Audio & Video Fa...
Destruction, Decapods and Doughnuts: Continuous Delivery for Audio & Video Fa...
 
Arduino programming of ML-style in ATS
Arduino programming of ML-style in ATSArduino programming of ML-style in ATS
Arduino programming of ML-style in ATS
 
Hands-on VeriFast with STM32 microcontroller
Hands-on VeriFast with STM32 microcontrollerHands-on VeriFast with STM32 microcontroller
Hands-on VeriFast with STM32 microcontroller
 
Functional IoT: Hardware and Platform
Functional IoT: Hardware and PlatformFunctional IoT: Hardware and Platform
Functional IoT: Hardware and Platform
 

En vedette

Introduction to Puppet and Usage In Cloud
Introduction to Puppet and Usage In CloudIntroduction to Puppet and Usage In Cloud
Introduction to Puppet and Usage In CloudAditya Patawari
 
Full Stack Automation with Katello & The Foreman
Full Stack Automation with Katello & The ForemanFull Stack Automation with Katello & The Foreman
Full Stack Automation with Katello & The ForemanWeston Bassler
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes IntroductionPeng Xiao
 
FOSDEM 2011 - 0MQ
FOSDEM 2011 - 0MQFOSDEM 2011 - 0MQ
FOSDEM 2011 - 0MQpieterh
 
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей БуровСистема мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей БуровPositive Hack Days
 
Puppet DSL: back to the basics
Puppet DSL: back to the basicsPuppet DSL: back to the basics
Puppet DSL: back to the basicsJulien Pivotto
 
Foreman in Your Data Center :OSDC 2015
Foreman in Your Data Center :OSDC 2015Foreman in Your Data Center :OSDC 2015
Foreman in Your Data Center :OSDC 2015Stephen Benjamin
 
大容量ファイルもGitで管理。 Git LFSの使い方
大容量ファイルもGitで管理。 Git LFSの使い方大容量ファイルもGitで管理。 Git LFSの使い方
大容量ファイルもGitで管理。 Git LFSの使い方hibiki443
 

En vedette (10)

Koji and pulp
Koji and pulpKoji and pulp
Koji and pulp
 
Introduction to Puppet and Usage In Cloud
Introduction to Puppet and Usage In CloudIntroduction to Puppet and Usage In Cloud
Introduction to Puppet and Usage In Cloud
 
Full Stack Automation with Katello & The Foreman
Full Stack Automation with Katello & The ForemanFull Stack Automation with Katello & The Foreman
Full Stack Automation with Katello & The Foreman
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
FOSDEM 2011 - 0MQ
FOSDEM 2011 - 0MQFOSDEM 2011 - 0MQ
FOSDEM 2011 - 0MQ
 
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей БуровСистема мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
 
Puppet DSL: back to the basics
Puppet DSL: back to the basicsPuppet DSL: back to the basics
Puppet DSL: back to the basics
 
Foreman in Your Data Center :OSDC 2015
Foreman in Your Data Center :OSDC 2015Foreman in Your Data Center :OSDC 2015
Foreman in Your Data Center :OSDC 2015
 
Pulp
Pulp Pulp
Pulp
 
大容量ファイルもGitで管理。 Git LFSの使い方
大容量ファイルもGitで管理。 Git LFSの使い方大容量ファイルもGitで管理。 Git LFSの使い方
大容量ファイルもGitで管理。 Git LFSの使い方
 

Similaire à Julien Pivotto discusses software distribution and packaging

Getting the maximum out of systemd
Getting the maximum out of systemdGetting the maximum out of systemd
Getting the maximum out of systemdJulien Pivotto
 
Enhance OpenSSH for fun and security
Enhance OpenSSH for fun and securityEnhance OpenSSH for fun and security
Enhance OpenSSH for fun and securityJulien Pivotto
 
internshp ppt.pptx
internshp ppt.pptxinternshp ppt.pptx
internshp ppt.pptxsonu515144
 
internshp ppt.pptx
internshp ppt.pptxinternshp ppt.pptx
internshp ppt.pptxsonu515144
 
Christmas Gifts For Men
Christmas Gifts For MenChristmas Gifts For Men
Christmas Gifts For Mentexr
 
Life Cycle Assessment Diagram (for PowerPoint and Google Slides)
Life Cycle Assessment Diagram (for PowerPoint and Google Slides)Life Cycle Assessment Diagram (for PowerPoint and Google Slides)
Life Cycle Assessment Diagram (for PowerPoint and Google Slides)PoweredTemplate.com
 
Innovation Skills Powerpoint Template.pdf
Innovation Skills Powerpoint Template.pdfInnovation Skills Powerpoint Template.pdf
Innovation Skills Powerpoint Template.pdfClaryValentine
 
Innovation Skills Powerpoint Template.pptx
Innovation Skills Powerpoint Template.pptxInnovation Skills Powerpoint Template.pptx
Innovation Skills Powerpoint Template.pptxClaryValentine
 
Barrett on Communicating
Barrett on Communicating Barrett on Communicating
Barrett on Communicating David Barrett
 
Demo-driven innovation (University of Zurich, June 2013)
Demo-driven innovation (University of Zurich, June 2013)Demo-driven innovation (University of Zurich, June 2013)
Demo-driven innovation (University of Zurich, June 2013)Tudor Girba
 
Trabajo
TrabajoTrabajo
Trabajoyucai
 

Similaire à Julien Pivotto discusses software distribution and packaging (20)

Getting the maximum out of systemd
Getting the maximum out of systemdGetting the maximum out of systemd
Getting the maximum out of systemd
 
Enhance OpenSSH for fun and security
Enhance OpenSSH for fun and securityEnhance OpenSSH for fun and security
Enhance OpenSSH for fun and security
 
Fundamentals of Communication
Fundamentals of CommunicationFundamentals of Communication
Fundamentals of Communication
 
internshp ppt.pptx
internshp ppt.pptxinternshp ppt.pptx
internshp ppt.pptx
 
UrbanVoice
UrbanVoiceUrbanVoice
UrbanVoice
 
internshp ppt.pptx
internshp ppt.pptxinternshp ppt.pptx
internshp ppt.pptx
 
Devops -- LKFR14
Devops -- LKFR14Devops -- LKFR14
Devops -- LKFR14
 
Christmas Gifts For Men
Christmas Gifts For MenChristmas Gifts For Men
Christmas Gifts For Men
 
Life Cycle Assessment Diagram (for PowerPoint and Google Slides)
Life Cycle Assessment Diagram (for PowerPoint and Google Slides)Life Cycle Assessment Diagram (for PowerPoint and Google Slides)
Life Cycle Assessment Diagram (for PowerPoint and Google Slides)
 
Innovation Skills Powerpoint Template.pdf
Innovation Skills Powerpoint Template.pdfInnovation Skills Powerpoint Template.pdf
Innovation Skills Powerpoint Template.pdf
 
Innovation Skills Powerpoint Template.pptx
Innovation Skills Powerpoint Template.pptxInnovation Skills Powerpoint Template.pptx
Innovation Skills Powerpoint Template.pptx
 
Trabajo de Mecanet
Trabajo de Mecanet Trabajo de Mecanet
Trabajo de Mecanet
 
Barrett on Communicating
Barrett on Communicating Barrett on Communicating
Barrett on Communicating
 
Chungeoram intro
Chungeoram introChungeoram intro
Chungeoram intro
 
Demo-driven innovation (University of Zurich, June 2013)
Demo-driven innovation (University of Zurich, June 2013)Demo-driven innovation (University of Zurich, June 2013)
Demo-driven innovation (University of Zurich, June 2013)
 
Trabajo
TrabajoTrabajo
Trabajo
 
Wvi templates grid
Wvi templates gridWvi templates grid
Wvi templates grid
 
Trabajo mecanet
Trabajo mecanetTrabajo mecanet
Trabajo mecanet
 
Mecanografia.
Mecanografia.Mecanografia.
Mecanografia.
 
ENGLISH LESSON: MINING
ENGLISH LESSON: MININGENGLISH LESSON: MINING
ENGLISH LESSON: MINING
 

Plus de Julien Pivotto

What's New in Prometheus and Its Ecosystem
What's New in Prometheus and Its EcosystemWhat's New in Prometheus and Its Ecosystem
What's New in Prometheus and Its EcosystemJulien Pivotto
 
Prometheus: What is is, what is new, what is coming
Prometheus: What is is, what is new, what is comingPrometheus: What is is, what is new, what is coming
Prometheus: What is is, what is new, what is comingJulien Pivotto
 
What's new in Prometheus?
What's new in Prometheus?What's new in Prometheus?
What's new in Prometheus?Julien Pivotto
 
Introduction to Grafana Loki
Introduction to Grafana LokiIntroduction to Grafana Loki
Introduction to Grafana LokiJulien Pivotto
 
Why you should revisit mgmt
Why you should revisit mgmtWhy you should revisit mgmt
Why you should revisit mgmtJulien Pivotto
 
Observing the HashiCorp Ecosystem From Prometheus
Observing the HashiCorp Ecosystem From PrometheusObserving the HashiCorp Ecosystem From Prometheus
Observing the HashiCorp Ecosystem From PrometheusJulien Pivotto
 
Monitoring in a fast-changing world with Prometheus
Monitoring in a fast-changing world with PrometheusMonitoring in a fast-changing world with Prometheus
Monitoring in a fast-changing world with PrometheusJulien Pivotto
 
5 tips for Prometheus Service Discovery
5 tips for Prometheus Service Discovery5 tips for Prometheus Service Discovery
5 tips for Prometheus Service DiscoveryJulien Pivotto
 
Prometheus and TLS - an Introduction
Prometheus and TLS - an IntroductionPrometheus and TLS - an Introduction
Prometheus and TLS - an IntroductionJulien Pivotto
 
Powerful graphs in Grafana
Powerful graphs in GrafanaPowerful graphs in Grafana
Powerful graphs in GrafanaJulien Pivotto
 
HAProxy as Egress Controller
HAProxy as Egress ControllerHAProxy as Egress Controller
HAProxy as Egress ControllerJulien Pivotto
 
Improved alerting with Prometheus and Alertmanager
Improved alerting with Prometheus and AlertmanagerImproved alerting with Prometheus and Alertmanager
Improved alerting with Prometheus and AlertmanagerJulien Pivotto
 
SIngle Sign On with Keycloak
SIngle Sign On with KeycloakSIngle Sign On with Keycloak
SIngle Sign On with KeycloakJulien Pivotto
 
Monitoring as an entry point for collaboration
Monitoring as an entry point for collaborationMonitoring as an entry point for collaboration
Monitoring as an entry point for collaborationJulien Pivotto
 
Incident Resolution as Code
Incident Resolution as CodeIncident Resolution as Code
Incident Resolution as CodeJulien Pivotto
 
Monitor your CentOS stack with Prometheus
Monitor your CentOS stack with PrometheusMonitor your CentOS stack with Prometheus
Monitor your CentOS stack with PrometheusJulien Pivotto
 
Monitor your CentOS stack with Prometheus
Monitor your CentOS stack with PrometheusMonitor your CentOS stack with Prometheus
Monitor your CentOS stack with PrometheusJulien Pivotto
 
An introduction to Ansible
An introduction to AnsibleAn introduction to Ansible
An introduction to AnsibleJulien Pivotto
 

Plus de Julien Pivotto (20)

The O11y Toolkit
The O11y ToolkitThe O11y Toolkit
The O11y Toolkit
 
What's New in Prometheus and Its Ecosystem
What's New in Prometheus and Its EcosystemWhat's New in Prometheus and Its Ecosystem
What's New in Prometheus and Its Ecosystem
 
Prometheus: What is is, what is new, what is coming
Prometheus: What is is, what is new, what is comingPrometheus: What is is, what is new, what is coming
Prometheus: What is is, what is new, what is coming
 
What's new in Prometheus?
What's new in Prometheus?What's new in Prometheus?
What's new in Prometheus?
 
Introduction to Grafana Loki
Introduction to Grafana LokiIntroduction to Grafana Loki
Introduction to Grafana Loki
 
Why you should revisit mgmt
Why you should revisit mgmtWhy you should revisit mgmt
Why you should revisit mgmt
 
Observing the HashiCorp Ecosystem From Prometheus
Observing the HashiCorp Ecosystem From PrometheusObserving the HashiCorp Ecosystem From Prometheus
Observing the HashiCorp Ecosystem From Prometheus
 
Monitoring in a fast-changing world with Prometheus
Monitoring in a fast-changing world with PrometheusMonitoring in a fast-changing world with Prometheus
Monitoring in a fast-changing world with Prometheus
 
5 tips for Prometheus Service Discovery
5 tips for Prometheus Service Discovery5 tips for Prometheus Service Discovery
5 tips for Prometheus Service Discovery
 
Prometheus and TLS - an Introduction
Prometheus and TLS - an IntroductionPrometheus and TLS - an Introduction
Prometheus and TLS - an Introduction
 
Powerful graphs in Grafana
Powerful graphs in GrafanaPowerful graphs in Grafana
Powerful graphs in Grafana
 
YAML Magic
YAML MagicYAML Magic
YAML Magic
 
HAProxy as Egress Controller
HAProxy as Egress ControllerHAProxy as Egress Controller
HAProxy as Egress Controller
 
Improved alerting with Prometheus and Alertmanager
Improved alerting with Prometheus and AlertmanagerImproved alerting with Prometheus and Alertmanager
Improved alerting with Prometheus and Alertmanager
 
SIngle Sign On with Keycloak
SIngle Sign On with KeycloakSIngle Sign On with Keycloak
SIngle Sign On with Keycloak
 
Monitoring as an entry point for collaboration
Monitoring as an entry point for collaborationMonitoring as an entry point for collaboration
Monitoring as an entry point for collaboration
 
Incident Resolution as Code
Incident Resolution as CodeIncident Resolution as Code
Incident Resolution as Code
 
Monitor your CentOS stack with Prometheus
Monitor your CentOS stack with PrometheusMonitor your CentOS stack with Prometheus
Monitor your CentOS stack with Prometheus
 
Monitor your CentOS stack with Prometheus
Monitor your CentOS stack with PrometheusMonitor your CentOS stack with Prometheus
Monitor your CentOS stack with Prometheus
 
An introduction to Ansible
An introduction to AnsibleAn introduction to Ansible
An introduction to Ansible
 

Dernier

Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 

Dernier (20)

Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 

Julien Pivotto discusses software distribution and packaging

  • 1. Julien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien Pivotto CentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, Brussels January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015
  • 2. whoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoami Julien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien Pivotto • Open-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.eu • Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS) • FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004 • DevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelist • CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011 • @roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie on irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/github
  • 4. Distributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing Software • Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM) • TarballTarballTarballTarballTarballTarballTarballTarballTarballTarballTarballTarballTarballTarballTarballTarballTarball • Self-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarball • curl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bash • Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside? • Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)
  • 5. How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos? • using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?using upstream? ▶ What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down? • rsync?rsync?rsync?rsync?rsync?rsync?rsync?rsync?rsync?rsync?rsync?rsync?rsync?rsync?rsync?rsync?rsync? ▶ no flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibility • createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?createrepo? ▶ feels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90's • mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?
  • 7. Advantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packaging • Consistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file lists • Dependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolving • RepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositories • GPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-Signing • Lots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of tools • VersioningVersioningVersioningVersioningVersioningVersioningVersioningVersioningVersioningVersioningVersioningVersioningVersioningVersioningVersioningVersioningVersioning • Unique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible build • CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)
  • 8. Disadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packaging • Learning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec files • Hard to writeHard to writeHard to writeHard to writeHard to writeHard to writeHard to writeHard to writeHard to writeHard to writeHard to writeHard to writeHard to writeHard to writeHard to writeHard to writeHard to write goodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgood spec filesspec filesspec filesspec filesspec filesspec filesspec filesspec filesspec filesspec filesspec filesspec filesspec filesspec filesspec filesspec filesspec files • Dozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositories • Packages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflicts • Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?
  • 9. FPMFPMFPMFPMFPMFPMFPMFPMFPMFPMFPMFPMFPMFPMFPMFPMFPM Effing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package Management • Command-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line tool • Easily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package Everything • I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/… • Makes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easier • Since 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansissel • https://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpm
  • 10. RepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositories • Centralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwares • Needed to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to update • Dependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructure • Bad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infra • Down repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infra
  • 11. ChallengesChallengesChallengesChallengesChallengesChallengesChallengesChallengesChallengesChallengesChallengesChallengesChallengesChallengesChallengesChallengesChallenges • Packaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CI • Interaction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchain • Disk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space matters • Bandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth matters • Reliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability matters
  • 12. Background licensed under a Creative Commons Attribution 2.0 License https://www.flickr.com/photos/caitlinator/15729994747/ Picture has been cropped and Pulp logo has been added to foreground
  • 13. • Manage software reposManage software reposManage software reposManage software reposManage software reposManage software reposManage software reposManage software reposManage software reposManage software reposManage software reposManage software reposManage software reposManage software reposManage software reposManage software reposManage software repos • Mirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external repos • Publish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these repos • Copy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across repos
  • 14. Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0 • Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012 • RPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories management • Pulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumers • REST APIREST APIREST APIREST APIREST APIREST APIREST APIREST APIREST APIREST APIREST APIREST APIREST APIREST APIREST APIREST APIREST API
  • 15. Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0 • Content-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnostic • Extendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with plugins ▶ RPMRPMRPMRPMRPMRPMRPMRPMRPMRPMRPMRPMRPMRPMRPMRPMRPM ▶ Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge) ▶ Docker registryDocker registryDocker registryDocker registryDocker registryDocker registryDocker registryDocker registryDocker registryDocker registryDocker registryDocker registryDocker registryDocker registryDocker registryDocker registryDocker registry ▶ OSTreeOSTreeOSTreeOSTreeOSTreeOSTreeOSTreeOSTreeOSTreeOSTreeOSTreeOSTreeOSTreeOSTreeOSTreeOSTreeOSTree ▶ PythonPythonPythonPythonPythonPythonPythonPythonPythonPythonPythonPythonPythonPythonPythonPythonPython ▶ Debian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositories (wip)(wip)(wip)(wip)(wip)(wip)(wip)(wip)(wip)(wip)(wip)(wip)(wip)(wip)(wip)(wip)(wip)
  • 16. The ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystem • Pulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community Project • It plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other tools • Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin… • They bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontends • I will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp alone
  • 19. pulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-admin • Command-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line tool • Uses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST api • Can be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another host • Also extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendable
  • 20. In PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn Practice Licensed under a Creative Commons Attribution-ShareAlike 2.0 License https://www.flickr.com/photos/ginnerobot/2641780669
  • 21. Setting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up Pulp • Let's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use Puppet • https://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deployment • For this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrant
  • 22. Pulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: Ingredients Puppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modules • puppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apache • puppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concat • stahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epel • puppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodb • pulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulp • dprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpid • puppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlib
  • 23.
  • 24.
  • 25. Current statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent status • Standalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp server • Ready to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requests • No repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositories
  • 26. loginloginloginloginloginloginloginloginloginloginloginloginloginloginloginloginlogin • pulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin login • Default user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/admin • Stores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificates • Limited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetime • No need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special user
  • 27.
  • 28.
  • 30. Sync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositories • Pulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external repos • Keeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in sync • Republish themRepublish themRepublish themRepublish themRepublish themRepublish themRepublish themRepublish themRepublish themRepublish themRepublish themRepublish themRepublish themRepublish themRepublish themRepublish themRepublish them • Yum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use them
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38. Create your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own repos • Creating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositories • Upload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packages • Import RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other repos • Publishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositories
  • 39.
  • 40.
  • 41. • A new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now created • It contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packages • Let's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packages
  • 42.
  • 43.
  • 44. • The repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our package • But it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yet • The changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yum
  • 45.
  • 46.
  • 47.
  • 48. • Now yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the package • It is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apache
  • 49.
  • 50.
  • 51. Playing with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external repos • We will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 repos • One "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repo • And the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repository • We will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between them
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57. Current statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent status • We have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two repos • "upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster" • Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"
  • 58.
  • 59.
  • 60. RPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copy • --from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id • --to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id • Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with: ▶ --match--match--match--match--match--match--match--match--match--match--match--match--match--match--match--match--match ▶ --gt--gt--gt--gt--gt--gt--gt--gt--gt--gt--gt--gt--gt--gt--gt--gt--gt ▶ --lt--lt--lt--lt--lt--lt--lt--lt--lt--lt--lt--lt--lt--lt--lt--lt--lt ▶ …………………………………………… • --recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies
  • 61.
  • 62.
  • 63. • --bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background • pulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks list • pulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks details • pulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancel
  • 64.
  • 65.
  • 66. Setting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositories • Setting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum repos • Using your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt tool • Or using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumers
  • 67.
  • 68.
  • 70. Pulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp Consumers • Kind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agent • Allows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updates • Requires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the client
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77. Pulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp Nodes • Parent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodes • Sharing contentSharing contentSharing contentSharing contentSharing contentSharing contentSharing contentSharing contentSharing contentSharing contentSharing contentSharing contentSharing contentSharing contentSharing contentSharing contentSharing content • "Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories
  • 78. Repositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories Matrix Base Repo Sync Dev UAT Prod CentOS Y Y Y Y CentOS Updates Y Y Y Y Internal n/a Y Y Y Upstream n/a Y Y Y EPEL Y N N N Puppetlabs Y N N N Gluster Y N N N • Upstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other repos ▶ Less conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflicts ▶ Expose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum repos ▶ Avoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installed
  • 79. Repositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories Management • One copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environment • "Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package • Ensure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgrades • Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)
  • 81. ConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusion • Pulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositories • It is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many components • It can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPM • Based on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-API
  • 82. DisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantages • How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo? • BugsBugsBugsBugsBugsBugsBugsBugsBugsBugsBugsBugsBugsBugsBugsBugsBugs • SlowSlowSlowSlowSlowSlowSlowSlowSlowSlowSlowSlowSlowSlowSlowSlowSlow • Very long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLI
  • 83. AdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantages • Uses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk space • Combine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own repos • Asynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasks • ConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrency • ScalableScalableScalableScalableScalableScalableScalableScalableScalableScalableScalableScalableScalableScalableScalableScalableScalable • REST ApiREST ApiREST ApiREST ApiREST ApiREST ApiREST ApiREST ApiREST ApiREST ApiREST ApiREST ApiREST ApiREST ApiREST ApiREST ApiREST Api
  • 84. Read moreRead moreRead moreRead moreRead moreRead moreRead moreRead moreRead moreRead moreRead moreRead moreRead moreRead moreRead moreRead moreRead more http://www.pulpproject.org/ https://github.com/pulp/ https://pulp-user-guide.readthedocs.org/en/latest/ https://pulp-rpm-user-guide.readthedocs.org/en/latest/ https://www.redhat.com/mailman/listinfo/pulp-list/
  • 85. Thank youThank youThank youThank youThank youThank youThank youThank youThank youThank youThank youThank youThank youThank youThank youThank youThank you Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question? Thanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp team
  • 86. ContactContactContactContactContactContactContactContactContactContactContactContactContactContactContactContactContact Julien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien Pivotto julien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eu @roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie inuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuits https://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.eu info@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.eu +32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636