SlideShare a Scribd company logo
1 of 32
Download to read offline
Chef 0.10 Overview
Speaker:

Matt Ray Sr. Technical Evangelist
  ‣ matt@opscode.com
  ‣ @mattray
  ‣ www.opscode.com
                 Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported   1
Agenda

Environments
Knife Plugins
Encrypted Data Bags
Windows Support
Cookbook Updates



         Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported   2
Environments



  Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported   3
Environments - Ruby DSL

 # name and description are what you'd expect
 name "development"
 description "The development environment"

                # use version 11.0.0 *only*
 cookbook_versions "couchdb" => "= 11.0.0",
                # use versions greater than 0.99.0
                # and less than 0.100.0
                "application" => "~> 0.99"

                # default attributes for this environment
 attributes "apache2" => { "listen_ports" => [ "80", "443" ] }




                   Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported   4
Environments - JSON
 {
     "name": "development",
     "default_attributes": {
         "apache2": {
             "listen_ports": [
                 "80",
                 "443"
             ]
         }
     },
     "json_class": "Chef::Environment",
     "description": "The development environment",
     "cookbook_versions": {
         "couchdb" => "11.0.0",
         "application" => "~> 0.99"
     },
     "chef_type": "environment"
 }




                   Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported   5
Environments - knife environment

    $ knife environment
    ** ENVIRONMENT COMMANDS **
    knife environment list (options)
    knife environment show ENVIRONMENT (options)
    knife environment edit ENVIRONMENT (options)
    knife environment create ENVIRONMENT (options)
    knife environment from file FILE (options)
    knife environment delete ENVIRONMENT (options)

    $ knife environment list
      development
      preproduction
      production
      qa

    $ knife environment create dev




                 Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported   6
Environments - knife node



  $ knife node create --help| grep environment
      -E, --environment ENVIRONMENT    Set the Chef environment

  $ knife bootstrap --help | grep environment
      -E, --environment ENVIRONMENT    Set the Chef environment




                    Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported   7
Environments - knife cookbook

    $ knife cookbook upload redis --freeze
    Uploading redis...
    upload complete

    $ knife cookbook show redis 0.1.6 |grep frozen
    frozen?:! true

    $ knife cookbook upload redis
    Uploading redis...
    ERROR: Version 0.1.6 of cookbook redis is frozen.
    Use --force to override.




                 Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported   8
Environments - Run Lists in Roles
       {
           "name": "webserver",
           "default_attributes": {
           },
           "json_class": "Chef::Role",
           "run_list": [
               "role[base]",
               "recipe[apache]"
           ],
           "env_run_lists" : {
               "production" : [],
               "preprod" : [],
               "dev": [
                   "role[base]",
                   "recipe[apache]",
                   "recipe[apache::copy_dev_configs]",
               ],
               "test": [
                   "role[base]",
                   "recipe[apache]"
               ]
           },
           "description": "The webserver role",
           "chef_type": "role",
           "override_attributes": {}
       }

                Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported   9
Environments - Workflows
How important is it to keep your environment files in source control?
  Only edit source files
  Everything in version control
Do you want to edit environments in the management console (Web UI)?
  Use role-based access controls
  to restrict changes



                       Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported   10
Knife Plugins



  Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported   http://www.flickr.com/photos/75659300@N00/2615848530/   11
Knife Plugins
    require 'chef/knife'

    module Kallistec
      class Grep < Chef::Knife

       deps do
         require 'chef/knife/search'
       end

        banner "knife grep QUERY"

       def run
         unless @query = name_args.first
           ui.error "You need to specify a query term"
           exit 1
         end

          fuzzier_query = "tags:*#{@query}* OR roles:*#{@query}* OR fqdn"
          knife_search = Chef::Knife::Search.new
          knife_search.name_args = ['node', fuzzier_query]
          knife_search.run

        end
      end
    end




                       Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported   12
Knife Plugins
    require 'chef/knife'

    module Kallistec
      class Grep < Chef::Knife

       deps do
         require 'chef/knife/search'
       end

        banner "knife grep QUERY"

       def run
         unless @query = name_args.first
           ui.error "You need to specify a query term"
           exit 1
         end

          fuzzier_query = "tags:*#{@query}* OR roles:*#{@query}* OR fqdn"
          knife_search = Chef::Knife::Search.new
          knife_search.name_args = ['node', fuzzier_query]
          knife_search.run

        end
      end
    end




                       Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported   13
Knife Plugins
    require 'chef/knife'

    module Kallistec
      class Grep < Chef::Knife

       deps do
         require 'chef/knife/search'
       end

       banner "knife grep QUERY"

       def run
         unless @query = name_args.first
           ui.error "You need to specify a query term"
           exit 1
         end

          fuzzier_query = "tags:*#{@query}* OR roles:*#{@query}* OR fqdn"
          knife_search = Chef::Knife::Search.new
          knife_search.name_args = ['node', fuzzier_query]
          knife_search.run

        end
      end
    end




                       Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported   14
Knife Plugins
    require 'chef/knife'

    module Kallistec
      class Grep < Chef::Knife

       deps do
         require 'chef/knife/search'
       end

        banner "knife grep QUERY"

       def run
         unless @query = name_args.first
           ui.error "You need to specify a query term"
           exit 1
         end

          fuzzier_query = "tags:*#{@query}* OR roles:*#{@query}* OR fqdn"
          knife_search = Chef::Knife::Search.new
          knife_search.name_args = ['node', fuzzier_query]
          knife_search.run

        end
      end
    end




                       Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported   15
