Developing Local Chef Cookbooks on Windows

بواسطة: Pluralsight

Overview

Developing Chef cookbooks requires an understanding of the many tools which are available to you via Chef Workstation. This course leverages hands-on demos to explore the options available for developing cookbook solutions for Windows.

The Chef repo, with its patterns of cookbooks and accompanying assets, is the foundation for building robust solutions to deploy to your managed infrastructure. In this course, Developing Local Chef Cookbooks on Windows, you'll learn in-depth skills critical to your role as a developer and engineer, exploring what’s possible with the Chef Workstation tools and testing platforms which are available to you, and implementing the foundational concepts of Chef, including test-driven development and automation. First, you’ll look at the core components of the Chef repo, cookbook structure, and the tools available with Chef Workstation. Next, you’ll explore test-driven development with the full range of testing platforms, including Test Kitchen and Cookstyle, ChefSpec, and InSpec. Finally, you’ll build out solutions using more advanced concepts including custom resources, templates, and data bags. When you’re finished with the course, you’ll have the skills and knowledge to effectively use Chef Workstation to develop cookbooks which are designed to configure and manage Windows systems, which is needed to effectively manage a Windows-based infrastructural ecosystem.

Taught by

James Bannan

Developing Local Chef Cookbooks on Windows
الذهاب الي الدورة

Developing Local Chef Cookbooks on Windows

بواسطة: Pluralsight

  • Pluralsight
  • مدفوعة
  • الإنجليزية
  • متاح شهادة
  • متاح في أي وقت
  • intermediate
  • N/A
