SlideShare une entreprise Scribd logo
1  sur  37
Télécharger pour lire hors ligne
www.cfengine.com
Vagrant & CFEngine
5/2/13
Hi, my name is Nick.
● Sysadmin > 10 Yers
● Work @CFEngine
● Live in Lawrence, KS
● @cmdln_
● http://ww.cmdln.org
5/2/13
Who are you?
● What's your name?
● Are you a sysadmin?
● Why did you choose
this session?
5/2/13
What is Vagrant?
Tool to make working with
development environments
easy.
Create, configure, destroy
lightweight, reproducible,
and portable environments.
● Created by Mitchell Hashimoto
● @mitchelh
● http://www.vagrantup.com
5/2/13
Provides common environment
Designers
Developers
Operations
QA
5/2/13
Easy to use
vagrant up
vagrant destroy
!-2
5/2/13
Portable
● VirtualBox
● AWS
● VMware
● More
● https://github.com/mitchellh/vagrant/wiki/Available-Vagrant-Plugins
5/2/13
How can it help?
● Developer
on-boarding
● Quickly setup/tear
down test
environments in
repeatable fashion
● CI
● Bug Validation
● Ad-hoc Demos
5/2/13
Install Virtualbox
http://www.virtualbox.org/wiki/Downloads
resources/installers/virtualbox
5/2/13
Install Vagrant
http://downloads.vagrantup.com
resources/installers/vagrant
5/2/13
Vagrantfile
● Describe the type of machine(s) required for a project
● Syntax of Vagrantfile is Ruby, but knowledge of the Ruby language is not
necessary. It's mostly simple variable assignment.
Vagrant.configure("2") do |config|
# All Vagrant configuration is done here. The most common configuration
# options are documented and commented below. For a complete reference,
# please see the online documentation at vagrantup.com.
# Every Vagrant virtual environment requires a box to build off of.
config.vm.box = "centos-5.x-i386_nickanderson_201304271927"
end
5/2/13
Boxes
● Predefined operating system install
● Provider specific
● http://www.vagrantbox.es
● Veewee (build your own) thanks
@patrickdebois
– Kickstart/preseed, postinstall scripts
5/2/13
Automagic
● Ssh automatic port forwards
● Shared project folder /vagrant
5/2/13
vagrant-vbguest
● Vagrant plug-in which automatically installs the
host's VirtualBox Guest Additions on the guest
system.
● vagrant plug-in install vagrant-vbguest
● If you're lucky, vagrant-vbguest does not require
any configurations. However, here is an example
config.vbguest.auto_update = true/false
● https://github.com/dotless-de/vagrant-vbguest
5/2/13
Getting started
● vagrant box list
● vagrant box add
● vagrant init
● vagrant status
● vagrant up
● vagrant ssh
● vagrant destroy
● vagrant up
● vagrant status
● vagrant ssh
– vagrant ssh node
● vagrant destroy
5/2/13
This is fantastic!
5/2/13
Build base boxes for all the things!
Black Hole
5/2/13
Automating Vagrant Provisioning
● Ansible
● CFEngine
● Chef
● Puppet
● Salt Stack
● Shell Scripts
● MixnMatch!
5/2/13
CFEngine
● IT infrastructure automation, compliance, and
knowledge management framework
● Opensource and Commercial Software
● Originally written by Mark Burgess
● @markburgess_osl
● http://www.cfengine.com
5/2/13
CFEngine History
● First released in 1993
● CFEngine 2 released in 1998, self healing
computer immunology. Added machine
learning and anomaly detection.
● 2003 Promise Theory work began
● 2008 CFEngine 3 released. Integrates
knowledge management and discovery
mechanisms.
5/2/13
CFEngine Properties
● Declarative syntax (Promises)
5/2/13
Promise Theory
● A model of voluntary cooperation between
individual, autonomous actors or agents
who publish their intentions to one another
in the form of promises.
● A file can make promises about its own
contents, permissions, existence etc …
● A process can make a promise that it will be
running, number of matching processes,
owner etc ...
5/2/13
CFEngine Properties
● Declarative syntax (Promises)
● Pull model
● Convergence
5/2/13
CFEngine Components
● cf-agent – instigator of change
● cf-execd – cf-agent launcher daemon and
output processor
● cf-serverd – File server, also listens for remote
requests to execute cf-agent
● cf-monitord – statistical information collector
5/2/13
So why is this a good thing?
● Make changes in minutes with precision
● Easier to share specific configuration details
● Brings configuration knowledge to the
forefront
5/2/13
Bootstrap a test environment
5/2/13
Editor War!
● I prefer vim, and it's fun to mess with
the emacs people
● services/editor_war.cf
5/2/13
Definitions
● Policy - A policy is a set of intentions about the system, coded as a list of promises. A policy is
not a standard, but the result of specific organizational management decisions.
● Promise - The CFEngine software manages every intended system outcome as `promises' to
be kept. A CFEngine Promise corresponds roughly to a rule in other software products, but
importantly promises are always things that can be kept and repaired continuously, on a real
time basis, not just once at install-time.
● Bundle – A collection of promises that has a name
● Body - A promise body is the description of exactly what is promised (as opposed to what/who
is making the promise). The term `body' is used in the CFEngine syntax to mean a small
template that can be used to contribute as part of a larger promise body.
● Promiser – The object that makes a promise. (file, package, process, command, ect …)
● Promisee (stakeholder) – Who cares about a specific promise.
● Class (context) – True/False propositions. All decisions are made with classes. Hard
(discovered/builtin) and soft (user-defined).
5/2/13
Wage War
● Remove Disallowed Packages
– vagrant ssh hub
– watch rpm -q emacs-nox
– Uncomment disallowed_packages to activate policy.
Watch it get fixed.
● Install Required Packages
– watch rpm -q vim-enhanced
– Uncomment required_packages to activate policy
5/2/13
More Nodes!
● Increase nodes to 2 in Vagrantfile
● vagrant up
● vagrant ssh node00{1,2}
5/2/13
Webserver
● services/webserver.cf
● Activated from bundle agent main in
promises.cf
● Lets ensure its present and on
– node001 http://localhost:9003
– node002 http://localhost:9004
5/2/13
Questions/Discussion?
5/2/13
Thank You!
Please fill out the Trainer EvaluationPlease fill out the Trainer Evaluation
Rate LOPSA-East ‘13Rate LOPSA-East ‘13
http://lopsa-east.org/2013/training-survey
Thank You for Attending LOPSA-East ‘13Thank You for Attending LOPSA-East ‘13
http://www.lopsa-east.org/2013/rate-lopsa-east-13