Knife Plugins
      $ knife grep ghost
      1 items found

      Node Name:                         ghost.local
      Environment:                       production
      FQDN:                              ghost.local
      IP:                                172.16.185.135
      Run List:                          recipe[tmux]
      Roles:
      Recipes                            tmux
      Platform:                          ubuntu 10.04




             Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported   16
Knife Plugins
Cloud commands are now knife plugins
 knife-ec2
 knife-rackspace
 knife-bluebox
 knife-slicehost
 knife-terremark
 knife-openstack
 knife-windows
                   Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported   17
Knife Output
$ knife node show crushinator.localdomain
Node Name:   crushinator.localdomain
Environment: _default
FQDN:        crushinator.localdomain
IP:          192.168.11.64
Run List:    recipe[apt::cacher-client], role[nova-ami-urls],
role[nova-multi-controller]
Roles:       nova-ami-urls, nova-super-user-setup, nova-cloud-
controller, nova-head, nova-mysql-server, nova-rabbitmq-server,
nova-support-server, nova-multi-controller
Recipes      apt::cacher-client, build-essential, nova::mysql,
apt, rabbitmq, nova::rabbit, nova::api, nova::objectstore,
nova::scheduler, nova::network, nova::setup, nova::creds,
nova::finalize
Platform:    ubuntu 10.10




                    Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported   18
Knife Updates

 knife cookbook site install
  was "knife cookbook site vendor"
 knife help
  greatly expanded, each subcommand covered




                 Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported   19
Encrypted Data Bags



     Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported   http://www.flickr.com/photos/genbug/3883032678/   20
Encrypted Data Bags

Create a new encrypted data bag item
 $ openssl rand -base64 512 > /tmp/my_data_bag_key
 $ knife data bag create --secret_file /tmp/my_data_bag_key
 passwords mysql
 # Enter user and password credentials in the editor and save




                    Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported   21
Encrypted Data Bags

Verify that the data bag has been created
and encrypted
 $ knife data bag show passwords mysql
 {
     "id": "mysql",
     "pass": "trywgFA6R70NO28PNhMpGhEvKBZuxouemnbnAUQsUyo=n",
     "user": "e/p+8WJYVHY9fHcEgAAReg==n"
 }




                      Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported   22
Encrypted Data Bags

Decrypt an encrypted data bag item
 $ knife data bag show --secret_file /tmp/my_data_bag_key passwords mysql
 {
     "id": "mysql",
     "pass": "thesecret123",
     "user": "fred"
 }




                           Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported   23
Windows Support



   Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported   http://www.flickr.com/photos/captaintim/2511680887/   24
Windows
Managing your infrastructure with knife from Windows
  Install
   Ruby
   Ruby Dev Kit
   Git

  gem install
   ruby-wmi windows-api windows-pr
   chef

  Create a Chef repository
   $ knife node list
  http://devopscloud.net/2011/04/17/managing-chef-from-windows-7/



                       Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported   25
Windows
Chef-client Installation on Windows
  Install
   Ruby Dev Kit (via VB script)
   Ruby Installer

  gem install
   win32-open3 ruby-wmi windows-api windows-pr
   chef

  chef-client -c c:chefclient.rb


                     Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported   26
Windows
Chef-client Installation on Windows
  Ohai!
  Resources/Providers
   Environment
   User
   Group
   Gem
   Package
   Remote File
   Cookbook File
   Mount
   Service
   Ruby Block
   Execute

                        Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported   27
Windows
Chef-client Installation on Windows

  Cookbooks
    https://github.com/dougm/site-cookbooks/tree/master/windows
    registry provider
    shortcut provider
    unzip provider
    windows_privileged library
    proxy recipe
    activate recipe
    update recipe
    rdp recipe
    dotnetfx recipe
    sysinternals recipe
    bginfo recipe
    git recipe
    ant recipe
    maven recipe
    java recipe
    lua recipe
                             Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported   28
Windows

 knife winrm
 $ knife winrm "role:web" "net stats srv" -x Administrator -P
 'password'
 $ knife winrm 'ec2-50-xx-xx-124.compute-1.amazonaws.com'
 'chef-client -c c:/chef/client.rb' -m -x Administrator -P
 'password'
   ec2-50-xx-xx-124.compute-1.amazonaws.com [Fri, 04 Mar 2011 22:00:49 +0000] INFO:
 Starting Chef Run (Version 0.9.12)
   ec2-50-xx-xx-124.compute-1.amazonaws.com [Fri, 04 Mar 2011 22:00:50 +0000] WARN:
 Node ip-0A502FFB has an empty run list.
   ec2-50-xx-xx-124.compute-1.amazonaws.com [Fri, 04 Mar 2011 22:00:53 +0000] INFO:
 Chef Run complete in 4.383966 seconds
   ec2-50-xx-xx-124.compute-1.amazonaws.com [Fri, 04 Mar 2011 22:00:53 +0000] INFO:
 cleaning the checksum cache
   ec2-50-xx-xx-124.compute-1.amazonaws.com [Fri, 04 Mar 2011 22:00:53 +0000] INFO:
 Running report handlers
   ec2-50-xx-xx-124.compute-1.amazonaws.com [Fri, 04 Mar 2011 22:00:53 +0000] INFO:
 Report handlers complete

                        Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported   29
