SlideShare a Scribd company logo
Puppet and Windows 
Do’s and Don’ts
Who is that guy? 
and why should I listen to him.
Quick overview 
● Why Windows 
● Do’s 
● Don’ts 
● Recap 
● Questions
Why Windows?
We need this, 
and you seem smart
Do’s
Upgrade Puppet 
Ohhh, shiny!
Clean Code 
Keep 'em Separated
Reboots
Powershell 
An elegant weapon for a more civilized 
age.
Use the registry
Invest time in Chocolatey 
Manual Install, ain’t nobody got time for that
Add checks 
Failure is an option
Open Source 
Code like nobody’s peer reviewing.
Don’ts
Get a domain controller 
There can be only one
Try to solve it in Hiera 
Unless you enjoy puzzles
Mix slashes
Think file based 
You are going to have a bad time!
Recap
Do’s 
● Upgrade puppet 
● Clean code 
● Reboots 
● Powershell 
● Registry 
● Chocolaty 
● Add Checks 
● Open Source
Don’ts 
● Do not get a domain controller 
● Do not try to solve it in hiera 
● Do not mix slashes 
● Do not think file based
Questions?
Important Links 
Windows Package Management 
https://chocolatey.org/ 
Powershell Objects 
http://s.basg.nl/1vdVyxx
List of Modules 
puppetlabs/mssql 
rismoney/chocolatey 
badgerious/windows_env 
martezr/rdp 
rmsphd/windows_firewall 
adenning/winntp 
puppetlabs/acl 
puppetlabs/registry 
puppetlabs/reboot 
joshcooper/powershell 
puppetlabs/dism 
puppetlabs/inifile
Final Notes 
Presentation is online 
http://s.basg.nl/puppetwindows 
You can find me on Google+ 
http://google.com/+basgrolleman

More Related Content

What's hot

Writing Tools to Make Teaching Student Writing Simple
Writing Tools to Make Teaching Student Writing SimpleWriting Tools to Make Teaching Student Writing Simple
Writing Tools to Make Teaching Student Writing Simple
Vicki Davis
 
Learning to learn english
Learning to learn englishLearning to learn english
Learning to learn english
Mahmoud Mokhtar
 
Before the project
Before the projectBefore the project
Before the project
Juan Manuel Rúa Trujillo
 
ViewsWoW! (for Drupal)
ViewsWoW! (for Drupal)ViewsWoW! (for Drupal)
ViewsWoW! (for Drupal)
Adelle Frank
 
Tips for Product Management by Movile Product Coordinator
Tips for Product Management by Movile Product CoordinatorTips for Product Management by Movile Product Coordinator
Tips for Product Management by Movile Product Coordinator
Product School
 
Codesters
CodestersCodesters
Codesters
Barbara M. King
 
How to run a hackday
How to run a hackdayHow to run a hackday
How to run a hackday
RichardWarburton
 
Bruno Skvorc - The many ways to contribute to open source
Bruno Skvorc - The many ways to contribute to open sourceBruno Skvorc - The many ways to contribute to open source
Bruno Skvorc - The many ways to contribute to open source
Open Labs Albania
 

What's hot (9)

Writing Tools to Make Teaching Student Writing Simple
Writing Tools to Make Teaching Student Writing SimpleWriting Tools to Make Teaching Student Writing Simple
Writing Tools to Make Teaching Student Writing Simple
 
Web Design That Works
Web Design That WorksWeb Design That Works
Web Design That Works
 
Learning to learn english
Learning to learn englishLearning to learn english
Learning to learn english
 
Before the project
Before the projectBefore the project
Before the project
 
ViewsWoW! (for Drupal)
ViewsWoW! (for Drupal)ViewsWoW! (for Drupal)
ViewsWoW! (for Drupal)
 
Tips for Product Management by Movile Product Coordinator
Tips for Product Management by Movile Product CoordinatorTips for Product Management by Movile Product Coordinator
Tips for Product Management by Movile Product Coordinator
 
Codesters
CodestersCodesters
Codesters
 
How to run a hackday
How to run a hackdayHow to run a hackday
How to run a hackday
 
Bruno Skvorc - The many ways to contribute to open source
Bruno Skvorc - The many ways to contribute to open sourceBruno Skvorc - The many ways to contribute to open source
Bruno Skvorc - The many ways to contribute to open source
 

Similar to Puppet and windows do's and don'ts

Puppet Camp Duesseldorf 2014: Bas Grolleman - Using puppet on windows, do's a...
Puppet Camp Duesseldorf 2014: Bas Grolleman - Using puppet on windows, do's a...Puppet Camp Duesseldorf 2014: Bas Grolleman - Using puppet on windows, do's a...
Puppet Camp Duesseldorf 2014: Bas Grolleman - Using puppet on windows, do's a...
NETWAYS
 