Contenu connexe

Tendances

Node.js meets jenkins
Node.js meets jenkinsNode.js meets jenkins
Node.js meets jenkinsEvgeny Goldin
 
Grunt - The JavaScript Task Runner
Grunt - The JavaScript Task RunnerGrunt - The JavaScript Task Runner
Grunt - The JavaScript Task RunnerMohammed Arif
 
Automate your WordPress Workflow with Grunt.js
Automate your WordPress Workflow with Grunt.jsAutomate your WordPress Workflow with Grunt.js
Automate your WordPress Workflow with Grunt.jsJosh Lee
 
Xdebug for Beginners
Xdebug for BeginnersXdebug for Beginners
Xdebug for BeginnersSean Prunka
 
Daniel Steigerwald - Este.js - konec velkého Schizma
Daniel Steigerwald - Este.js - konec velkého SchizmaDaniel Steigerwald - Este.js - konec velkého Schizma
Daniel Steigerwald - Este.js - konec velkého SchizmaDevelcz
 
Daniel Steigerwald: EsteJS - javascriptové aplikace robusně, modulárně a komf...
Daniel Steigerwald: EsteJS - javascriptové aplikace robusně, modulárně a komf...Daniel Steigerwald: EsteJS - javascriptové aplikace robusně, modulárně a komf...
Daniel Steigerwald: EsteJS - javascriptové aplikace robusně, modulárně a komf...Develcz
 