Windows

 knife winrm bootstrap
 $ knife winrm bootstrap ec2-50-xx-
 xx-124.compute-1.amazonaws.com -r 'role
 [webserver]','role[production]' -x Administrator -P
 'password'




                 Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported   30
Cookbook Updates



    Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported   http://www.flickr.com/photos/patrick_q/199986515/   31
Questions?

‣ matt@opscode.com
‣ www.opscode.com

            Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported   http://www.flickr.com/photos/mrchippy/443960682/   32

More Related Content

What's hot

Burn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesBurn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesLindsay Holmwood
 
How to create a multi tenancy for an interactive data analysis with jupyter h...
How to create a multi tenancy for an interactive data analysis with jupyter h...How to create a multi tenancy for an interactive data analysis with jupyter h...
How to create a multi tenancy for an interactive data analysis with jupyter h...Tiago Simões
 
Puppet camp chicago-automated_testing2
Puppet camp chicago-automated_testing2Puppet camp chicago-automated_testing2
Puppet camp chicago-automated_testing2nottings
 
Catalina.2013 03-05
Catalina.2013 03-05Catalina.2013 03-05
Catalina.2013 03-05NX21
 
Alfrescotomcat stderr.2013-03-05
Alfrescotomcat stderr.2013-03-05Alfrescotomcat stderr.2013-03-05
Alfrescotomcat stderr.2013-03-05NX21
 
Puppet: What _not_ to do
Puppet: What _not_ to doPuppet: What _not_ to do
Puppet: What _not_ to doPuppet
 
Philly security shell meetup
Philly security shell meetupPhilly security shell meetup
Philly security shell meetupNicole Johnson
 
Test-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpec
Test-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpecTest-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpec
Test-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpecMartin Etmajer
 
TurboGears2 Pluggable Applications
TurboGears2 Pluggable ApplicationsTurboGears2 Pluggable Applications
TurboGears2 Pluggable ApplicationsAlessandro Molina
 
Chef Workshop: Setup Environment with Chef,Vagrant, and Berkshelf
Chef Workshop: Setup Environment with Chef,Vagrant, and BerkshelfChef Workshop: Setup Environment with Chef,Vagrant, and Berkshelf
Chef Workshop: Setup Environment with Chef,Vagrant, and BerkshelfJun Sakata
 
Três conceitos que farão a diferença nos seus apps
Três conceitos que farão a diferença nos seus appsTrês conceitos que farão a diferença nos seus apps
Três conceitos que farão a diferença nos seus appsGuilherme Rambo
 
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)Wesley Beary
 
Deep Dive: AWS Command Line Interface
Deep Dive: AWS Command Line InterfaceDeep Dive: AWS Command Line Interface
Deep Dive: AWS Command Line InterfaceAmazon Web Services
 

What's hot (20)

Burn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesBurn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websites
 
How to create a multi tenancy for an interactive data analysis with jupyter h...
How to create a multi tenancy for an interactive data analysis with jupyter h...How to create a multi tenancy for an interactive data analysis with jupyter h...
How to create a multi tenancy for an interactive data analysis with jupyter h...
 
Puppet camp chicago-automated_testing2
Puppet camp chicago-automated_testing2Puppet camp chicago-automated_testing2
Puppet camp chicago-automated_testing2
 
Catalina.2013 03-05
Catalina.2013 03-05Catalina.2013 03-05
Catalina.2013 03-05
 
Nubilus Perl
Nubilus PerlNubilus Perl
Nubilus Perl
 
Alfrescotomcat stderr.2013-03-05
Alfrescotomcat stderr.2013-03-05Alfrescotomcat stderr.2013-03-05
Alfrescotomcat stderr.2013-03-05
 
Puppet: What _not_ to do
Puppet: What _not_ to doPuppet: What _not_ to do
Puppet: What _not_ to do
 
Perl Web Client
Perl Web ClientPerl Web Client
Perl Web Client
 
Philly security shell meetup
Philly security shell meetupPhilly security shell meetup
Philly security shell meetup
 
Test-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpec
Test-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpecTest-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpec
Test-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpec
 
TurboGears2 Pluggable Applications
TurboGears2 Pluggable ApplicationsTurboGears2 Pluggable Applications
TurboGears2 Pluggable Applications
 
Play á la Rails
Play á la RailsPlay á la Rails
Play á la Rails
 
Chef Workshop: Setup Environment with Chef,Vagrant, and Berkshelf
Chef Workshop: Setup Environment with Chef,Vagrant, and BerkshelfChef Workshop: Setup Environment with Chef,Vagrant, and Berkshelf
Chef Workshop: Setup Environment with Chef,Vagrant, and Berkshelf
 
Play!ng with scala
Play!ng with scalaPlay!ng with scala
Play!ng with scala
 
Ansible101
Ansible101Ansible101
Ansible101
 
Scala active record
Scala active recordScala active record
Scala active record
 
Três conceitos que farão a diferença nos seus apps
Três conceitos que farão a diferença nos seus appsTrês conceitos que farão a diferença nos seus apps
Três conceitos que farão a diferença nos seus apps
 
Nevermore Unit Testing
Nevermore Unit TestingNevermore Unit Testing
Nevermore Unit Testing
 
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
 