8.1.2PHP Version290msRequest Duration2MBMemory UsageGET ar/الدورات/{slug}Route
    • Booting (176ms)
    • Application (113ms)
    • 1 x Booting (60.88%)
      176.30ms
      1 x Application (38.88%)
      112.59ms
      14 templates were rendered
      • public.courses.show (resources/views/public/courses/show.blade.php)3bladefile
        Params
        0
        course
        1
        links
        2
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.courses.partials.details (resources/views/public/courses/partials/details.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.layouts.main (resources/views/public/layouts/main.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.meta (resources/views/public/layouts/partials/meta.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.navbar (resources/views/public/layouts/partials/navbar.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.links (resources/views/public/auth/profile/partials/links.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.layouts.partials.flash-session (resources/views/public/layouts/partials/flash-session.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      uri
      GET ar/الدورات/{slug}
      middleware
      web, localize:ar
      controller
      App\Http\Controllers\CourseController@show
      as
      ar.courses.show
      namespace
      prefix
      /ar
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      6 statements were executed10.52ms
      • select * from `courses` where `slug_ar` = 'developing-local-chef-cookbooks-on-windows' limit 1
        8.87ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. developing-local-chef-cookbooks-on-windows
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:20
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • update `courses` set `visitors` = `visitors` + 1, `courses`.`updated_at` = '2025-05-19 12:15:59' where `id` = 5853
        740μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-05-19 12:15:59
        • 1. 5853
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:21
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `topic_id`, `slug_en`, `slug_ar` from `subjects` where `subjects`.`id` in (69)
        250μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        190μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 25. /app/Http/Controllers/CourseController.php:23
        • 26. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 27. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 28. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 29. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `providers` where `providers`.`id` in (57) and `providers`.`deleted_at` is null
        230μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `html_files` where `html_files`.`id` = 5844 limit 1
        240μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 5844
        Backtrace
        • 21. /app/Models/Course.php:84
        • 28. view::public.courses.show:29
        • 30. /vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:125
        • 31. /vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • 32. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:72
      App\Models\HtmlFile
      1
      App\Models\Provider
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        sEyPWDvPMZZWNZuXyJV4CCyHBuINRYibwJAE1N2A
        locale
        ar
        _previous
        array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/develo...
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/developing-local-chef-cookbooks-on-windows
        status_code
        200
        
        status_text
        OK
        format
        html
        content_type
        text/html; charset=UTF-8
        request_query
        []
        
        request_request
        []
        
        request_headers
        0 of 0
        array:24 [ "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "13.59.114.66" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "x-forwarded-for" => array:1 [ 0 => "13.59.114.66" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "cf-ray" => array:1 [ 0 => "942385d7ae39eac4-ORD" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "priority" => array:1 [ 0 => "u=0, i" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "host" => array:1 [ 0 => "www.corspedia.com" ] "content-length" => array:1 [ 0 => "" ] "content-type" => array:1 [ 0 => "" ] ]
        request_server
        0 of 0
        array:50 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_CF_CONNECTING_IP" => "13.59.114.66" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_X_FORWARDED_FOR" => "13.59.114.66" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_CF_RAY" => "942385d7ae39eac4-ORD" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_HOST" => "www.corspedia.com" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "corspedia.com" "SERVER_PORT" => "443" "SERVER_ADDR" => "141.95.147.152" "REMOTE_USER" => "" "REMOTE_PORT" => "10834" "REMOTE_ADDR" => "172.70.126.28" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => "on" "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/var/www/corspedia/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/developing-local-chef-cookbooks-on-windows" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "SCRIPT_FILENAME" => "/var/www/corspedia/public/index.php" "PATH_INFO" => "" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1747656958.9473 "REQUEST_TIME" => 1747656958 ]
        request_cookies
        []
        
        response_headers
        0 of 0
        array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Mon, 19 May 2025 12:15:59 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IjRKYS93aFl6SGVqTlVwakpjTitsRUE9PSIsInZhbHVlIjoicUZVajY2S0o3SVk0WlZtQUJCOGlFZ2NiSVJZSGZPZGxtaE12RTRQOUJBQUp0c3JrYW9ORC9leWV0cG5aQVp4a25vZTcxc1g2MXZ1Y3JwRFFSOGNIZm9OcFF1TWp4cVZWWXBIZzFtRW1iM2VnK2d3emhiY0ZrTEZkSlZDVmUxOUQiLCJtYWMiOiI1NDM2MWE2YWYxYjcyMGYyN2E4NjIxZDI5ZmYxMjAyMWExNWM5ZGM4MzhlYTRkNzAzYjMyZjNkZGYyMTc3YzJhIiwidGFnIjoiIn0%3D; expires=Mon, 19 May 2025 14:15:59 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6IjRKYS93aFl6SGVqTlVwakpjTitsRUE9PSIsInZhbHVlIjoicUZVajY2S0o3SVk0WlZtQUJCOGlFZ2NiSVJZSGZPZGxtaE12RTRQOUJBQUp0c3JrYW9ORC9leWV0cG5aQVp4a25vZTcxc" 1 => "laravel_session=eyJpdiI6InZBTzJweEdiUGFSTU9BdlQ0bC9mVlE9PSIsInZhbHVlIjoiL2I1RTNEYUZhZEdoMmVCK0dYQUFOaklEWjN3MHFTeW9Qc3llbWVLbElIcnZMVWNKZlZiMCtwMDBsNGRwaXZ5UFAwU0FaK2E5VXNnS2NsYzFNN2tySUVnRHBKdUl3dmxub2NHZFIrTHkxVXVGbU81b1JTL3AvS1V1WkMyM2ZHOXMiLCJtYWMiOiI4OTUyOGRhYjJlN2Y5OTM2NzRiMDhkNzA3YzE1ZGVkZWMwODJkNGVlY2RlN2VhMTVkOTAwZmMzNGNjNTU5NmViIiwidGFnIjoiIn0%3D; expires=Mon, 19 May 2025 14:15:59 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6InZBTzJweEdiUGFSTU9BdlQ0bC9mVlE9PSIsInZhbHVlIjoiL2I1RTNEYUZhZEdoMmVCK0dYQUFOaklEWjN3MHFTeW9Qc3llbWVLbElIcnZMVWNKZlZiMCtwMDBsNGRwaXZ5UFAw" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IjRKYS93aFl6SGVqTlVwakpjTitsRUE9PSIsInZhbHVlIjoicUZVajY2S0o3SVk0WlZtQUJCOGlFZ2NiSVJZSGZPZGxtaE12RTRQOUJBQUp0c3JrYW9ORC9leWV0cG5aQVp4a25vZTcxc1g2MXZ1Y3JwRFFSOGNIZm9OcFF1TWp4cVZWWXBIZzFtRW1iM2VnK2d3emhiY0ZrTEZkSlZDVmUxOUQiLCJtYWMiOiI1NDM2MWE2YWYxYjcyMGYyN2E4NjIxZDI5ZmYxMjAyMWExNWM5ZGM4MzhlYTRkNzAzYjMyZjNkZGYyMTc3YzJhIiwidGFnIjoiIn0%3D; expires=Mon, 19-May-2025 14:15:59 GMT; path=/XSRF-TOKEN=eyJpdiI6IjRKYS93aFl6SGVqTlVwakpjTitsRUE9PSIsInZhbHVlIjoicUZVajY2S0o3SVk0WlZtQUJCOGlFZ2NiSVJZSGZPZGxtaE12RTRQOUJBQUp0c3JrYW9ORC9leWV0cG5aQVp4a25vZTcxc" 1 => "laravel_session=eyJpdiI6InZBTzJweEdiUGFSTU9BdlQ0bC9mVlE9PSIsInZhbHVlIjoiL2I1RTNEYUZhZEdoMmVCK0dYQUFOaklEWjN3MHFTeW9Qc3llbWVLbElIcnZMVWNKZlZiMCtwMDBsNGRwaXZ5UFAwU0FaK2E5VXNnS2NsYzFNN2tySUVnRHBKdUl3dmxub2NHZFIrTHkxVXVGbU81b1JTL3AvS1V1WkMyM2ZHOXMiLCJtYWMiOiI4OTUyOGRhYjJlN2Y5OTM2NzRiMDhkNzA3YzE1ZGVkZWMwODJkNGVlY2RlN2VhMTVkOTAwZmMzNGNjNTU5NmViIiwidGFnIjoiIn0%3D; expires=Mon, 19-May-2025 14:15:59 GMT; path=/; httponlylaravel_session=eyJpdiI6InZBTzJweEdiUGFSTU9BdlQ0bC9mVlE9PSIsInZhbHVlIjoiL2I1RTNEYUZhZEdoMmVCK0dYQUFOaklEWjN3MHFTeW9Qc3llbWVLbElIcnZMVWNKZlZiMCtwMDBsNGRwaXZ5UFAw" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "sEyPWDvPMZZWNZuXyJV4CCyHBuINRYibwJAE1N2A" "locale" => "ar" "_previous" => array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/developing-local-chef-cookbooks-on-windows" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]