React Typescript for beginners: Translator app with Microsoft cognitive services
React Typescript for beginners: Translator app with Microsoft cognitive servicesReact Typescript for beginners: Translator app with Microsoft cognitive services
React Typescript for beginners: Translator app with Microsoft cognitive servicesFabio Biondi
 
Slash n: Technical Session 8 - Making Time - minute by minute - Janmejay Singh
Slash n: Technical Session 8 - Making Time - minute by minute - Janmejay SinghSlash n: Technical Session 8 - Making Time - minute by minute - Janmejay Singh
Slash n: Technical Session 8 - Making Time - minute by minute - Janmejay Singhslashn
 
How fast can you onboard a new team member with VAGRANT ?
How fast can you onboard a new team member with VAGRANT ?How fast can you onboard a new team member with VAGRANT ?
How fast can you onboard a new team member with VAGRANT ?Vivek Parihar
 
BlackBerry 10 Browser
BlackBerry 10 BrowserBlackBerry 10 Browser
BlackBerry 10 BrowserErik Johnson
 
【初心者歓迎】Gitハンズオンセミナー 導入編
【初心者歓迎】Gitハンズオンセミナー 導入編【初心者歓迎】Gitハンズオンセミナー 導入編
【初心者歓迎】Gitハンズオンセミナー 導入編Beluga
 
Introduction to Google Web Toolkit - part 1
Introduction to Google Web Toolkit - part 1Introduction to Google Web Toolkit - part 1
Introduction to Google Web Toolkit - part 1Muhammad Ghazali
 
Export pdf with puppeteer
Export pdf with puppeteerExport pdf with puppeteer
Export pdf with puppeteerKnoldus Inc.
 
How is Java / JVM built ? Back then and now...
How is Java / JVM built ? Back then and now...How is Java / JVM built ? Back then and now...
How is Java / JVM built ? Back then and now...Mani Sarkar
 
First steps with GWT @ Google IO Extended - Pordenone
First steps with GWT @ Google IO Extended - PordenoneFirst steps with GWT @ Google IO Extended - Pordenone
First steps with GWT @ Google IO Extended - PordenoneGiampaolo Trapasso
 
10 tips for continuous integration
10 tips for continuous integration10 tips for continuous integration
10 tips for continuous integrationVladimir Roudakov
 
Live development & tools
Live development & toolsLive development & tools
Live development & toolsbotsplash.com
 
You're doing it wrong! Git it right!
You're doing it wrong! Git it right!You're doing it wrong! Git it right!
You're doing it wrong! Git it right!Cory Webb
 

Tendances (20)

Node.js meets jenkins
Node.js meets jenkinsNode.js meets jenkins
Node.js meets jenkins
 
Grunt - The JavaScript Task Runner
Grunt - The JavaScript Task RunnerGrunt - The JavaScript Task Runner
Grunt - The JavaScript Task Runner
 
Automate your WordPress Workflow with Grunt.js
Automate your WordPress Workflow with Grunt.jsAutomate your WordPress Workflow with Grunt.js
Automate your WordPress Workflow with Grunt.js
 
Selenium camp v1
Selenium camp v1Selenium camp v1
Selenium camp v1
 
Cyborgstack
CyborgstackCyborgstack
Cyborgstack
 
Xdebug for Beginners
Xdebug for BeginnersXdebug for Beginners
Xdebug for Beginners
 
Daniel Steigerwald - Este.js - konec velkého Schizma
Daniel Steigerwald - Este.js - konec velkého SchizmaDaniel Steigerwald - Este.js - konec velkého Schizma
Daniel Steigerwald - Este.js - konec velkého Schizma
 