Deep Dive: AWS Command Line Interface
Deep Dive: AWS Command Line InterfaceDeep Dive: AWS Command Line Interface
Deep Dive: AWS Command Line Interface
 

Similar to Chef 0.10 Overview

Automated infrastructure is on the menu
Automated infrastructure is on the menuAutomated infrastructure is on the menu
Automated infrastructure is on the menujtimberman
 
GeekAustin DevOps
GeekAustin DevOpsGeekAustin DevOps
GeekAustin DevOpsMatt Ray
 
Crafting Beautiful CLI Applications in Ruby
Crafting Beautiful CLI Applications in RubyCrafting Beautiful CLI Applications in Ruby
Crafting Beautiful CLI Applications in RubyNikhil Mungel
 
Practical Chef and Capistrano for Your Rails App
Practical Chef and Capistrano for Your Rails AppPractical Chef and Capistrano for Your Rails App
Practical Chef and Capistrano for Your Rails AppSmartLogic
 
Bare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and ChefBare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and ChefMatt Ray
 
Antons Kranga Building Agile Infrastructures
Antons Kranga   Building Agile InfrastructuresAntons Kranga   Building Agile Infrastructures
Antons Kranga Building Agile InfrastructuresAntons Kranga
 
Chef 0.8, Knife and Amazon EC2
Chef 0.8, Knife and Amazon EC2Chef 0.8, Knife and Amazon EC2
Chef 0.8, Knife and Amazon EC2Robert Berger
 
Cook Infrastructure with chef -- Justeat.IN
Cook Infrastructure with chef  -- Justeat.INCook Infrastructure with chef  -- Justeat.IN
Cook Infrastructure with chef -- Justeat.INRajesh Hegde
 
Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)True-Vision
 
Lean Php Presentation
Lean Php PresentationLean Php Presentation
Lean Php PresentationAlan Pinstein
 
Zero to Sixty: AWS CloudFormation (DMG201) | AWS re:Invent 2013
Zero to Sixty: AWS CloudFormation (DMG201) | AWS re:Invent 2013Zero to Sixty: AWS CloudFormation (DMG201) | AWS re:Invent 2013
Zero to Sixty: AWS CloudFormation (DMG201) | AWS re:Invent 2013Amazon Web Services
 
Serve Meals, Not Ingredients - ChefConf 2015
Serve Meals, Not Ingredients - ChefConf 2015Serve Meals, Not Ingredients - ChefConf 2015
Serve Meals, Not Ingredients - ChefConf 2015Chef
 
Serve Meals, Not Ingredients (ChefConf 2015)
Serve Meals, Not Ingredients (ChefConf 2015)Serve Meals, Not Ingredients (ChefConf 2015)
Serve Meals, Not Ingredients (ChefConf 2015)ThirdWaveInsights
 
Infrastructure-as-code: bridging the gap between Devs and Ops
Infrastructure-as-code: bridging the gap between Devs and OpsInfrastructure-as-code: bridging the gap between Devs and Ops
Infrastructure-as-code: bridging the gap between Devs and OpsMykyta Protsenko
 
What Big Data Folks Need to Know About DevOps
What Big Data Folks Need to Know About DevOpsWhat Big Data Folks Need to Know About DevOps
What Big Data Folks Need to Know About DevOpsMatt Ray
 
Practical introduction to dev ops with chef
Practical introduction to dev ops with chefPractical introduction to dev ops with chef
Practical introduction to dev ops with chefLeanDog
 
Exploring MySQL Operator for Kubernetes in Python
Exploring MySQL Operator for Kubernetes in PythonExploring MySQL Operator for Kubernetes in Python
Exploring MySQL Operator for Kubernetes in PythonIvan Ma
 

Similar to Chef 0.10 Overview (20)

Automated infrastructure is on the menu
Automated infrastructure is on the menuAutomated infrastructure is on the menu
Automated infrastructure is on the menu
 
GeekAustin DevOps
GeekAustin DevOpsGeekAustin DevOps
GeekAustin DevOps
 
Crafting Beautiful CLI Applications in Ruby
Crafting Beautiful CLI Applications in RubyCrafting Beautiful CLI Applications in Ruby
Crafting Beautiful CLI Applications in Ruby
 
Practical Chef and Capistrano for Your Rails App
Practical Chef and Capistrano for Your Rails AppPractical Chef and Capistrano for Your Rails App
Practical Chef and Capistrano for Your Rails App
 
Bare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and ChefBare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and Chef
 
Antons Kranga Building Agile Infrastructures
Antons Kranga   Building Agile InfrastructuresAntons Kranga   Building Agile Infrastructures
Antons Kranga Building Agile Infrastructures
 
Cooking with Chef
Cooking with ChefCooking with Chef
Cooking with Chef
 
Automation day red hat ansible
   Automation day red hat ansible    Automation day red hat ansible
Automation day red hat ansible
 
Chef 0.8, Knife and Amazon EC2
Chef 0.8, Knife and Amazon EC2Chef 0.8, Knife and Amazon EC2
Chef 0.8, Knife and Amazon EC2
 
Cook Infrastructure with chef -- Justeat.IN
Cook Infrastructure with chef  -- Justeat.INCook Infrastructure with chef  -- Justeat.IN
Cook Infrastructure with chef -- Justeat.IN
 
Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)
 