Xconf 2014 - Contributing to Open Source
Xconf 2014 - Contributing to Open SourceXconf 2014 - Contributing to Open Source
Xconf 2014 - Contributing to Open SourceParas Narang
 
Tdd distilled... in java
Tdd distilled... in javaTdd distilled... in java
Tdd distilled... in java
Manuela Munaretto
 
Nonprofit technology common problems and some possible solutions
Nonprofit technology common problems and some possible solutionsNonprofit technology common problems and some possible solutions
Nonprofit technology common problems and some possible solutions
501 Commons
 
Intro to Tools & Resources: UMSI Orientation Fall 2014
Intro to Tools & Resources: UMSI Orientation Fall 2014Intro to Tools & Resources: UMSI Orientation Fall 2014
Intro to Tools & Resources: UMSI Orientation Fall 2014
Jackie Wolf
 
50+ Ways to Improve Your Classroom With Technology v 4.0
50+ Ways to Improve Your Classroom With Technology v 4.050+ Ways to Improve Your Classroom With Technology v 4.0
50+ Ways to Improve Your Classroom With Technology v 4.0
Vicki Davis
 
How to Build a Game in One Weekend - HackExtend Prep Day
How to Build a Game in One Weekend - HackExtend Prep DayHow to Build a Game in One Weekend - HackExtend Prep Day
How to Build a Game in One Weekend - HackExtend Prep Day
Nataly Eliyahu
 
Chocolatey Goodness: From Fringe to Mainstream #dotnetfringe
Chocolatey Goodness: From Fringe to Mainstream #dotnetfringeChocolatey Goodness: From Fringe to Mainstream #dotnetfringe
Chocolatey Goodness: From Fringe to Mainstream #dotnetfringe
Rob Reynolds
 
Everyday computer tips
Everyday computer tipsEveryday computer tips
Everyday computer tips
Holly Akers
 
Understanding and implementing website security
Understanding and implementing website securityUnderstanding and implementing website security
Understanding and implementing website security
Drew Gorton
 
LET'S TALK ANDROID Dev
LET'S TALK ANDROID DevLET'S TALK ANDROID Dev
LET'S TALK ANDROID Dev
vaibhavbhapkar3
 
Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Break...
Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Break...Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Break...
Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Break...
Puppet
 
Introduce Python
Introduce PythonIntroduce Python
Introduce Python
M Asep Indrayana
 
Software Testing Overview
Software Testing OverviewSoftware Testing Overview
Software Testing Overview
Hawkman Academy
 
Developing word press professionally
Developing word press professionallyDeveloping word press professionally
Developing word press professionally
Austin Gil
 
Common mistakes by beginners in Programming
Common mistakes by beginners in ProgrammingCommon mistakes by beginners in Programming
Common mistakes by beginners in Programming
Dejan Toteff
 
Arduino day, Bangalore
Arduino day, BangaloreArduino day, Bangalore
Arduino day, Bangalore
viralsachde
 
SummerCamp 2010
SummerCamp 2010SummerCamp 2010
SummerCamp 2010
Dru Lavigne
 

Similar to Puppet and windows do's and don'ts (20)

Puppet Camp Duesseldorf 2014: Bas Grolleman - Using puppet on windows, do's a...
Puppet Camp Duesseldorf 2014: Bas Grolleman - Using puppet on windows, do's a...Puppet Camp Duesseldorf 2014: Bas Grolleman - Using puppet on windows, do's a...
Puppet Camp Duesseldorf 2014: Bas Grolleman - Using puppet on windows, do's a...
 
Xconf 2014 - Contributing to Open Source
Xconf 2014 - Contributing to Open SourceXconf 2014 - Contributing to Open Source
Xconf 2014 - Contributing to Open Source
 
Tdd distilled... in java
Tdd distilled... in javaTdd distilled... in java
Tdd distilled... in java
 
Nonprofit technology common problems and some possible solutions
Nonprofit technology common problems and some possible solutionsNonprofit technology common problems and some possible solutions
Nonprofit technology common problems and some possible solutions
 
Intro to Tools & Resources: UMSI Orientation Fall 2014
Intro to Tools & Resources: UMSI Orientation Fall 2014Intro to Tools & Resources: UMSI Orientation Fall 2014
Intro to Tools & Resources: UMSI Orientation Fall 2014
 
50+ Ways to Improve Your Classroom With Technology v 4.0
50+ Ways to Improve Your Classroom With Technology v 4.050+ Ways to Improve Your Classroom With Technology v 4.0
50+ Ways to Improve Your Classroom With Technology v 4.0
 
How to Build a Game in One Weekend - HackExtend Prep Day
How to Build a Game in One Weekend - HackExtend Prep DayHow to Build a Game in One Weekend - HackExtend Prep Day
How to Build a Game in One Weekend - HackExtend Prep Day
 