Daniel Steigerwald: EsteJS - javascriptové aplikace robusně, modulárně a komf...
Daniel Steigerwald: EsteJS - javascriptové aplikace robusně, modulárně a komf...Daniel Steigerwald: EsteJS - javascriptové aplikace robusně, modulárně a komf...
Daniel Steigerwald: EsteJS - javascriptové aplikace robusně, modulárně a komf...
 
React Typescript for beginners: Translator app with Microsoft cognitive services
React Typescript for beginners: Translator app with Microsoft cognitive servicesReact Typescript for beginners: Translator app with Microsoft cognitive services
React Typescript for beginners: Translator app with Microsoft cognitive services
 
Slash n: Technical Session 8 - Making Time - minute by minute - Janmejay Singh
Slash n: Technical Session 8 - Making Time - minute by minute - Janmejay SinghSlash n: Technical Session 8 - Making Time - minute by minute - Janmejay Singh
Slash n: Technical Session 8 - Making Time - minute by minute - Janmejay Singh
 
How fast can you onboard a new team member with VAGRANT ?
How fast can you onboard a new team member with VAGRANT ?How fast can you onboard a new team member with VAGRANT ?
How fast can you onboard a new team member with VAGRANT ?
 
BlackBerry 10 Browser
BlackBerry 10 BrowserBlackBerry 10 Browser
BlackBerry 10 Browser
 
【初心者歓迎】Gitハンズオンセミナー 導入編
【初心者歓迎】Gitハンズオンセミナー 導入編【初心者歓迎】Gitハンズオンセミナー 導入編
【初心者歓迎】Gitハンズオンセミナー 導入編
 
Introduction to Google Web Toolkit - part 1
Introduction to Google Web Toolkit - part 1Introduction to Google Web Toolkit - part 1
Introduction to Google Web Toolkit - part 1
 
Export pdf with puppeteer
Export pdf with puppeteerExport pdf with puppeteer
Export pdf with puppeteer
 
How is Java / JVM built ? Back then and now...
How is Java / JVM built ? Back then and now...How is Java / JVM built ? Back then and now...
How is Java / JVM built ? Back then and now...
 
First steps with GWT @ Google IO Extended - Pordenone
First steps with GWT @ Google IO Extended - PordenoneFirst steps with GWT @ Google IO Extended - Pordenone
First steps with GWT @ Google IO Extended - Pordenone
 
10 tips for continuous integration
10 tips for continuous integration10 tips for continuous integration
10 tips for continuous integration
 
Live development & tools
Live development & toolsLive development & tools
Live development & tools
 
You're doing it wrong! Git it right!
You're doing it wrong! Git it right!You're doing it wrong! Git it right!
You're doing it wrong! Git it right!
 

En vedette

Bicing Analysis - Villes Cyclables
Bicing Analysis - Villes CyclablesBicing Analysis - Villes Cyclables
Bicing Analysis - Villes Cyclablesjgrivolla
 
Toronto VMware User Group Opening - Angelo Luciani
Toronto VMware User Group Opening - Angelo LucianiToronto VMware User Group Opening - Angelo Luciani
Toronto VMware User Group Opening - Angelo LucianiAngelo Luciani
 
Ohio Linux Fest 2013: Provisioning VMs Quickly with Vagrant and CFEngine
Ohio Linux Fest 2013: Provisioning VMs Quickly with Vagrant and CFEngineOhio Linux Fest 2013: Provisioning VMs Quickly with Vagrant and CFEngine
Ohio Linux Fest 2013: Provisioning VMs Quickly with Vagrant and CFEngineNick Anderson
 
CloudOpen North America 2013: Vagrant & CFEngine
CloudOpen North America 2013: Vagrant & CFEngineCloudOpen North America 2013: Vagrant & CFEngine
CloudOpen North America 2013: Vagrant & CFEngineNick Anderson
 
Spoofing - o retorno
Spoofing - o retornoSpoofing - o retorno
Spoofing - o retornoLouise Scoz
 