Chef solo the beginning
Chef solo the beginning Chef solo the beginning
Chef solo the beginning
 
Lean Php Presentation
Lean Php PresentationLean Php Presentation
Lean Php Presentation
 
Zero to Sixty: AWS CloudFormation (DMG201) | AWS re:Invent 2013
Zero to Sixty: AWS CloudFormation (DMG201) | AWS re:Invent 2013Zero to Sixty: AWS CloudFormation (DMG201) | AWS re:Invent 2013
Zero to Sixty: AWS CloudFormation (DMG201) | AWS re:Invent 2013
 
Serve Meals, Not Ingredients - ChefConf 2015
Serve Meals, Not Ingredients - ChefConf 2015Serve Meals, Not Ingredients - ChefConf 2015
Serve Meals, Not Ingredients - ChefConf 2015
 
Serve Meals, Not Ingredients (ChefConf 2015)
Serve Meals, Not Ingredients (ChefConf 2015)Serve Meals, Not Ingredients (ChefConf 2015)
Serve Meals, Not Ingredients (ChefConf 2015)
 
Infrastructure-as-code: bridging the gap between Devs and Ops
Infrastructure-as-code: bridging the gap between Devs and OpsInfrastructure-as-code: bridging the gap between Devs and Ops
Infrastructure-as-code: bridging the gap between Devs and Ops
 
What Big Data Folks Need to Know About DevOps
What Big Data Folks Need to Know About DevOpsWhat Big Data Folks Need to Know About DevOps
What Big Data Folks Need to Know About DevOps
 
Practical introduction to dev ops with chef
Practical introduction to dev ops with chefPractical introduction to dev ops with chef
Practical introduction to dev ops with chef
 
Exploring MySQL Operator for Kubernetes in Python
Exploring MySQL Operator for Kubernetes in PythonExploring MySQL Operator for Kubernetes in Python
Exploring MySQL Operator for Kubernetes in Python
 

More from Matt Ray

Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
SCaLE 20X: Kubernetes Cloud Cost Monitoring with OpenCost & Optimization Stra...
SCaLE 20X: Kubernetes Cloud Cost Monitoring with OpenCost & Optimization Stra...SCaLE 20X: Kubernetes Cloud Cost Monitoring with OpenCost & Optimization Stra...
SCaLE 20X: Kubernetes Cloud Cost Monitoring with OpenCost & Optimization Stra...Matt Ray
 
HashiTalks 2020 - Chef Tools & Terraform: Better Together
HashiTalks 2020 - Chef Tools & Terraform: Better TogetherHashiTalks 2020 - Chef Tools & Terraform: Better Together
HashiTalks 2020 - Chef Tools & Terraform: Better TogetherMatt Ray
 
EmacsConf 2019: Interactive Remote Debugging and Development with TRAMP Mode
EmacsConf 2019: Interactive Remote Debugging and Development with TRAMP ModeEmacsConf 2019: Interactive Remote Debugging and Development with TRAMP Mode
EmacsConf 2019: Interactive Remote Debugging and Development with TRAMP ModeMatt Ray
 
Wellington DevOps: Bringing Your Applications into the Future with Habitat
Wellington DevOps: Bringing Your Applications into the Future with HabitatWellington DevOps: Bringing Your Applications into the Future with Habitat
Wellington DevOps: Bringing Your Applications into the Future with HabitatMatt Ray
 
DevOps Days Singapore 2018 Ignite - Bringing Your Applications into the Futur...
DevOps Days Singapore 2018 Ignite - Bringing Your Applications into the Futur...DevOps Days Singapore 2018 Ignite - Bringing Your Applications into the Futur...
DevOps Days Singapore 2018 Ignite - Bringing Your Applications into the Futur...Matt Ray
 
Cloud Expo Asia 20181010 - Bringing Your Applications into the Future with Ha...
Cloud Expo Asia 20181010 - Bringing Your Applications into the Future with Ha...Cloud Expo Asia 20181010 - Bringing Your Applications into the Future with Ha...
Cloud Expo Asia 20181010 - Bringing Your Applications into the Future with Ha...Matt Ray
 
Compliance as Code Everywhere
Compliance as Code EverywhereCompliance as Code Everywhere
Compliance as Code EverywhereMatt Ray
 
DevOpsDays Jakarta: State of DevOps 2018
DevOpsDays Jakarta: State of DevOps 2018DevOpsDays Jakarta: State of DevOps 2018
DevOpsDays Jakarta: State of DevOps 2018Matt Ray
 
DevOps Talks Melbourne 2018: Whales, Cats and Kubernetes
DevOps Talks Melbourne 2018: Whales, Cats and KubernetesDevOps Talks Melbourne 2018: Whales, Cats and Kubernetes
DevOps Talks Melbourne 2018: Whales, Cats and KubernetesMatt Ray
 
Infrastructure and Compliance Delight with Chef Automate
Infrastructure and Compliance Delight with Chef AutomateInfrastructure and Compliance Delight with Chef Automate
Infrastructure and Compliance Delight with Chef AutomateMatt Ray
 
Cooking Up Windows with Chef Automate
Cooking Up Windows with Chef AutomateCooking Up Windows with Chef Automate
Cooking Up Windows with Chef AutomateMatt Ray
 
