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

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
 

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

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 SystemPuppet
 
Creating a mature puppet system
Creating a mature puppet systemCreating a mature puppet system
Creating a mature puppet systemrkhatibi
 
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.
 

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

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

Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 

Dernier (20)

Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 

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