Maximize Community Toronto VMUG - Mike Preston
Maximize Community Toronto VMUG - Mike PrestonMaximize Community Toronto VMUG - Mike Preston
Maximize Community Toronto VMUG - Mike PrestonAngelo Luciani
 
Security_Practices_with_CFEngine-cfgcamp_2016
Security_Practices_with_CFEngine-cfgcamp_2016Security_Practices_with_CFEngine-cfgcamp_2016
Security_Practices_with_CFEngine-cfgcamp_2016Nick Anderson
 
OpenStack and the Industry Shift with Open Cloud - Eric Wright
OpenStack and the Industry Shift with Open Cloud - Eric WrightOpenStack and the Industry Shift with Open Cloud - Eric Wright
OpenStack and the Industry Shift with Open Cloud - Eric WrightAngelo Luciani
 
The Heisenberg Uncertainty Principle[1]
The Heisenberg Uncertainty Principle[1]The Heisenberg Uncertainty Principle[1]
The Heisenberg Uncertainty Principle[1]guestea12c43
 
Stephen Covey The 90/10 Principle
Stephen Covey The 90/10 PrincipleStephen Covey The 90/10 Principle
Stephen Covey The 90/10 PrincipleChamnan Nop
 
Green Technology Powerpoint
Green Technology PowerpointGreen Technology Powerpoint
Green Technology Powerpointtylersihelnick
 

En vedette (15)

2016-02-01_dark
2016-02-01_dark2016-02-01_dark
2016-02-01_dark
 
P P T Flor S
P P T  Flor  SP P T  Flor  S
P P T Flor S
 
Bicing Analysis - Villes Cyclables
Bicing Analysis - Villes CyclablesBicing Analysis - Villes Cyclables
Bicing Analysis - Villes Cyclables
 
Ppt Flor S
Ppt Flor SPpt Flor S
Ppt Flor S
 
Toronto VMware User Group Opening - Angelo Luciani
Toronto VMware User Group Opening - Angelo LucianiToronto VMware User Group Opening - Angelo Luciani
Toronto VMware User Group Opening - Angelo Luciani
 
Ohio Linux Fest 2013: Provisioning VMs Quickly with Vagrant and CFEngine
Ohio Linux Fest 2013: Provisioning VMs Quickly with Vagrant and CFEngineOhio Linux Fest 2013: Provisioning VMs Quickly with Vagrant and CFEngine
Ohio Linux Fest 2013: Provisioning VMs Quickly with Vagrant and CFEngine
 
CloudOpen North America 2013: Vagrant & CFEngine
CloudOpen North America 2013: Vagrant & CFEngineCloudOpen North America 2013: Vagrant & CFEngine
CloudOpen North America 2013: Vagrant & CFEngine
 
Spoofing - o retorno
Spoofing - o retornoSpoofing - o retorno
Spoofing - o retorno
 
Maximize Community Toronto VMUG - Mike Preston
Maximize Community Toronto VMUG - Mike PrestonMaximize Community Toronto VMUG - Mike Preston
Maximize Community Toronto VMUG - Mike Preston
 
Green
GreenGreen
Green
 
Security_Practices_with_CFEngine-cfgcamp_2016
Security_Practices_with_CFEngine-cfgcamp_2016Security_Practices_with_CFEngine-cfgcamp_2016
Security_Practices_with_CFEngine-cfgcamp_2016
 
OpenStack and the Industry Shift with Open Cloud - Eric Wright
OpenStack and the Industry Shift with Open Cloud - Eric WrightOpenStack and the Industry Shift with Open Cloud - Eric Wright
OpenStack and the Industry Shift with Open Cloud - Eric Wright
 
The Heisenberg Uncertainty Principle[1]
The Heisenberg Uncertainty Principle[1]The Heisenberg Uncertainty Principle[1]
The Heisenberg Uncertainty Principle[1]
 
Stephen Covey The 90/10 Principle
Stephen Covey The 90/10 PrincipleStephen Covey The 90/10 Principle
Stephen Covey The 90/10 Principle
 