Chocolatey Goodness: From Fringe to Mainstream #dotnetfringe
Chocolatey Goodness: From Fringe to Mainstream #dotnetfringeChocolatey Goodness: From Fringe to Mainstream #dotnetfringe
Chocolatey Goodness: From Fringe to Mainstream #dotnetfringe
 
Lvl.up
Lvl.upLvl.up
Lvl.up
 
Everyday computer tips
Everyday computer tipsEveryday computer tips
Everyday computer tips
 
Understanding and implementing website security
Understanding and implementing website securityUnderstanding and implementing website security
Understanding and implementing website security
 
LET'S TALK ANDROID Dev
LET'S TALK ANDROID DevLET'S TALK ANDROID Dev
LET'S TALK ANDROID Dev
 
Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Break...
Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Break...Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Break...
Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Break...
 
How to make a presentation
How to make a presentationHow to make a presentation
How to make a presentation
 
Introduce Python
Introduce PythonIntroduce Python
Introduce Python
 
Software Testing Overview
Software Testing OverviewSoftware Testing Overview
Software Testing Overview
 
Developing word press professionally
Developing word press professionallyDeveloping word press professionally
Developing word press professionally
 
Common mistakes by beginners in Programming
Common mistakes by beginners in ProgrammingCommon mistakes by beginners in Programming
Common mistakes by beginners in Programming
 
Arduino day, Bangalore
Arduino day, BangaloreArduino day, Bangalore
Arduino day, Bangalore
 
SummerCamp 2010
SummerCamp 2010SummerCamp 2010
SummerCamp 2010
 

Recently uploaded

When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 

Recently uploaded (20)

When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 

Puppet and windows do's and don'ts

Editor's Notes

  1. Initial Slide
  2. So, a quick introduction, my name is Bas Grolleman and I have been freelancing for over 8 years now, keeping myself running on a healthy mix of good espresso, sarcasm and whisky. From those 8 years, 6 where spend getting large sets of machines to do the same thing using puppet. And now I’m training to be a Scrum Master, because in practice, when they call in the freelancer there is this huge wishlist combined with an even larger technical debt. And I think scrum is one of the best ways to show quick results but make sure there is enough time for improvement.
  3. I’ll quickly go over the structure of this presentation.
  4. I don’t like windows, but that’s not saying much, I don’t like Mac either. And avocado’s, terrible things. Still, here I am on stage talking about Windows, so why? In the end it comes down to a single thing
  5. This is what happens, the reality of work My first experience was with Kobo, (show ereader), the ebook company Windows setups with puppet needed a lot of reboots, and where inconsistent. Brought it down to 2 reboots and reliable results. I might have actually enjoyed it a few times, as solving problems is fun. But my hair is short for a reason, it’s not all quad cores and multi screen setups.
  6. I’m a positive guy, so it will mostly be a do’s kind of presentation.
  7. At least 3.3 - Because of the Reboot module Newer is better, as windows support is improving
  8. Obvious right? If it is possible to make one piece of code that works on Linux/Windows without OS Specific stuff, do that. You can cheat with default parameters. When this is not the case, do not spread case statements everywhere Put Generic stuff at the top Case statement with Kernel for the rest Add comments when you skip stuff and why You might want to use separate files ( profile::base::windows, profile::base::linux )
  9. Windows requires reboots, and I might want to have a chat with the guy that thought rebooting wasn’t so bad. This requires some thought, because your puppet runs will be broken up Check out the puppetlabs/reboot module Fixes the issue by stopping puppet for reboot, avoiding half configured stuff Figure out what pieces of code go together Limit the amount of reboots Use fixed versions, nobody is happy when half the datacenter starts rebooting. Avoid reboots in future
  10. I don’t know powershell in depth, but I steal But I know enough to see what kind of code I’m reading Get a good powershell module (Joshcooper or Puppetlabs) Have a look at Powershell ISE when writing scripts Lead Developer - Jeffrey Snover, had excellent talk during Devops in Amsterdam
  11. puppetlabs/Registry Lot’s of stuff done in registry instead of files, crucial difference
  12. rismoney/chocolatey module I skipped this, but it saves a lot of time Package management / auto upgrades
  13. Create a module with just checks Windows Only Linux Only Use the $caller_module_name variable and a define to give clear hints
  14. Fork, even without code getting pulled, someone might help out on your version of the module Lot’s of work needs to be done Don’t worry about doing pull requests
  15. A few things I would recommend you should not be doing
  16. This will result in 2 systems wanting to control If required, make sure to check if changes aren’t returning frequently Avoid user management with a domain controller
  17. Fix stuff in one place If it only works when you have a set of hiera code, it’s hard to debug It’s even harder to implement later
  18. Mix Slashes, try to use backwards slashes all the time Works for file Doesn’t work for exec When in doubt, escape the slashes, it will work on both cases
  19. Windows is object based Files should be the last place to look Check registry Check objects using powershell
  20. This is a future reference for those looking at the presentation later If I have time to spare, I could go into one of the modules more in-depth