SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
login



    Puppetmanaged.org
        How to use it in
            your
         environment



                
id



     uid=500(Yaakov M. Nemoy) gid=500(Human)
         groups=10(wheel),501(Fedora Project
        Ambassador),502(Puppetmanaged.org
    Developer),503(RHCE),666(UMC Utrecht BOFH)



                         
elinks

    ●   Puppetmanaged.org is a collection of (mostly)
        standalone common puppet modules for per
        service deployment of your infrastructure
    ●   It's designed around principles of good
        configuration management




                               
elinks

    ●   Puppet          ●   Zarafa
    ●   Mysql           ●   Openldap
    ●   Apache          ●   Openvpn
    ●   Bind            ●   Postfix
    ●   Cobbler         ●   Monit
    ●   Yum             ●   Munin
    ●   Samba           ●   Nagios
                     
elinks

    ●   Authconfig         ●   Selinux
    ●   Autofs             ●   Ssh
    ●   Func               ●   Sudo
    ●   Iptables           ●   Trac
    ●   NFS                ●   Virt
    ●   NTP                ●   Xen
    ●   Rsync              ●   Pam
                        
elinks

    ●   Each module contains
        ●   A bunch of file declarations
        ●   Gets your service up and running
        ●   RHEL default configurations
        ●   Well defined classes with logical meaning
        ●   Every class has a disabled subclass for cleanup
        ●   A pony – development, testing, and production
            branches

                                     
elinks

    ●   pm.org is file based – just deliver the files and
        get out of the way
    ●   There are five options for file locations
        ●   Environment + Host
        ●   Environment
        ●   System Wide + Host
        ●   System Wide
        ●   PM.org default
                                  
elinks
    ●   puppet://$server/private/$environment/webserver/httpd.conf.
        $hostname
    ●   puppet://$server/private/$environment/webserver/httpd.conf
    ●   puppet://$server/files/webserver/httpd.conf.$hostname
    ●   puppet://$server/files/webserver/httpd.conf
    ●   puppet://$server/webserver/httpd.conf




                                       
elinks

node 'node1.example.org' {
    include webserver

    webserver::virtualhost { "www.example.org":
        enable => true
    }

    webserver::module::enable { "php":
        enable => true
    }
}


                         
elinks
    ●   Uses definitions to create pseudo resources
    ●   Makes these modules very easy to adopt
    ●   Easy to deploy in your current infrastructure,
        one module at a time
    ●   Easy to collaborate with upstream on




                                
git clone




    All modules in a git repository




                    
make
    ●   All you need is a git repo with a directory per
        module
    ●   Each branch is a seperate environment
    ●   The master branch is the site-wide
        configuration
    ●   The pm.org puppet module handles the rest




                                
make

    ●   Some services require OS version specific files,
        then you get twenty options
        ●   OS + minor version
        ●   OS + major version
        ●   OS
        ●   Default
    ●   For example:
        ●   pam
                                  
make install
    ●   ah... um.....




                              
make install
    ●   Actually this slide should be
        febootstrap/debootstrap




                                
git svn




    I can't talk about how to fix this in your
                  environment...




                         
git svn




              Or can i?

    [Insert Shamless Hire Me Plug]




                   
git svn




    The UMC Utrecht DBG née Genomics Center is
    a public institution, so we can talk about how we
                solved the problem there




                             
git foo
    ●   There are good gateways for git and other
        source control




                               
git svn
    ●   We started with an old experimental version of
        pm.org
        ●   conf/manifests – this is our site manifest
        ●   distr/modules – one git repo per module
        ●   distr/files – legacy files
        ●   distr/files/private – file domain structure
    ●   We only have one environment currently



                                          
git branch
    ●   Each repo is cloned into the svn, then branched
        to a umc specific branch
    ●   Since we're using svn, i freely use git rebase,
        so it's obvious which patches are not yet
        upstream
    ●   The diff between development and umc is
        meant to be as short as possible



                                