Green Technology Powerpoint
Green Technology PowerpointGreen Technology Powerpoint
Green Technology Powerpoint
 

Similaire à Vagrant & CFEngine - LOPSA East 2013

Take Home Your Very Own Free Vagrant CFML Dev Environment
Take Home Your Very Own Free Vagrant CFML Dev Environment Take Home Your Very Own Free Vagrant CFML Dev Environment
Take Home Your Very Own Free Vagrant CFML Dev Environment ColdFusionConference
 
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....Gavin Pickin
 
Magento Docker Setup.pdf
Magento Docker Setup.pdfMagento Docker Setup.pdf
Magento Docker Setup.pdfAbid Malik
 
Kubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad Assis
Kubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad AssisKubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad Assis
Kubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad AssisAgileSparks
 
Crikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor WorkshopCrikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor WorkshopVelocidex Enterprises
 
[Gstar 2013] Unity Security
[Gstar 2013] Unity Security[Gstar 2013] Unity Security
[Gstar 2013] Unity SecuritySeungmin Shin
 
Continuous Integration using Cruise Control
Continuous Integration using Cruise ControlContinuous Integration using Cruise Control
Continuous Integration using Cruise Controlelliando dias
 
The Final Frontier, Automating Dynamic Security Testing
The Final Frontier, Automating Dynamic Security TestingThe Final Frontier, Automating Dynamic Security Testing
The Final Frontier, Automating Dynamic Security TestingMatt Tesauro
 
Setup ColdFusion application using fusebox mvc architecture
Setup ColdFusion application using fusebox mvc architectureSetup ColdFusion application using fusebox mvc architecture
Setup ColdFusion application using fusebox mvc architectureMindfire Solutions
 
Break Up the Monolith- Testing Microservices by Marcus Merrell
Break Up the Monolith- Testing Microservices by Marcus MerrellBreak Up the Monolith- Testing Microservices by Marcus Merrell
Break Up the Monolith- Testing Microservices by Marcus MerrellSauce Labs
 
The State of the Veil Framework
The State of the Veil FrameworkThe State of the Veil Framework
The State of the Veil FrameworkVeilFramework
 
Secure your Secrets and Settings in ColdFusion
Secure your Secrets and Settings in ColdFusionSecure your Secrets and Settings in ColdFusion
Secure your Secrets and Settings in ColdFusionOrtus Solutions, Corp
 
Deploying software at Scale
Deploying software at ScaleDeploying software at Scale
Deploying software at ScaleKris Buytaert
 

Similaire à Vagrant & CFEngine - LOPSA East 2013 (20)

CFEngine 3
CFEngine 3CFEngine 3
CFEngine 3
 
Take Home Your Very Own Free Vagrant CFML Dev Environment
Take Home Your Very Own Free Vagrant CFML Dev Environment Take Home Your Very Own Free Vagrant CFML Dev Environment
Take Home Your Very Own Free Vagrant CFML Dev Environment
 
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
 
It gilde 20150209
It gilde 20150209It gilde 20150209
It gilde 20150209
 
Continuous integration (eng)
Continuous integration (eng)Continuous integration (eng)
Continuous integration (eng)
 
Magento Docker Setup.pdf
Magento Docker Setup.pdfMagento Docker Setup.pdf
Magento Docker Setup.pdf
 
12 tricks to avoid hackers breaks your CI / CD
12 tricks to avoid hackers breaks your  CI / CD12 tricks to avoid hackers breaks your  CI / CD
12 tricks to avoid hackers breaks your CI / CD
 
Kubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad Assis
Kubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad AssisKubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad Assis
Kubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad Assis
 
Headless Android
Headless AndroidHeadless Android
Headless Android
 
Crikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor WorkshopCrikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor Workshop
 
[Gstar 2013] Unity Security
[Gstar 2013] Unity Security[Gstar 2013] Unity Security
[Gstar 2013] Unity Security
 