DevOpsDays Singapore - Continuous Auditing with Compliance as Code
DevOpsDays Singapore - Continuous Auditing with Compliance as CodeDevOpsDays Singapore - Continuous Auditing with Compliance as Code
DevOpsDays Singapore - Continuous Auditing with Compliance as CodeMatt Ray
 
DevOpsDays Singapore Habitat Ignite
DevOpsDays Singapore Habitat IgniteDevOpsDays Singapore Habitat Ignite
DevOpsDays Singapore Habitat IgniteMatt Ray
 
Chef Automate - Azure Sydney User Group
Chef Automate - Azure Sydney User GroupChef Automate - Azure Sydney User Group
Chef Automate - Azure Sydney User GroupMatt Ray
 
Automating Compliance with InSpec - AWS North Sydney
Automating Compliance with InSpec - AWS North SydneyAutomating Compliance with InSpec - AWS North Sydney
Automating Compliance with InSpec - AWS North SydneyMatt Ray
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupAutomating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupMatt Ray
 
Automating AWS Compliance with InSpec
Automating AWS Compliance with InSpec Automating AWS Compliance with InSpec
Automating AWS Compliance with InSpec Matt Ray
 
Chef Automate - Infracoders Canberra August 8, 2017
Chef Automate - Infracoders Canberra August 8, 2017Chef Automate - Infracoders Canberra August 8, 2017
Chef Automate - Infracoders Canberra August 8, 2017Matt Ray
 

More from Matt Ray (20)

Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
SCaLE 20X: Kubernetes Cloud Cost Monitoring with OpenCost & Optimization Stra...
SCaLE 20X: Kubernetes Cloud Cost Monitoring with OpenCost & Optimization Stra...SCaLE 20X: Kubernetes Cloud Cost Monitoring with OpenCost & Optimization Stra...
SCaLE 20X: Kubernetes Cloud Cost Monitoring with OpenCost & Optimization Stra...
 
HashiTalks 2020 - Chef Tools & Terraform: Better Together
HashiTalks 2020 - Chef Tools & Terraform: Better TogetherHashiTalks 2020 - Chef Tools & Terraform: Better Together
HashiTalks 2020 - Chef Tools & Terraform: Better Together
 
EmacsConf 2019: Interactive Remote Debugging and Development with TRAMP Mode
EmacsConf 2019: Interactive Remote Debugging and Development with TRAMP ModeEmacsConf 2019: Interactive Remote Debugging and Development with TRAMP Mode
EmacsConf 2019: Interactive Remote Debugging and Development with TRAMP Mode
 
Wellington DevOps: Bringing Your Applications into the Future with Habitat
Wellington DevOps: Bringing Your Applications into the Future with HabitatWellington DevOps: Bringing Your Applications into the Future with Habitat
Wellington DevOps: Bringing Your Applications into the Future with Habitat
 
DevOps Days Singapore 2018 Ignite - Bringing Your Applications into the Futur...
DevOps Days Singapore 2018 Ignite - Bringing Your Applications into the Futur...DevOps Days Singapore 2018 Ignite - Bringing Your Applications into the Futur...
DevOps Days Singapore 2018 Ignite - Bringing Your Applications into the Futur...
 
Cloud Expo Asia 20181010 - Bringing Your Applications into the Future with Ha...
Cloud Expo Asia 20181010 - Bringing Your Applications into the Future with Ha...Cloud Expo Asia 20181010 - Bringing Your Applications into the Future with Ha...
Cloud Expo Asia 20181010 - Bringing Your Applications into the Future with Ha...
 
Compliance as Code Everywhere
Compliance as Code EverywhereCompliance as Code Everywhere
Compliance as Code Everywhere
 
DevOpsDays Jakarta: State of DevOps 2018
DevOpsDays Jakarta: State of DevOps 2018DevOpsDays Jakarta: State of DevOps 2018
DevOpsDays Jakarta: State of DevOps 2018
 
DevOps Talks Melbourne 2018: Whales, Cats and Kubernetes
DevOps Talks Melbourne 2018: Whales, Cats and KubernetesDevOps Talks Melbourne 2018: Whales, Cats and Kubernetes
DevOps Talks Melbourne 2018: Whales, Cats and Kubernetes
 
Infrastructure and Compliance Delight with Chef Automate
Infrastructure and Compliance Delight with Chef AutomateInfrastructure and Compliance Delight with Chef Automate
Infrastructure and Compliance Delight with Chef Automate
 
Cooking Up Windows with Chef Automate
Cooking Up Windows with Chef AutomateCooking Up Windows with Chef Automate
Cooking Up Windows with Chef Automate
 
DevOpsDays Singapore - Continuous Auditing with Compliance as Code
DevOpsDays Singapore - Continuous Auditing with Compliance as CodeDevOpsDays Singapore - Continuous Auditing with Compliance as Code
DevOpsDays Singapore - Continuous Auditing with Compliance as Code
 
DevOpsDays Singapore Habitat Ignite
DevOpsDays Singapore Habitat IgniteDevOpsDays Singapore Habitat Ignite
DevOpsDays Singapore Habitat Ignite
 
Chef Automate - Azure Sydney User Group
Chef Automate - Azure Sydney User GroupChef Automate - Azure Sydney User Group
Chef Automate - Azure Sydney User Group
 
Automating Compliance with InSpec - AWS North Sydney
Automating Compliance with InSpec - AWS North SydneyAutomating Compliance with InSpec - AWS North Sydney
Automating Compliance with InSpec - AWS North Sydney
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupAutomating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native Meetup
 