emacs
    ●   Our umc branches normally just edit file
        locations and comment out code defined in
        legacy
    ●   UMC specific classes are in
        conf/manifests/classes/*pp




                               
git rebase
    ●   Every time i commit to git, i can also commit it
        to our SVN
    ●   Everytime someone else commits to svn, i can
        rebase the git on top




                                
git push
    ●   Commiting is then very easy, just switch to the
        right branch and push
    ●   git format patch is great
    ●   There is a devel mailing list open for patches
    ●   Frequent patchers can probably get commit
        access




                                
publican
    ●   Documentation is yet another git repo
    ●   We store it at documentation/
    ●   We branch and merge like usual




                               
make install
    ●   Move all code into modules or classes
    ●   Migrate to pm.org's puppet module managing
        site.pp
    ●   Sort all files into distr/files/private
    ●   Ensure every module we have is pm.org quality




                                   
make install
    ●   Move each git repo to its own toplevel in svn
        (except maybe distr/modules)
    ●   git-svn handles mapping svn branches
    ●   Fix the puppet module to do svn too




                                
cat /dev/future
    ●   Environments per working group
        ●   Each group has write access to their own branch
    ●   Porcelain – extensions on top of pm.org
        standard
    ●   More modules
    ●   Better integration with external nodes



                                   
who
    ●   ogd.nl                   ●   rpmfusion.org
    ●   kolabsys.com             ●   kanarip.com
    ●   genomicscenter.nl
    ●   op.umcutrecht.nl
    ●   berica.nl
    ●   fedoraunity.org
    ●   puppetmanaged.org


                              
wget puppetmanaged.org
    ●   http://www.puppetmanaged.org/
    ●   http://git.puppetmanaged.org/
    ●   http://www.puppetmanaged.org/mailman/listinfo
        ●   Commits
        ●   Devel
        ●   Users




                               
questions?
    ●   loupgaroublond@gmail.com
    ●   loupgaroublond on practically every social
        network, especially freenode
    ●   #ergo@freenode.net
    ●   Or just annoy kanarip
        ●   the one with the ugly haircut




                                    

Contenu connexe

Tendances

Lightweight Virtualization: LXC Best Practices
Lightweight Virtualization: LXC Best PracticesLightweight Virtualization: LXC Best Practices
Lightweight Virtualization: LXC Best Practices
Werner Fischer
 
pkgsrc on SmartOS
pkgsrc on SmartOSpkgsrc on SmartOS
pkgsrc on SmartOS
jonperkin
 

Tendances (20)

Introduction to Docker (as presented at December 2013 Global Hackathon)
Introduction to Docker (as presented at December 2013 Global Hackathon)Introduction to Docker (as presented at December 2013 Global Hackathon)
Introduction to Docker (as presented at December 2013 Global Hackathon)
 
Linux Virtualization
Linux VirtualizationLinux Virtualization
Linux Virtualization
 
N problems of Linux Containers
N problems of Linux ContainersN problems of Linux Containers
N problems of Linux Containers
 
Lvm and gang 2015
Lvm and gang 2015Lvm and gang 2015
Lvm and gang 2015
 
LinuxTag2012 Rear
LinuxTag2012 RearLinuxTag2012 Rear
LinuxTag2012 Rear
 
Introduction to containers
Introduction to containersIntroduction to containers
Introduction to containers
 
Docker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los AngelesDocker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los Angeles
 
First steps on CentOs7
First steps on CentOs7First steps on CentOs7
First steps on CentOs7
 
Containers with systemd-nspawn
Containers with systemd-nspawnContainers with systemd-nspawn
Containers with systemd-nspawn
 
Lightweight Virtualization: LXC Best Practices
Lightweight Virtualization: LXC Best PracticesLightweight Virtualization: LXC Best Practices
Lightweight Virtualization: LXC Best Practices
 
Tuning systemd for embedded
Tuning systemd for embeddedTuning systemd for embedded
Tuning systemd for embedded
 
Openvz - a quick introduction
Openvz - a quick introductionOpenvz - a quick introduction
Openvz - a quick introduction
 
pkgsrc on MirBSD
pkgsrc on MirBSDpkgsrc on MirBSD
pkgsrc on MirBSD
 
Docker and Containers for Development and Deployment — SCALE12X
Docker and Containers for Development and Deployment — SCALE12XDocker and Containers for Development and Deployment — SCALE12X
Docker and Containers for Development and Deployment — SCALE12X
 
Thinking inside the box (shared)
Thinking inside the box (shared)Thinking inside the box (shared)
Thinking inside the box (shared)
 
Lightweight Virtualization: LXC containers & AUFS
Lightweight Virtualization: LXC containers & AUFSLightweight Virtualization: LXC containers & AUFS
Lightweight Virtualization: LXC containers & AUFS
 
OpenWRT guide and memo
OpenWRT guide and memoOpenWRT guide and memo
OpenWRT guide and memo
 
pkgsrc on SmartOS
pkgsrc on SmartOSpkgsrc on SmartOS
pkgsrc on SmartOS
 
Linuxtag.ceph.talk
Linuxtag.ceph.talkLinuxtag.ceph.talk
Linuxtag.ceph.talk
 
LXC, Docker, and the future of software delivery | LinuxCon 2013
LXC, Docker, and the future of software delivery | LinuxCon 2013LXC, Docker, and the future of software delivery | LinuxCon 2013
LXC, Docker, and the future of software delivery | LinuxCon 2013
 

Similaire à Puppet managed loadays

Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Docker, Inc.
 
Android Variants, Hacks, Tricks and Resources presented at AnDevConII
Android Variants, Hacks, Tricks and Resources presented at AnDevConIIAndroid Variants, Hacks, Tricks and Resources presented at AnDevConII
Android Variants, Hacks, Tricks and Resources presented at AnDevConII
Opersys inc.
 
Native Android Userspace part of the Embedded Android Workshop at Linaro Conn...
Native Android Userspace part of the Embedded Android Workshop at Linaro Conn...Native Android Userspace part of the Embedded Android Workshop at Linaro Conn...
Native Android Userspace part of the Embedded Android Workshop at Linaro Conn...
Opersys inc.
 
Creating a mature puppet system
Creating a mature puppet systemCreating a mature puppet system
Creating a mature puppet system
rkhatibi
 
A Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and ContainersA Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and Containers
Docker, Inc.
 

Similaire à Puppet managed loadays (20)

Puppet managed loadays
Puppet managed loadaysPuppet managed loadays
Puppet managed loadays
 
My "Perfect" Toolchain Setup for Grails Projects
My "Perfect" Toolchain Setup for Grails ProjectsMy "Perfect" Toolchain Setup for Grails Projects
My "Perfect" Toolchain Setup for Grails Projects
 
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
 
Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013
 
Managing multiple environments with Ansible
Managing multiple environments with AnsibleManaging multiple environments with Ansible
Managing multiple environments with Ansible
 
Android Variants, Hacks, Tricks and Resources presented at AnDevConII
Android Variants, Hacks, Tricks and Resources presented at AnDevConIIAndroid Variants, Hacks, Tricks and Resources presented at AnDevConII
Android Variants, Hacks, Tricks and Resources presented at AnDevConII
 
Introduction to git & WordPress
Introduction to git & WordPressIntroduction to git & WordPress
Introduction to git & WordPress
 
"Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo...
"Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo..."Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo...
"Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo...
 
Repositories as Code
Repositories as CodeRepositories as Code
Repositories as Code
 
Native Android Userspace part of the Embedded Android Workshop at Linaro Conn...
Native Android Userspace part of the Embedded Android Workshop at Linaro Conn...Native Android Userspace part of the Embedded Android Workshop at Linaro Conn...
Native Android Userspace part of the Embedded Android Workshop at Linaro Conn...
 
Hands on Virtualization with Ganeti (part 1) - LinuxCon 2012
Hands on Virtualization with Ganeti (part 1)  - LinuxCon 2012Hands on Virtualization with Ganeti (part 1)  - LinuxCon 2012
Hands on Virtualization with Ganeti (part 1) - LinuxCon 2012
 
Gentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile EverythingGentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile Everything
 
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @GuidewireIntroduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
 
Creating a Mature Puppet System
Creating a Mature Puppet SystemCreating a Mature Puppet System
Creating a Mature Puppet System
 
Creating a mature puppet system
Creating a mature puppet systemCreating a mature puppet system
Creating a mature puppet system
 
Deploying software at Scale
Deploying software at ScaleDeploying software at Scale
Deploying software at Scale
 
A Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and ContainersA Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and Containers
 
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
 
Git In One Evening
Git In One EveningGit In One Evening
Git In One Evening
 
Leveraging Android's Linux Heritage
Leveraging Android's Linux HeritageLeveraging Android's Linux Heritage
Leveraging Android's Linux Heritage
 

Plus de loadays

Technical Presentation Zcp
Technical Presentation ZcpTechnical Presentation Zcp
Technical Presentation Zcp
loadays
 
Load2010 Se Linux Presentation
Load2010 Se Linux PresentationLoad2010 Se Linux Presentation
Load2010 Se Linux Presentation
loadays
 
Presentation Gosa Loaddays2010
Presentation Gosa Loaddays2010Presentation Gosa Loaddays2010
Presentation Gosa Loaddays2010
loadays
 
Load2010 Kvm Tutorial
Load2010 Kvm TutorialLoad2010 Kvm Tutorial
Load2010 Kvm Tutorial
loadays
 
Load2010 Enterprise Linux Open Space
Load2010 Enterprise Linux Open SpaceLoad2010 Enterprise Linux Open Space
Load2010 Enterprise Linux Open Space
loadays
 
Debian Secrets Loadays
Debian Secrets LoadaysDebian Secrets Loadays
Debian Secrets Loadays
loadays
 

Plus de loadays (6)

Technical Presentation Zcp
Technical Presentation ZcpTechnical Presentation Zcp
Technical Presentation Zcp
 
Load2010 Se Linux Presentation
Load2010 Se Linux PresentationLoad2010 Se Linux Presentation
Load2010 Se Linux Presentation
 
Presentation Gosa Loaddays2010
Presentation Gosa Loaddays2010Presentation Gosa Loaddays2010
Presentation Gosa Loaddays2010
 
Load2010 Kvm Tutorial
Load2010 Kvm TutorialLoad2010 Kvm Tutorial
Load2010 Kvm Tutorial
 
Load2010 Enterprise Linux Open Space
Load2010 Enterprise Linux Open SpaceLoad2010 Enterprise Linux Open Space
Load2010 Enterprise Linux Open Space
 
Debian Secrets Loadays
Debian Secrets LoadaysDebian Secrets Loadays
Debian Secrets Loadays
 

Dernier

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Dernier (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
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 Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 

Puppet managed loadays

  • 1. login Puppetmanaged.org How to use it in your environment    
  • 2. id uid=500(Yaakov M. Nemoy) gid=500(Human) groups=10(wheel),501(Fedora Project Ambassador),502(Puppetmanaged.org Developer),503(RHCE),666(UMC Utrecht BOFH)    
  • 3. elinks ● Puppetmanaged.org is a collection of (mostly) standalone common puppet modules for per service deployment of your infrastructure ● It's designed around principles of good configuration management    
  • 4. elinks ● Puppet ● Zarafa ● Mysql ● Openldap ● Apache ● Openvpn ● Bind ● Postfix ● Cobbler ● Monit ● Yum ● Munin ● Samba ● Nagios    
  • 5. elinks ● Authconfig ● Selinux ● Autofs ● Ssh ● Func ● Sudo ● Iptables ● Trac ● NFS ● Virt ● NTP ● Xen ● Rsync ● Pam    
  • 6. elinks ● Each module contains ● A bunch of file declarations ● Gets your service up and running ● RHEL default configurations ● Well defined classes with logical meaning ● Every class has a disabled subclass for cleanup ● A pony – development, testing, and production branches    
  • 7. elinks ● pm.org is file based – just deliver the files and get out of the way ● There are five options for file locations ● Environment + Host ● Environment ● System Wide + Host ● System Wide ● PM.org default    
  • 8. elinks ● puppet://$server/private/$environment/webserver/httpd.conf. $hostname ● puppet://$server/private/$environment/webserver/httpd.conf ● puppet://$server/files/webserver/httpd.conf.$hostname ● puppet://$server/files/webserver/httpd.conf ● puppet://$server/webserver/httpd.conf    
  • 9. elinks node 'node1.example.org' { include webserver webserver::virtualhost { "www.example.org": enable => true } webserver::module::enable { "php": enable => true } }    
  • 10. elinks ● Uses definitions to create pseudo resources ● Makes these modules very easy to adopt ● Easy to deploy in your current infrastructure, one module at a time ● Easy to collaborate with upstream on    
  • 11. git clone All modules in a git repository    
  • 12. make ● All you need is a git repo with a directory per module ● Each branch is a seperate environment ● The master branch is the site-wide configuration ● The pm.org puppet module handles the rest    
  • 13. make ● Some services require OS version specific files, then you get twenty options ● OS + minor version ● OS + major version ● OS ● Default ● For example: ● pam    
  • 14. make install ● ah... um.....    
  • 15. make install ● Actually this slide should be febootstrap/debootstrap    
  • 16. git svn I can't talk about how to fix this in your environment...    
  • 17. git svn Or can i? [Insert Shamless Hire Me Plug]    
  • 18. git svn The UMC Utrecht DBG née Genomics Center is a public institution, so we can talk about how we solved the problem there    
  • 19. git foo ● There are good gateways for git and other source control    
  • 20. git svn ● We started with an old experimental version of pm.org ● conf/manifests – this is our site manifest ● distr/modules – one git repo per module ● distr/files – legacy files ● distr/files/private – file domain structure ● We only have one environment currently    
  • 21. git branch ● Each repo is cloned into the svn, then branched to a umc specific branch ● Since we're using svn, i freely use git rebase, so it's obvious which patches are not yet upstream ● The diff between development and umc is meant to be as short as possible    
  • 22. emacs ● Our umc branches normally just edit file locations and comment out code defined in legacy ● UMC specific classes are in conf/manifests/classes/*pp    
  • 23. git rebase ● Every time i commit to git, i can also commit it to our SVN ● Everytime someone else commits to svn, i can rebase the git on top    
  • 24. git push ● Commiting is then very easy, just switch to the right branch and push ● git format patch is great ● There is a devel mailing list open for patches ● Frequent patchers can probably get commit access    
  • 25. publican ● Documentation is yet another git repo ● We store it at documentation/ ● We branch and merge like usual    
  • 26. make install ● Move all code into modules or classes ● Migrate to pm.org's puppet module managing site.pp ● Sort all files into distr/files/private ● Ensure every module we have is pm.org quality    
  • 27. make install ● Move each git repo to its own toplevel in svn (except maybe distr/modules) ● git-svn handles mapping svn branches ● Fix the puppet module to do svn too    
  • 28. cat /dev/future ● Environments per working group ● Each group has write access to their own branch ● Porcelain – extensions on top of pm.org standard ● More modules ● Better integration with external nodes    
  • 29. who ● ogd.nl ● rpmfusion.org ● kolabsys.com ● kanarip.com ● genomicscenter.nl ● op.umcutrecht.nl ● berica.nl ● fedoraunity.org ● puppetmanaged.org    
  • 30. wget puppetmanaged.org ● http://www.puppetmanaged.org/ ● http://git.puppetmanaged.org/ ● http://www.puppetmanaged.org/mailman/listinfo ● Commits ● Devel ● Users    
  • 31. questions? ● loupgaroublond@gmail.com ● loupgaroublond on practically every social network, especially freenode ● #ergo@freenode.net ● Or just annoy kanarip ● the one with the ugly haircut