Continuous Integration using Cruise Control
Continuous Integration using Cruise ControlContinuous Integration using Cruise Control
Continuous Integration using Cruise Control
 
The Final Frontier, Automating Dynamic Security Testing
The Final Frontier, Automating Dynamic Security TestingThe Final Frontier, Automating Dynamic Security Testing
The Final Frontier, Automating Dynamic Security Testing
 
Setup ColdFusion application using fusebox mvc architecture
Setup ColdFusion application using fusebox mvc architectureSetup ColdFusion application using fusebox mvc architecture
Setup ColdFusion application using fusebox mvc architecture
 
Break Up the Monolith- Testing Microservices by Marcus Merrell
Break Up the Monolith- Testing Microservices by Marcus MerrellBreak Up the Monolith- Testing Microservices by Marcus Merrell
Break Up the Monolith- Testing Microservices by Marcus Merrell
 
The State of the Veil Framework
The State of the Veil FrameworkThe State of the Veil Framework
The State of the Veil Framework
 
Front end development gurant
Front end development gurantFront end development gurant
Front end development gurant
 
Distributed fun with etcd
Distributed fun with etcdDistributed fun with etcd
Distributed fun with etcd
 
Secure your Secrets and Settings in ColdFusion
Secure your Secrets and Settings in ColdFusionSecure your Secrets and Settings in ColdFusion
Secure your Secrets and Settings in ColdFusion
 
Deploying software at Scale
Deploying software at ScaleDeploying software at Scale
Deploying software at Scale
 

