SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
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




                                    

Weitere ähnliche Inhalte

Was ist angesagt?

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)Jérôme Petazzoni
 
Linux Virtualization
Linux VirtualizationLinux Virtualization
Linux VirtualizationOpenVZ
 
N problems of Linux Containers
N problems of Linux ContainersN problems of Linux Containers
N problems of Linux ContainersKirill Kolyshkin
 
Lvm and gang 2015
Lvm and gang 2015Lvm and gang 2015
Lvm and gang 2015plarsen67
 
Introduction to containers
Introduction to containersIntroduction to containers
Introduction to containersNitish Jadia
 
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 AngelesJérôme Petazzoni
 
Containers with systemd-nspawn
Containers with systemd-nspawnContainers with systemd-nspawn
Containers with systemd-nspawnGábor Nyers
 
Lightweight Virtualization: LXC Best Practices
Lightweight Virtualization: LXC Best PracticesLightweight Virtualization: LXC Best Practices
Lightweight Virtualization: LXC Best PracticesWerner Fischer
 
Tuning systemd for embedded
Tuning systemd for embeddedTuning systemd for embedded
Tuning systemd for embeddedAlison Chaiken
 
Openvz - a quick introduction
Openvz - a quick introductionOpenvz - a quick introduction
Openvz - a quick introductionOlle E Johansson
 
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 — SCALE12XJérôme Petazzoni
 
Thinking inside the box (shared)
Thinking inside the box (shared)Thinking inside the box (shared)
Thinking inside the box (shared)Joe Brockmeier
 
Lightweight Virtualization: LXC containers & AUFS
Lightweight Virtualization: LXC containers & AUFSLightweight Virtualization: LXC containers & AUFS
Lightweight Virtualization: LXC containers & AUFSJérôme Petazzoni
 
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 SmartOSjonperkin
 
Linuxtag.ceph.talk
Linuxtag.ceph.talkLinuxtag.ceph.talk
Linuxtag.ceph.talkUdo Seidel
 
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 2013dotCloud
 

Was ist angesagt? (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
 

Ähnlich wie Puppet managed loadays

Puppet managed loadays
Puppet managed loadaysPuppet managed loadays
Puppet managed loadaysYankee Nemoy
 
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 ProjectsGR8Conf
 
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 2013dotCloud
 
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 2013Docker, Inc.
 
Managing multiple environments with Ansible
Managing multiple environments with AnsibleManaging multiple environments with Ansible
Managing multiple environments with Ansiblejtyr
 
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 AnDevConIIOpersys inc.
 
Introduction to git & WordPress
Introduction to git & WordPressIntroduction to git & WordPress
Introduction to git & WordPressJosh Lee
 
"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...Yandex
 
Repositories as Code
Repositories as CodeRepositories as Code
Repositories as CodeKris Buytaert
 
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.
 
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 2012Lance Albertson
 
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 EverythingDonnie Berkholz
 
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 @GuidewiredotCloud
 
Creating a mature puppet system
Creating a mature puppet systemCreating a mature puppet system
Creating a mature puppet systemrkhatibi
 
Creating a Mature Puppet System
Creating a Mature Puppet SystemCreating a Mature Puppet System
Creating a Mature Puppet SystemPuppet
 
Deploying software at Scale
Deploying software at ScaleDeploying software at Scale
Deploying software at ScaleKris Buytaert
 
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 ContainersDocker, Inc.
 
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...Puppet
 
Leveraging Android's Linux Heritage
Leveraging Android's Linux HeritageLeveraging Android's Linux Heritage
Leveraging Android's Linux HeritageOpersys inc.
 

Ähnlich wie 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
 

Mehr von loadays

Technical Presentation Zcp
Technical Presentation ZcpTechnical Presentation Zcp
Technical Presentation Zcploadays
 
Load2010 Se Linux Presentation
Load2010 Se Linux PresentationLoad2010 Se Linux Presentation
Load2010 Se Linux Presentationloadays
 
Presentation Gosa Loaddays2010
Presentation Gosa Loaddays2010Presentation Gosa Loaddays2010
Presentation Gosa Loaddays2010loadays
 
Load2010 Kvm Tutorial
Load2010 Kvm TutorialLoad2010 Kvm Tutorial
Load2010 Kvm Tutorialloadays
 
Load2010 Enterprise Linux Open Space
Load2010 Enterprise Linux Open SpaceLoad2010 Enterprise Linux Open Space
Load2010 Enterprise Linux Open Spaceloadays
 
Debian Secrets Loadays
Debian Secrets LoadaysDebian Secrets Loadays
Debian Secrets Loadaysloadays
 

Mehr von 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
 

Kürzlich hochgeladen

[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.pdfhans926745
 
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...Miguel Araújo
 
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...Drew Madelung
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
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 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
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...Enterprise Knowledge
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
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 2024Results
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
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?Igalia
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 

Kürzlich hochgeladen (20)

[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
 
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...
 
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...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
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...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
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?
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

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