Automating AWS Compliance with InSpec
Automating AWS Compliance with InSpec Automating AWS Compliance with InSpec
Automating AWS Compliance with InSpec
 
Chef Automate - Infracoders Canberra August 8, 2017
Chef Automate - Infracoders Canberra August 8, 2017Chef Automate - Infracoders Canberra August 8, 2017
Chef Automate - Infracoders Canberra August 8, 2017
 

Recently uploaded

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
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
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
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 

Recently uploaded (20)

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
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
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
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 

Chef 0.10 Overview

  • 1. Chef 0.10 Overview Speaker: Matt Ray Sr. Technical Evangelist ‣ matt@opscode.com ‣ @mattray ‣ www.opscode.com Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported 1
  • 2. Agenda Environments Knife Plugins Encrypted Data Bags Windows Support Cookbook Updates Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported 2
  • 3. Environments Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported 3
  • 4. Environments - Ruby DSL # name and description are what you'd expect name "development" description "The development environment" # use version 11.0.0 *only* cookbook_versions "couchdb" => "= 11.0.0", # use versions greater than 0.99.0 # and less than 0.100.0 "application" => "~> 0.99" # default attributes for this environment attributes "apache2" => { "listen_ports" => [ "80", "443" ] } Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported 4
  • 5. Environments - JSON { "name": "development", "default_attributes": { "apache2": { "listen_ports": [ "80", "443" ] } }, "json_class": "Chef::Environment", "description": "The development environment", "cookbook_versions": { "couchdb" => "11.0.0", "application" => "~> 0.99" }, "chef_type": "environment" } Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported 5
  • 6. Environments - knife environment $ knife environment ** ENVIRONMENT COMMANDS ** knife environment list (options) knife environment show ENVIRONMENT (options) knife environment edit ENVIRONMENT (options) knife environment create ENVIRONMENT (options) knife environment from file FILE (options) knife environment delete ENVIRONMENT (options) $ knife environment list development preproduction production qa $ knife environment create dev Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported 6
  • 7. Environments - knife node $ knife node create --help| grep environment -E, --environment ENVIRONMENT Set the Chef environment $ knife bootstrap --help | grep environment -E, --environment ENVIRONMENT Set the Chef environment Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported 7
  • 8. Environments - knife cookbook $ knife cookbook upload redis --freeze Uploading redis... upload complete $ knife cookbook show redis 0.1.6 |grep frozen frozen?:! true $ knife cookbook upload redis Uploading redis... ERROR: Version 0.1.6 of cookbook redis is frozen. Use --force to override. Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported 8
  • 9. Environments - Run Lists in Roles { "name": "webserver", "default_attributes": { }, "json_class": "Chef::Role", "run_list": [ "role[base]", "recipe[apache]" ], "env_run_lists" : { "production" : [], "preprod" : [], "dev": [ "role[base]", "recipe[apache]", "recipe[apache::copy_dev_configs]", ], "test": [ "role[base]", "recipe[apache]" ] }, "description": "The webserver role", "chef_type": "role", "override_attributes": {} } Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported 9
  • 10. Environments - Workflows How important is it to keep your environment files in source control? Only edit source files Everything in version control Do you want to edit environments in the management console (Web UI)? Use role-based access controls to restrict changes Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported 10
  • 11. Knife Plugins Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported http://www.flickr.com/photos/75659300@N00/2615848530/ 11
  • 12. Knife Plugins require 'chef/knife' module Kallistec class Grep < Chef::Knife deps do require 'chef/knife/search' end banner "knife grep QUERY" def run unless @query = name_args.first ui.error "You need to specify a query term" exit 1 end fuzzier_query = "tags:*#{@query}* OR roles:*#{@query}* OR fqdn" knife_search = Chef::Knife::Search.new knife_search.name_args = ['node', fuzzier_query] knife_search.run end end end Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported 12
  • 13. Knife Plugins require 'chef/knife' module Kallistec class Grep < Chef::Knife deps do require 'chef/knife/search' end banner "knife grep QUERY" def run unless @query = name_args.first ui.error "You need to specify a query term" exit 1 end fuzzier_query = "tags:*#{@query}* OR roles:*#{@query}* OR fqdn" knife_search = Chef::Knife::Search.new knife_search.name_args = ['node', fuzzier_query] knife_search.run end end end Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported 13
  • 14. Knife Plugins require 'chef/knife' module Kallistec class Grep < Chef::Knife deps do require 'chef/knife/search' end banner "knife grep QUERY" def run unless @query = name_args.first ui.error "You need to specify a query term" exit 1 end fuzzier_query = "tags:*#{@query}* OR roles:*#{@query}* OR fqdn" knife_search = Chef::Knife::Search.new knife_search.name_args = ['node', fuzzier_query] knife_search.run end end end Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported 14
  • 15. Knife Plugins require 'chef/knife' module Kallistec class Grep < Chef::Knife deps do require 'chef/knife/search' end banner "knife grep QUERY" def run unless @query = name_args.first ui.error "You need to specify a query term" exit 1 end fuzzier_query = "tags:*#{@query}* OR roles:*#{@query}* OR fqdn" knife_search = Chef::Knife::Search.new knife_search.name_args = ['node', fuzzier_query] knife_search.run end end end Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported 15
  • 16. Knife Plugins $ knife grep ghost 1 items found Node Name: ghost.local Environment: production FQDN: ghost.local IP: 172.16.185.135 Run List: recipe[tmux] Roles: Recipes tmux Platform: ubuntu 10.04 Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported 16
  • 17. Knife Plugins Cloud commands are now knife plugins knife-ec2 knife-rackspace knife-bluebox knife-slicehost knife-terremark knife-openstack knife-windows Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported 17
  • 18. Knife Output $ knife node show crushinator.localdomain Node Name: crushinator.localdomain Environment: _default FQDN: crushinator.localdomain IP: 192.168.11.64 Run List: recipe[apt::cacher-client], role[nova-ami-urls], role[nova-multi-controller] Roles: nova-ami-urls, nova-super-user-setup, nova-cloud- controller, nova-head, nova-mysql-server, nova-rabbitmq-server, nova-support-server, nova-multi-controller Recipes apt::cacher-client, build-essential, nova::mysql, apt, rabbitmq, nova::rabbit, nova::api, nova::objectstore, nova::scheduler, nova::network, nova::setup, nova::creds, nova::finalize Platform: ubuntu 10.10 Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported 18
  • 19. Knife Updates knife cookbook site install was "knife cookbook site vendor" knife help greatly expanded, each subcommand covered Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported 19
  • 20. Encrypted Data Bags Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported http://www.flickr.com/photos/genbug/3883032678/ 20
  • 21. Encrypted Data Bags Create a new encrypted data bag item $ openssl rand -base64 512 > /tmp/my_data_bag_key $ knife data bag create --secret_file /tmp/my_data_bag_key passwords mysql # Enter user and password credentials in the editor and save Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported 21
  • 22. Encrypted Data Bags Verify that the data bag has been created and encrypted $ knife data bag show passwords mysql { "id": "mysql", "pass": "trywgFA6R70NO28PNhMpGhEvKBZuxouemnbnAUQsUyo=n", "user": "e/p+8WJYVHY9fHcEgAAReg==n" } Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported 22
  • 23. Encrypted Data Bags Decrypt an encrypted data bag item $ knife data bag show --secret_file /tmp/my_data_bag_key passwords mysql { "id": "mysql", "pass": "thesecret123", "user": "fred" } Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported 23
  • 24. Windows Support Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported http://www.flickr.com/photos/captaintim/2511680887/ 24
  • 25. Windows Managing your infrastructure with knife from Windows Install Ruby Ruby Dev Kit Git gem install ruby-wmi windows-api windows-pr chef Create a Chef repository $ knife node list http://devopscloud.net/2011/04/17/managing-chef-from-windows-7/ Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported 25
  • 26. Windows Chef-client Installation on Windows Install Ruby Dev Kit (via VB script) Ruby Installer gem install win32-open3 ruby-wmi windows-api windows-pr chef chef-client -c c:chefclient.rb Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported 26
  • 27. Windows Chef-client Installation on Windows Ohai! Resources/Providers Environment User Group Gem Package Remote File Cookbook File Mount Service Ruby Block Execute Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported 27
  • 28. Windows Chef-client Installation on Windows Cookbooks https://github.com/dougm/site-cookbooks/tree/master/windows registry provider shortcut provider unzip provider windows_privileged library proxy recipe activate recipe update recipe rdp recipe dotnetfx recipe sysinternals recipe bginfo recipe git recipe ant recipe maven recipe java recipe lua recipe Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported 28
  • 29. Windows knife winrm $ knife winrm "role:web" "net stats srv" -x Administrator -P 'password' $ knife winrm 'ec2-50-xx-xx-124.compute-1.amazonaws.com' 'chef-client -c c:/chef/client.rb' -m -x Administrator -P 'password' ec2-50-xx-xx-124.compute-1.amazonaws.com [Fri, 04 Mar 2011 22:00:49 +0000] INFO: Starting Chef Run (Version 0.9.12) ec2-50-xx-xx-124.compute-1.amazonaws.com [Fri, 04 Mar 2011 22:00:50 +0000] WARN: Node ip-0A502FFB has an empty run list. ec2-50-xx-xx-124.compute-1.amazonaws.com [Fri, 04 Mar 2011 22:00:53 +0000] INFO: Chef Run complete in 4.383966 seconds ec2-50-xx-xx-124.compute-1.amazonaws.com [Fri, 04 Mar 2011 22:00:53 +0000] INFO: cleaning the checksum cache ec2-50-xx-xx-124.compute-1.amazonaws.com [Fri, 04 Mar 2011 22:00:53 +0000] INFO: Running report handlers ec2-50-xx-xx-124.compute-1.amazonaws.com [Fri, 04 Mar 2011 22:00:53 +0000] INFO: Report handlers complete Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported 29
  • 30. Windows knife winrm bootstrap $ knife winrm bootstrap ec2-50-xx- xx-124.compute-1.amazonaws.com -r 'role [webserver]','role[production]' -x Administrator -P 'password' Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported 30
  • 31. Cookbook Updates Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported http://www.flickr.com/photos/patrick_q/199986515/ 31
  • 32. Questions? ‣ matt@opscode.com ‣ www.opscode.com Copyright © 2011 Opscode, Inc. – Creative Commons Attribution-ShareAlike 3.0 Unported http://www.flickr.com/photos/mrchippy/443960682/ 32