Dernier

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
[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
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
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
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Dernier (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
[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
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
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...
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

Vagrant & CFEngine - LOPSA East 2013

  • 2. 5/2/13 Hi, my name is Nick. ● Sysadmin > 10 Yers ● Work @CFEngine ● Live in Lawrence, KS ● @cmdln_ ● http://ww.cmdln.org
  • 3. 5/2/13 Who are you? ● What's your name? ● Are you a sysadmin? ● Why did you choose this session?
  • 4. 5/2/13 What is Vagrant? Tool to make working with development environments easy. Create, configure, destroy lightweight, reproducible, and portable environments. ● Created by Mitchell Hashimoto ● @mitchelh ● http://www.vagrantup.com
  • 6. 5/2/13 Easy to use vagrant up vagrant destroy !-2
  • 7. 5/2/13 Portable ● VirtualBox ● AWS ● VMware ● More ● https://github.com/mitchellh/vagrant/wiki/Available-Vagrant-Plugins
  • 8. 5/2/13 How can it help? ● Developer on-boarding ● Quickly setup/tear down test environments in repeatable fashion ● CI ● Bug Validation ● Ad-hoc Demos
  • 11. 5/2/13 Vagrantfile ● Describe the type of machine(s) required for a project ● Syntax of Vagrantfile is Ruby, but knowledge of the Ruby language is not necessary. It's mostly simple variable assignment. Vagrant.configure("2") do |config| # All Vagrant configuration is done here. The most common configuration # options are documented and commented below. For a complete reference, # please see the online documentation at vagrantup.com. # Every Vagrant virtual environment requires a box to build off of. config.vm.box = "centos-5.x-i386_nickanderson_201304271927" end
  • 12. 5/2/13 Boxes ● Predefined operating system install ● Provider specific ● http://www.vagrantbox.es ● Veewee (build your own) thanks @patrickdebois – Kickstart/preseed, postinstall scripts
  • 13. 5/2/13 Automagic ● Ssh automatic port forwards ● Shared project folder /vagrant
  • 14. 5/2/13 vagrant-vbguest ● Vagrant plug-in which automatically installs the host's VirtualBox Guest Additions on the guest system. ● vagrant plug-in install vagrant-vbguest ● If you're lucky, vagrant-vbguest does not require any configurations. However, here is an example config.vbguest.auto_update = true/false ● https://github.com/dotless-de/vagrant-vbguest
  • 15. 5/2/13 Getting started ● vagrant box list ● vagrant box add ● vagrant init ● vagrant status ● vagrant up ● vagrant ssh ● vagrant destroy ● vagrant up ● vagrant status ● vagrant ssh – vagrant ssh node ● vagrant destroy
  • 17. 5/2/13 Build base boxes for all the things!
  • 18.
  • 20. 5/2/13 Automating Vagrant Provisioning ● Ansible ● CFEngine ● Chef ● Puppet ● Salt Stack ● Shell Scripts ● MixnMatch!
  • 21. 5/2/13 CFEngine ● IT infrastructure automation, compliance, and knowledge management framework ● Opensource and Commercial Software ● Originally written by Mark Burgess ● @markburgess_osl ● http://www.cfengine.com
  • 22. 5/2/13 CFEngine History ● First released in 1993 ● CFEngine 2 released in 1998, self healing computer immunology. Added machine learning and anomaly detection. ● 2003 Promise Theory work began ● 2008 CFEngine 3 released. Integrates knowledge management and discovery mechanisms.
  • 24. 5/2/13 Promise Theory ● A model of voluntary cooperation between individual, autonomous actors or agents who publish their intentions to one another in the form of promises. ● A file can make promises about its own contents, permissions, existence etc … ● A process can make a promise that it will be running, number of matching processes, owner etc ...
  • 25. 5/2/13 CFEngine Properties ● Declarative syntax (Promises) ● Pull model ● Convergence
  • 26. 5/2/13 CFEngine Components ● cf-agent – instigator of change ● cf-execd – cf-agent launcher daemon and output processor ● cf-serverd – File server, also listens for remote requests to execute cf-agent ● cf-monitord – statistical information collector
  • 27. 5/2/13 So why is this a good thing? ● Make changes in minutes with precision ● Easier to share specific configuration details ● Brings configuration knowledge to the forefront
  • 28. 5/2/13 Bootstrap a test environment
  • 29. 5/2/13 Editor War! ● I prefer vim, and it's fun to mess with the emacs people ● services/editor_war.cf
  • 30. 5/2/13 Definitions ● Policy - A policy is a set of intentions about the system, coded as a list of promises. A policy is not a standard, but the result of specific organizational management decisions. ● Promise - The CFEngine software manages every intended system outcome as `promises' to be kept. A CFEngine Promise corresponds roughly to a rule in other software products, but importantly promises are always things that can be kept and repaired continuously, on a real time basis, not just once at install-time. ● Bundle – A collection of promises that has a name ● Body - A promise body is the description of exactly what is promised (as opposed to what/who is making the promise). The term `body' is used in the CFEngine syntax to mean a small template that can be used to contribute as part of a larger promise body. ● Promiser – The object that makes a promise. (file, package, process, command, ect …) ● Promisee (stakeholder) – Who cares about a specific promise. ● Class (context) – True/False propositions. All decisions are made with classes. Hard (discovered/builtin) and soft (user-defined).
  • 31.
  • 32. 5/2/13 Wage War ● Remove Disallowed Packages – vagrant ssh hub – watch rpm -q emacs-nox – Uncomment disallowed_packages to activate policy. Watch it get fixed. ● Install Required Packages – watch rpm -q vim-enhanced – Uncomment required_packages to activate policy
  • 33. 5/2/13 More Nodes! ● Increase nodes to 2 in Vagrantfile ● vagrant up ● vagrant ssh node00{1,2}
  • 34. 5/2/13 Webserver ● services/webserver.cf ● Activated from bundle agent main in promises.cf ● Lets ensure its present and on – node001 http://localhost:9003 – node002 http://localhost:9004
  • 37. Please fill out the Trainer EvaluationPlease fill out the Trainer Evaluation Rate LOPSA-East ‘13Rate LOPSA-East ‘13 http://lopsa-east.org/2013/training-survey Thank You for Attending LOPSA-East ‘13Thank You for Attending LOPSA-East ‘13 http://www.lopsa-east.org/2013/rate-lopsa-east-13