---
tags:
- devops
- l1
- flashcard-deck
- ansible
---
<!-- wiki:breadcrumb:start -->
[Portal](../../../../library/portal/index.md) | **Level:** [L1: Foundations](../../../../library/portal/levels.md) | **Topics:** [Ansible](../../../../library/portal/topics.md) | **Domain:** DevOps & Tooling
<!-- wiki:breadcrumb:end -->

id	category	difficulty	tags	question	answer	source_path
chef/03a01839f754	chef	easy	chef,cookbook,recipe	How do you include external recipes in a Chef Cookbook?	Use include_recipe 'other_cookbook::other_recipe' in your recipe file. Chef processes the included recipe during convergence, applying its resources and actions.\n\nRemember: cookbook = collection of recipes, templates, files, and metadata. Think 'Ansible role' equivalent. Versioned and shareable via Chef Supermarket.	projects/knowledge/interview/chef/017-how-do-you-include-external-recipes-in-a-chef-cook.txt
chef/0814b4a89f3d	chef	medium	chef,containers,kubernetes	Explain the use of Chef with containers and container orchestration tools.	Chef integrates with containers via: Docker cookbook resources for container management, Chef Habitat for app packaging/deployment, Kubernetes resource management through Chef Infra, and InSpec for container security/compliance scanning.\n\nRemember: Chef + containers: use the docker cookbook for container management, or chef-client in a container for testing. Modern approach: use Chef to configure the host, containers handle the app.	projects/knowledge/interview/chef/052-explain-the-use-of-chef-with-containers-and-contai.txt
chef/0e1d18338e3f	chef	easy	chef,overview,architecture	What is a Chef Role, and how is it different from a Cookbook?	Chef is a Ruby-based configuration management tool using a client-server model. Chef Infra Client runs on nodes, pulling cookbooks from Chef Server (or runs standalone via chef-solo/chef-zero). Configs are written as Ruby DSL recipes organized into cookbooks.\n\nRemember: cookbook = collection of recipes, templates, files, and metadata. Think 'Ansible role' equivalent. Versioned and shareable via Chef Supermarket.	projects/knowledge/interview/chef/026-what-is-a-chef-role-and-how-is-it-different-from-a.txt
chef/141e5775db8e	chef	medium	chef,environments,deployment	"What is the role of the ""compile"" phase in a Chef client run?"	Chef environments group nodes for lifecycle management (dev/staging/prod). Each environment can pin cookbook versions and override default attributes. Create with knife environment create or JSON files. Assign nodes via knife node environment_set.\n\nRemember: Chef role = predefined run_list + attribute overrides. Assign role[webserver] to nodes instead of listing individual recipes.	projects/knowledge/interview/chef/064-what-is-the-role-of-the-compile-phase-in-a-chef-cl.txt
chef/141fb1227151	chef	medium	chef,attributes,precedence	How can you use notifications in Chef to trigger actions?	Attribute precedence (lowest to highest): default, force_default, normal, override, force_override, automatic (Ohai). Set in cookbooks, recipes, roles, environments. Higher precedence wins during merge. Use default for most cases; override sparingly.\n\nRemember: Chef notifications: notifies :restart triggers a resource. subscribes watches another resource. Use :delayed (default, end of run) or :immediately for timing control.	projects/knowledge/interview/chef/033-how-can-you-use-notifications-in-chef-to-trigger-a.txt
chef/157beda6cbb1	chef	hard	chef,troubleshooting,debugging	Explain the integration between Chef and InSpec for compliance automation.	Debug convergence failures: run chef-client -l debug for verbose output. Check /var/log/chef/client.log. Common issues: cookbook dependency conflicts (Berksfile.lock), attribute precedence surprises, template rendering errors, resource notification chains. Use why-run mode (-W) to preview.\n\nRemember: InSpec = compliance-as-code testing framework. Write tests like 'describe port(80) do it { should be_listening } end.' Works with Chef, Ansible, or standalone.	projects/knowledge/interview/chef/086-explain-the-integration-between-chef-and-inspec-fo.txt
chef/15f5fb3b783e	chef	medium	chef,templates,erb	How can you override attributes based on the Chef environment?	Chef uses ERB (Embedded Ruby) templates for dynamic file generation. In the resource, specify source and variables. In the template, use <%= @variable %> for interpolation. Templates support Ruby logic, loops, and conditionals.\n\nRemember: Chef environments pin cookbook versions per stage: production locks to 1.2.3, staging allows 1.x.x. Prevents untested cookbook versions from reaching prod.	projects/knowledge/interview/chef/074-how-can-you-override-attributes-based-on-the-chef-.txt
chef/2813fe4e62de	chef	easy	chef,resource,dsl	Explain the process of restoring Chef Server data.	Resources are the building blocks of Chef recipes. Each declares a desired state: package, file, service, template, user, etc. Resources are idempotent -- they only make changes if the current state differs from desired.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/045-explain-the-process-of-restoring-chef-server-data.txt
chef/2b824d9bfe4f	chef	hard	chef,custom-resource,development	How can you integrate Chef into a CI/CD pipeline?	Custom resources define reusable abstractions. Place in cookbook's resources/ directory. Define properties (name, type, default) and actions with standard resource DSL inside. Use like built-in resources in any recipe.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/069-how-can-you-integrate-chef-into-a-cicd-pipeline.txt
chef/2e2e9a5441c4	chef	easy	chef,knife,cli	What is the purpose of the metadata.rb file in a Chef Cookbook?	Knife is Chef's CLI for interacting with Chef Server. Key commands: knife cookbook upload, knife node list, knife role show, knife search, knife ssh, knife bootstrap. Configure via .chef/knife.rb or credentials file.\n\nRemember: cookbook = collection of recipes, templates, files, and metadata. Think 'Ansible role' equivalent. Versioned and shareable via Chef Supermarket.	projects/knowledge/interview/chef/019-what-is-the-purpose-of-the-metadatarb-file-in-a-ch.txt
chef/2f8e82d51985	chef	medium	chef,data-bags,secrets	What are custom resources, and how can you create them in Chef?	Data bags store global JSON data on Chef Server, accessible via data_bag_item('bag', 'item'). Encrypted data bags store secrets (create with --secret-file). Chef Vault provides easier secret management with node-based access control.\n\nRemember: Chef resources are the building blocks: package, service, file, template, execute, cron, user, group. Each declares a desired state and converges to it.	projects/knowledge/interview/chef/071-what-are-custom-resources-and-how-can-you-create-t.txt
chef/310aa7db4ba8	chef	hard	chef,testing,inspec	How do you assign a role to a Chef Node?	Test Chef code at multiple levels: ChefSpec (unit, fast, no convergence), Test Kitchen (integration, real VMs/containers), InSpec (compliance/verification). CI pipeline: lint (Cookstyle) -> unit (ChefSpec) -> integration (Kitchen) -> compliance (InSpec).\n\nRemember: Chef role = predefined run_list + attribute overrides. Assign role[webserver] to nodes instead of listing individual recipes.	projects/knowledge/interview/chef/027-how-do-you-assign-a-role-to-a-chef-node.txt
chef/32935fcbec34	chef	medium	chef,berkshelf,dependencies	Explain the process of rotating secrets in Chef.	Berkshelf manages cookbook dependencies declared in a Berksfile. berks install resolves and downloads. berks upload pushes to Chef Server. Berksfile.lock pins exact versions for reproducibility.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/076-explain-the-process-of-rotating-secrets-in-chef.txt
chef/34ea7898a704	chef	easy	chef,ohai,system-info	Explain the importance of version control with Chef Cookbooks.	Ohai is Chef's system profiler that auto-detects node attributes at the start of each run: OS, network, CPU, memory, virtualization, cloud provider. Access via node['platform'], node['ipaddress']. Custom Ohai plugins extend detection.\n\nRemember: cookbook = collection of recipes, templates, files, and metadata. Think 'Ansible role' equivalent. Versioned and shareable via Chef Supermarket.	projects/knowledge/interview/chef/048-explain-the-importance-of-version-control-with-che.txt
chef/399733a02e9e	chef	hard	chef,chef-server,architecture	What reports and analytics does Chef Automate provide?	Chef Server is the central hub storing cookbooks, roles, environments, data bags, and node objects. Components: Erchef (API, Erlang), PostgreSQL, Elasticsearch, Bookshelf (cookbook storage), Nginx frontend. HA uses Chef Backend or external PostgreSQL/Elasticsearch.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/095-what-reports-and-analytics-does-chef-automate-prov.txt
chef/3c77b9af67a1	chef	medium	chef,roles,organization	Describe the typical workflow using Chef Automate.	Roles group related recipes and attributes for a node function (e.g., webserver). Define as Ruby DSL or JSON. Apply via run_list. Roles cannot be versioned -- prefer Policyfiles or wrapper cookbooks for version control.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/094-describe-the-typical-workflow-using-chef-automate.txt
chef/3d14f6021fd6	chef	easy	chef,run-list,convergence	What is Chef Search?	A run_list is an ordered list of recipes and roles that Chef Client executes on a node. Chef processes sequentially, compiling and converging resources. Example: recipe[base], role[webserver], recipe[monitoring].\n\nRemember: Chef uses Ruby DSL for 'recipes' (config scripts) and 'cookbooks' (collections of recipes). Pull-based: chef-client daemon runs on each node.\n\nChef vs Ansible: Chef = pull-based, Ruby, agent required. Ansible = push-based, YAML, agentless. Chef has a steeper learning curve.	projects/knowledge/interview/chef/030-what-is-chef-search.txt
chef/3d1826baaaf9	chef	hard	chef,policyfiles,workflow	How do you set up a high-availability configuration for the Chef Server?	Policyfiles replace roles + environments + Berksfile with a single file. Pin exact cookbook versions, define run_lists, set attributes. Benefits: versioned, testable, promote-through-environments workflow. Commands: chef install, chef push. Preferred over roles.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/078-how-do-you-set-up-a-high-availability-configuratio.txt
chef/449cd4ee60f8	chef	medium	chef,notifications,ordering	How do you write compliance profiles using InSpec?	Resources can notify others to take action: notifies :restart, 'service[nginx]', :delayed. :delayed (end of run, default) or :immediately. subscribes is the reverse. Use for restart-on-config-change patterns.\n\nRemember: InSpec = compliance-as-code testing framework. Write tests like 'describe port(80) do it { should be_listening } end.' Works with Chef, Ansible, or standalone.	projects/knowledge/interview/chef/087-how-do-you-write-compliance-profiles-using-inspec.txt
chef/4da8db9551b5	chef	easy	chef,chef-solo,local	How do you version a Chef Cookbook?	chef-solo runs Chef locally without a Chef Server. Cookbooks stored on the node. Configure via solo.rb and JSON run_list. Useful for bootstrapping, testing, and small environments. chef-zero is the modern alternative (in-memory server).\n\nRemember: cookbook = collection of recipes, templates, files, and metadata. Think 'Ansible role' equivalent. Versioned and shareable via Chef Supermarket.	projects/knowledge/interview/chef/020-how-do-you-version-a-chef-cookbook.txt
chef/4e8be5255ef7	chef	medium	chef,search,query	How does Chef use the client-server architecture?	Chef search queries the server's index for nodes, roles, environments, and data bags. Used for dynamic configuration (e.g., finding all app servers for LB config). knife search from CLI, search() function in recipes.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/006-how-does-chef-use-the-client-server-architecture.txt
chef/51931c6bbf0f	chef	hard	chef,compliance,audit	Explain the role of the knife bootstrap command in bare-metal provisioning.	Chef compliance uses InSpec profiles for continuous auditing against CIS benchmarks, SOC2, HIPAA. Chef Automate provides compliance dashboard, scan scheduling, and remediation workflows. Profiles are reusable and shareable on Supermarket.\n\nRemember: knife = Chef's CLI for server interaction. knife bootstrap provisions a new node. knife ssh runs commands across nodes.	projects/knowledge/interview/chef/089-explain-the-role-of-the-knife-bootstrap-command-in.txt
chef/58d3da2e3a24	chef	easy	chef,cookbook,structure	How do you write unit tests for Chef Cookbooks using ChefSpec?	Standard cookbook layout: metadata.rb (identity), recipes/default.rb (main recipe), templates/ (ERB), files/ (static), attributes/ (defaults), resources/ (custom resources), spec/ (ChefSpec tests), test/ (Kitchen tests).\n\nRemember: cookbook = collection of recipes, templates, files, and metadata. Think 'Ansible role' equivalent. Versioned and shareable via Chef Supermarket.	projects/knowledge/interview/chef/038-how-do-you-write-unit-tests-for-chef-cookbooks-usi.txt
chef/59c6c7c919b3	chef	medium	chef,guards,conditionals	What is the purpose of the depends keyword in a metadata.rb file?	Guards control resource execution: not_if/only_if accept shell commands (string) or Ruby blocks. Essential for idempotency with execute/script resources. Example: execute 'apt update' do not_if { File.exist?('/tmp/updated') } end.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/062-what-is-the-purpose-of-the-depends-keyword-in-a-me.txt
chef/5efb2b0e531f	chef	hard	chef,habitat,packaging	What is Chef Habitat, and how does it fit into the Chef ecosystem?	Chef Habitat packages apps with dependencies into immutable artifacts (harts). Plans define build/runtime deps, config, and lifecycle hooks. Supervisor manages services with topology awareness. Benefits: consistent packaging across bare metal, containers, PaaS.\n\nRemember: Chef uses Ruby DSL for 'recipes' (config scripts) and 'cookbooks' (collections of recipes). Pull-based: chef-client daemon runs on each node.\n\nChef vs Ansible: Chef = pull-based, Ruby, agent required. Ansible = push-based, YAML, agentless. Chef has a steeper learning curve.	projects/knowledge/interview/chef/053-what-is-chef-habitat-and-how-does-it-fit-into-the-.txt
chef/5f5f55388d00	chef	easy	chef,idempotency,convergence	Explain the role of Chef Automate in reporting and analytics.	Chef resources are idempotent -- running them multiple times produces the same result. Chef checks current state before acting: installs only if absent, writes only if content differs, starts only if stopped. Repeated runs are safe.\n\nRemember: Chef role = predefined run_list + attribute overrides. Assign role[webserver] to nodes instead of listing individual recipes.	projects/knowledge/interview/chef/091-explain-the-role-of-chef-automate-in-reporting-and.txt
chef/5ff0260236b6	chef	medium	chef,cookbook,versioning	Describe the process of bootstrapping a node in Chef.	Cookbook versions follow SemVer in metadata.rb. Pin in environments or Policyfiles. Berksfile.lock records resolved versions. Freezing (--freeze) prevents accidental overwrites on Chef Server.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/054-describe-the-process-of-bootstrapping-a-node-in-ch.txt
chef/63b9f3f6f33f	chef	hard	chef,chef-automate,dashboard	Explain the concept of Chef Environments.	Chef Automate is the enterprise dashboard: converge history, compliance scans, InSpec reports, node visibility, workflow pipelines, and RBAC. It replaced Chef Visibility and Chef Compliance as a unified platform.\n\nRemember: Chef environments pin cookbook versions per stage: production locks to 1.2.3, staging allows 1.x.x. Prevents untested cookbook versions from reaching prod.	projects/knowledge/interview/chef/028-explain-the-concept-of-chef-environments.txt
chef/644098dde5a8	chef	easy	chef,file-resource,management	What is the role of the chef-client in the Chef architecture?	File resources manage files on nodes. Types: file (inline content), cookbook_file (static from cookbook), remote_file (download URL), template (ERB-rendered). All support ownership, permissions, and create/delete actions.\n\nRemember: Chef role = predefined run_list + attribute overrides. Assign role[webserver] to nodes instead of listing individual recipes.	projects/knowledge/interview/chef/009-what-is-the-role-of-the-chef-client-in-the-chef-ar.txt
chef/69d786b15e20	chef	medium	chef,handlers,reporting	Explain the purpose of the knife command in Chef.	Handlers run at the start or end of a chef-client run. Exception handlers on failure; report handlers on success/failure. Use for notifications (Slack, email), monitoring updates, external logging. Configure in client.rb or chef_handler cookbook.\n\nRemember: knife = Chef's CLI for server interaction. knife bootstrap provisions a new node. knife ssh runs commands across nodes.	projects/knowledge/interview/chef/008-explain-the-purpose-of-the-knife-command-in-chef.txt
chef/6c22dc10dfe4	chef	hard	chef,troubleshooting,convergence	How do you set up and configure a Chef Workstation?	Common convergence issues: resource ordering (use notifies/subscribes), attribute precedence (check node.debug_value), cookbook version conflicts (check Berksfile.lock), failed guards. Use chef-client -l debug and why-run mode to diagnose.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/057-how-do-you-set-up-and-configure-a-chef-workstation.txt
chef/6c9c5e663b79	chef	easy	chef,supermarket,community	Explain the process of managing Windows services with Chef.	Chef Supermarket (supermarket.chef.io) is the community cookbook repository. Search/download with knife or Berksfile. Quality metrics, version history, and dependencies listed. Private Supermarket available for internal cookbooks.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/083-explain-the-process-of-managing-windows-services-w.txt
chef/6c9f67d8d71a	chef	medium	chef,node-object,attributes	How do you unregister a node from the Chef Server?	The node object stores all data about a managed node: automatic attributes (Ohai), cookbook/role/environment attributes, run_list, and environment. Access in recipes with node['attribute']. Saved to Chef Server after each run.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/055-how-do-you-unregister-a-node-from-the-chef-server.txt
chef/6dbf7c3c4be5	chef	hard	chef,zero-downtime,deployment	How can you extend Ohai to gather additional system information?	Zero-downtime deploys: rolling strategy (deploy to subset, verify, continue), LB integration (remove node, converge, re-add), versioned deploy resource with rollback, health check guards before proceeding. Coordinate with search and orchestration.\n\nRemember: Ohai = Chef's fact-gathering tool (like Ansible's setup module). Collects OS, network, CPU, memory info as node attributes.	projects/knowledge/interview/chef/043-how-can-you-extend-ohai-to-gather-additional-syste.txt
chef/6f7b1122bed7	chef	easy	chef,service-resource,management	How does Chef support Windows environments?	Service resources manage system services. Actions: start, stop, restart, reload, enable, disable. Commonly paired with template notifications to restart on config change. Example: service 'nginx' do action [:enable, :start] end.\n\nRemember: Chef environments pin cookbook versions per stage: production locks to 1.2.3, staging allows 1.x.x. Prevents untested cookbook versions from reaching prod.	projects/knowledge/interview/chef/082-how-does-chef-support-windows-environments.txt
chef/6f8df998b6de	chef	medium	chef,windows,cross-platform	What are Chef Attributes?	Chef supports Windows with platform-specific resources: windows_package, windows_service, windows_feature, registry_key, powershell_script, dsc_resource. Use platform?/platform_family? guards for cross-platform cookbooks.\n\nRemember: Chef attribute precedence: default < normal < override < automatic (Ohai). Use default for most settings; override sparingly. Normal attributes persist across runs.	projects/knowledge/interview/chef/023-what-are-chef-attributes.txt
chef/78b5f297cb6a	chef	hard	chef,performance,optimization	What is Test Kitchen, and how does it work with Chef?	Optimize Chef runs: minimize search calls (cache results), use lazy evaluation for expensive attributes, batch similar resources, reduce cookbook size, use Policyfiles (pre-computed dependency resolution), tune client.rb (splay, interval).\n\nRemember: Test Kitchen = integration testing for Chef cookbooks. Spins up VMs/containers, converges, and runs InSpec tests. Essential for CI/CD of infrastructure code.	projects/knowledge/interview/chef/037-what-is-test-kitchen-and-how-does-it-work-with-che.txt
chef/7a5d0a75ee72	chef	easy	chef,metadata,cookbook	How do you perform a search for nodes using the knife command?	metadata.rb defines cookbook identity: name, version, description, depends (dependencies), supports (platforms), chef_version. Required for Supermarket and Berkshelf resolution. Follows SemVer.\n\nRemember: knife = Chef's CLI for server interaction. knife bootstrap provisions a new node. knife ssh runs commands across nodes.	projects/knowledge/interview/chef/031-how-do-you-perform-a-search-for-nodes-using-the-kn.txt
chef/7a6da462f91b	chef	medium	chef,execute-resource,scripts	Explain the difference between Chef Server, Chef Workstation, and Chef Node.	Execute and script resources run commands. Use creates/not_if/only_if guards for idempotency. Prefer native resources (package, file) when available. script resource supports bash, powershell, python interpreters.\n\nRemember: Chef architecture: Workstation (write cookbooks) -> Chef Server (stores cookbooks) -> Nodes (pull and apply). Three-tier model.	projects/knowledge/interview/chef/002-explain-the-difference-between-chef-server-chef-wo.txt
chef/7fa27059b7f9	chef	hard	chef,migration,upgrade	What is the purpose of the environment directive in a Chef Recipe?	Upgrade Chef strategy: test new version in dev, check deprecated resource syntax, update cookbooks for API changes, verify custom resources and Ohai plugins, test with Kitchen, roll out incrementally. Pin chef_version in metadata.rb.\n\nRemember: recipe = 'a single configuration file in Ruby DSL.' It declares resources (package, service, file) in the desired state.	projects/knowledge/interview/chef/073-what-is-the-purpose-of-the-environment-directive-i.txt
chef/81a21641f71c	chef	easy	chef,directory-resource,management	How can you create a new Cookbook using the knife command?	Directory resource creates and manages directories. Supports owner, group, mode, recursive (create parent dirs). Actions: create, delete. Example: directory '/opt/myapp' do recursive true end.\n\nRemember: cookbook = collection of recipes, templates, files, and metadata. Think 'Ansible role' equivalent. Versioned and shareable via Chef Supermarket.	projects/knowledge/interview/chef/021-how-can-you-create-a-new-cookbook-using-the-knife-.txt
chef/82b8d074c959	chef	medium	chef,vault,secrets	What is a Chef Resource?	Chef Vault wraps encrypted data bags with node-based access control. Items encrypted with node public keys -- only authorized nodes decrypt. Commands: knife vault create/update. In recipes: chef_vault_item('vault', 'item').\n\nRemember: Chef resources are the building blocks: package, service, file, template, execute, cron, user, group. Each declares a desired state and converges to it.	projects/knowledge/interview/chef/012-what-is-a-chef-resource.txt
chef/84f39e9b32f0	chef	hard	chef,chef-client,architecture	How does Chef support bare-metal provisioning?	Chef Client run phases: 1) Ohai (build node), 2) Authenticate, 3) Sync cookbooks, 4) Load libraries/attributes/recipes, 5) Compile resource collection, 6) Converge, 7) Run handlers, 8) Save node. Failures at any phase halt the run.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/088-how-does-chef-support-bare-metal-provisioning.txt
chef/87ed26253844	chef	easy	chef,package-resource,management	How can you use Data Bags to store sensitive information?	Package resource installs system packages. Actions: install, upgrade, remove, purge. Auto-selects correct provider (apt, yum) based on platform. Shorthand: package 'nginx' (defaults to :install). Supports arrays for multiple packages.\n\nRemember: data bags = global JSON data available to all nodes. Use encrypted data bags for secrets. Think 'Ansible group_vars' but stored on the Chef Server.	projects/knowledge/interview/chef/060-how-can-you-use-data-bags-to-store-sensitive-infor.txt
chef/8879115b2f9e	chef	medium	chef,community-cookbooks,reuse	Name some popular community-contributed Chef Cookbooks and their use cases.	Community cookbooks from Supermarket avoid reinventing common patterns. Add to Berksfile, configure via attributes. Evaluate quality: test coverage, maintenance, downloads. Wrapper cookbook pattern extends community cookbooks safely.\n\nRemember: cookbook = collection of recipes, templates, files, and metadata. Think 'Ansible role' equivalent. Versioned and shareable via Chef Supermarket.	projects/knowledge/interview/chef/077-name-some-popular-community-contributed-chef-cookb.txt
chef/8addfa3b8811	chef	hard	chef,multi-tenancy,organizations	How can you rotate secrets in Chef Vault?	Chef Server supports multi-tenancy via organizations. Each org has isolated cookbooks, nodes, data bags, and RBAC. Users can belong to multiple orgs. Useful for MSPs, large enterprises, or dev/prod isolation.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/085-how-can-you-rotate-secrets-in-chef-vault.txt
chef/8c0e3fccb221	chef	easy	chef,user-resource,management	What are the benefits of using Policyfiles over traditional roles?	User resource manages system users. Properties: uid, home, shell, manage_home. Actions: create, remove, modify, lock, unlock. Often paired with group and directory resources.\n\nRemember: Chef role = predefined run_list + attribute overrides. Assign role[webserver] to nodes instead of listing individual recipes.	projects/knowledge/interview/chef/067-what-are-the-benefits-of-using-policyfiles-over-tr.txt
chef/8e608c6ce343	chef	medium	chef,reporting,visibility	How can you use Policyfiles to manage Cookbook dependencies?	Chef Automate provides run history, failure analysis, and compliance dashboards. Use handlers for external systems (Slack, PagerDuty, Datadog). knife status shows recent converge times.\n\nRemember: cookbook = collection of recipes, templates, files, and metadata. Think 'Ansible role' equivalent. Versioned and shareable via Chef Supermarket.	projects/knowledge/interview/chef/041-how-can-you-use-policyfiles-to-manage-cookbook-dep.txt
chef/960c20743565	chef	hard	chef,air-gapped,deployment	How can you enable verbose logging for Chef client runs?	Air-gapped Chef: install Server from RPM/DEB, use internal Supermarket, pre-download dependencies with berks vendor, distribute client packages via internal repo. No internet required after initial setup.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/081-how-can-you-enable-verbose-logging-for-chef-client.txt
chef/9b89e548937c	chef	easy	chef,cron-resource,scheduling	How can you optimize Chef Cookbooks for performance?	Cron resource manages cron jobs. Properties: minute, hour, day, month, weekday, command, user. Actions: create, delete. Manages entries in the system crontab.\n\nRemember: cookbook = collection of recipes, templates, files, and metadata. Think 'Ansible role' equivalent. Versioned and shareable via Chef Supermarket.	projects/knowledge/interview/chef/049-how-can-you-optimize-chef-cookbooks-for-performanc.txt
chef/9dfef85cb6f2	chef	medium	chef,knife-ssh,remote	How can you secure sensitive data in Chef Cookbooks?	knife ssh executes commands across multiple nodes via SSH using Chef Server search for targeting. Example: knife ssh 'role:webserver' 'sudo chef-client'. Configure SSH user/key in knife.rb.\n\nRemember: cookbook = collection of recipes, templates, files, and metadata. Think 'Ansible role' equivalent. Versioned and shareable via Chef Supermarket.	projects/knowledge/interview/chef/075-how-can-you-secure-sensitive-data-in-chef-cookbook.txt
chef/9eec1466f9d8	chef	hard	chef,high-availability,chef-server	What is Chef Automate, and how does it enhance Chef workflows?	Chef Server HA options: Chef Backend (built-in clustering with leader election), external PostgreSQL + Elasticsearch, or Chef Automate HA. Frontend servers are stateless and load-balanced. Backup with knife ec backup or pg_dump.\n\nRemember: Chef uses Ruby DSL for 'recipes' (config scripts) and 'cookbooks' (collections of recipes). Pull-based: chef-client daemon runs on each node.\n\nChef vs Ansible: Chef = pull-based, Ruby, agent required. Ansible = push-based, YAML, agentless. Chef has a steeper learning curve.	projects/knowledge/interview/chef/050-what-is-chef-automate-and-how-does-it-enhance-chef.txt
chef/a1e3cddf5c46	chef	easy	chef,cookbook-file,static	What is an LWRP (Lightweight Resource and Provider)?	cookbook_file deploys static files from a cookbook's files/ directory. No variable substitution -- use template for dynamic content. Supports platform-specific subdirectories.\n\nRemember: Chef resources are the building blocks: package, service, file, template, execute, cron, user, group. Each declares a desired state and converges to it.	projects/knowledge/interview/chef/035-what-is-an-lwrp-lightweight-resource-and-provider.txt
chef/a1fcbb25452f	chef	medium	chef,lazy-evaluation,attributes	What is a Chef Cookbook?	Lazy evaluation defers attribute computation to converge time. Use lazy { } block when attributes depend on values set by earlier resources during convergence, not available at compile time.\n\nRemember: cookbook = collection of recipes, templates, files, and metadata. Think 'Ansible role' equivalent. Versioned and shareable via Chef Supermarket.	projects/knowledge/interview/chef/005-what-is-a-chef-cookbook.txt
chef/a92e4b7c59c1	chef	hard	chef,security,hardening	How does Chef ensure idempotence?	Harden Chef: encrypt data bags and vault items, TLS for all server communication, RBAC for knife access, audit cookbook changes, sign cookbooks, InSpec for compliance, rotate keys/tokens regularly, isolate Chef Server network access.\n\nRemember: Chef resources are idempotent by default — 'package nginx action :install' only installs if missing, just like Ansible's state: present.	projects/knowledge/interview/chef/003-how-does-chef-ensure-idempotence.txt
chef/a992d6ec7464	chef	easy	chef,recipe,basics	Explain the purpose of InSpec in Chef testing.	A recipe is a Ruby file in a cookbook that defines resources to configure a node. Listed in run_lists, processed in order. The default recipe runs when only the cookbook name is specified. Recipes can include other recipes.\n\nRemember: Test Kitchen = integration testing for Chef cookbooks. Spins up VMs/containers, converges, and runs InSpec tests. Essential for CI/CD of infrastructure code.	projects/knowledge/interview/chef/039-explain-the-purpose-of-inspec-in-chef-testing.txt
chef/ab680a1737a3	chef	medium	chef,providers,platform	What tools are commonly used on the Chef Workstation?	Providers implement resource actions for specific platforms. Chef auto-selects based on platform (apt for Ubuntu, yum for CentOS). In modern Chef (12.5+), custom resources replace the older LWRP provider pattern.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/058-what-tools-are-commonly-used-on-the-chef-workstati.txt
chef/adec44e929b6	chef	hard	chef,idempotency,troubleshooting	What steps would you take to troubleshoot a Chef client run failure?	Non-idempotent behavior usually comes from execute/script resources without guards. Fix: add creates, not_if, or only_if. Other causes: resources that always report updated, file resources with dynamic content, notification cascades.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/080-what-steps-would-you-take-to-troubleshoot-a-chef-c.txt
chef/ae34922b9a33	chef	easy	chef,group-resource,management	How do Policyfiles differ from traditional Chef Roles?	Group resource manages system groups. Actions: create, remove, modify, manage. Use append true to add members without removing existing ones. Properties: gid, members.\n\nRemember: Policyfiles replace roles + environments + Berkshelf with a single lock file. Think 'Gemfile.lock for Chef.' Modern best practice over traditional workflow.	projects/knowledge/interview/chef/040-how-do-policyfiles-differ-from-traditional-chef-ro.txt
chef/ae78c7c88eab	chef	medium	chef,test-kitchen,integration	What is Chef Vault, and how is it used to manage secrets?	Test Kitchen runs integration tests against real instances. Configure in .kitchen.yml: driver (vagrant/docker), provisioner (chef_zero), verifier (inspec). Commands: kitchen create, converge, verify, destroy, test (all-in-one).\n\nRemember: Chef uses Ruby DSL for 'recipes' (config scripts) and 'cookbooks' (collections of recipes). Pull-based: chef-client daemon runs on each node.\n\nChef vs Ansible: Chef = pull-based, Ruby, agent required. Ansible = push-based, YAML, agentless. Chef has a steeper learning curve.	projects/knowledge/interview/chef/084-what-is-chef-vault-and-how-is-it-used-to-manage-se.txt
chef/af6c842fbe0f	chef	hard	chef,chefspec,unit-testing	How can you migrate from another configuration management tool to Chef?	ChefSpec simulates convergence without real systems. Fast feedback loop. Mock Ohai data, search results, and data bags. Example: expect(chef_run).to install_package('nginx'). Run with rspec.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/093-how-can-you-migrate-from-another-configuration-man.txt
chef/b047e4ad971c	chef	easy	chef,remote-file,download	How does Chef integrate with cloud providers such as AWS or Azure?	remote_file downloads files from URLs. Use checksum to prevent re-download if file matches. Supports HTTP, HTTPS, FTP sources. Actions: create, create_if_missing.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/051-how-does-chef-integrate-with-cloud-providers-such-.txt
chef/b6bb42e2dba4	chef	medium	chef,wrapper-cookbook,pattern	How do you install Chef on a system?	Wrapper cookbooks customize community cookbooks without forking. Override attributes and include the upstream recipe. Keeps upstream upgradeable while adding customizations.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/007-how-do-you-install-chef-on-a-system.txt
chef/b87e2b0be6fa	chef	hard	chef,orchestration,push-jobs	What is a Chef Recipe?	Chef Push Jobs sends commands to nodes without waiting for client runs. Server pushes jobs for on-demand execution. Use cases: restart services across fleet, trigger ad-hoc commands, coordinate multi-node deployments.\n\nRemember: recipe = 'a single configuration file in Ruby DSL.' It declares resources (package, service, file) in the desired state.	projects/knowledge/interview/chef/004-what-is-a-chef-recipe.txt
chef/b9c8c425dea1	chef	easy	chef,mount-resource,filesystem	Explain the use of the search method in Chef Recipes.	Mount resource manages filesystem mounts. Actions: mount, umount, enable (add to fstab), disable (remove from fstab). Properties: device, fstype, options.\n\nRemember: recipe = 'a single configuration file in Ruby DSL.' It declares resources (package, service, file) in the desired state.	projects/knowledge/interview/chef/032-explain-the-use-of-the-search-method-in-chef-recip.txt
chef/ba74dcee082d	chef	medium	chef,log-resource,debugging	What is Chef and how does it manage infrastructure?	Log resource outputs messages during chef-client run. Levels: debug, info, warn, error, fatal. Useful for debugging convergence flow and inspecting attribute values during runs.\n\nRemember: Chef uses Ruby DSL for 'recipes' (config scripts) and 'cookbooks' (collections of recipes). Pull-based: chef-client daemon runs on each node.\n\nChef vs Ansible: Chef = pull-based, Ruby, agent required. Ansible = push-based, YAML, agentless. Chef has a steeper learning curve.	projects/knowledge/interview/chef/001-what-is-chef.txt
chef/c1bbac3fdb6a	chef	hard	chef,dependency-resolution,conflicts	Explain how you can use Policyfiles for versioning and managing Cookbook dependencies.	Cookbook dependency conflicts arise when cookbooks require incompatible versions. Diagnose with berks list/graph. Fix: relax version constraints (~> instead of =), update cookbooks, use Policyfiles, or create wrapper cookbooks.\n\nRemember: cookbook = collection of recipes, templates, files, and metadata. Think 'Ansible role' equivalent. Versioned and shareable via Chef Supermarket.	projects/knowledge/interview/chef/068-explain-how-you-can-use-policyfiles-for-versioning.txt
chef/ca25cd3c2673	chef	easy	chef,link-resource,symlinks	What is the role of the Berksfile in Chef?	Link resource manages symbolic and hard links. Actions: create, delete. Default link_type is :symbolic. Properties: to (target path), link_type.\n\nRemember: Chef role = predefined run_list + attribute overrides. Assign role[webserver] to nodes instead of listing individual recipes.	projects/knowledge/interview/chef/022-what-is-the-role-of-the-berksfile-in-chef.txt
chef/ca5d3d78d9bb	chef	medium	chef,run-context,compile-converge	How do you handle sensitive information like passwords in Chef?	Chef runs in two phases: compile (reads recipes, builds resource collection) and converge (executes resources). Attributes and Ruby code run at compile time; resource actions at converge time. This matters for lazy evaluation and ordering.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/047-how-do-you-handle-sensitive-information-like-passw.txt
chef/cc03c4e1006a	chef	hard	chef,api,integration	Explain the concept of the package resource in Chef.	Chef Server API enables programmatic access. Authenticate with client key + node name. Libraries: chef-api gem (Ruby), PyChef (Python). Use for custom dashboards, inventory, CI/CD integration. knife raw for ad-hoc API calls.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/013-explain-the-concept-of-the-package-resource-in-che.txt
chef/ccf3c1048b98	chef	easy	chef,apt-update,debian	Explain the purpose of the use_inline_resources method in custom resources.	apt_update refreshes apt package cache. action :periodic (default frequency 86400s), action :update (immediate). Essential at start of Debian/Ubuntu recipes before package installs.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/072-explain-the-purpose-of-the-useinlineresources-meth.txt
chef/ce134172e787	chef	medium	chef,resource-action,behavior	What is the purpose of the service resource in Chef?	Resource actions define what Chef does: :create, :install, :delete, :start, :stop, etc. Multiple actions in array run in order. action :nothing makes resource passive -- only triggered by notifications.\n\nRemember: Chef resources are the building blocks: package, service, file, template, execute, cron, user, group. Each declares a desired state and converges to it.	projects/knowledge/interview/chef/015-what-is-the-purpose-of-the-service-resource-in-che.txt
chef/d16bc4f36b55	chef	hard	chef,attribute-precedence,debugging	How can you use the template resource in Chef to manage configuration files?	Debug attributes with node.debug_value('path','to','attr'). Precedence: default < normal < override < automatic. Within each level: attribute file < recipe < role < environment. Avoid normal (persists on server).\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/016-how-can-you-use-the-template-resource-in-chef-to-m.txt
chef/d8fd4e95580d	chef	easy	chef,bash-resource,scripts	How do you create a custom LWRP in Chef?	Bash resource runs bash scripts. Use creates guard to prevent re-execution. Also: script, powershell_script, python resources. Prefer native resources (package, file) when possible.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/036-how-do-you-create-a-custom-lwrp-in-chef.txt
chef/dabecfd64b25	chef	medium	chef,ssl,certificates	How do you use the file resource to manage files in Chef?	Chef uses SSL for client-server communication. knife ssl check / knife ssl fetch for cert management. For self-signed certs, add to trusted_certs directory. ssl_verify_mode :verify_peer for production.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/014-how-do-you-use-the-file-resource-to-manage-files-i.txt
chef/db1ab71239df	chef	hard	chef,advanced-search,patterns	Explain the purpose of the /etc/chef/client.pem file on a Chef Node.	Advanced Chef search: partial search (returns only specified attributes, faster), wildcard and boolean queries, filter_result parameter. Used for dynamic config, inventory, and service discovery in recipes.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/056-explain-the-purpose-of-the-etcchefclientpem-file-o.txt
chef/db522d0a3ab2	chef	easy	chef,http-request,resource	How do you configure a Chef Node to communicate with the Chef Server?	http_request makes HTTP calls during convergence. Actions: get, post, put, patch, delete, head. Properties: url, message (body), headers. Useful for webhooks and API integrations.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/010-how-do-you-configure-a-chef-node-to-communicate-wi.txt
chef/dc75a8042e8c	chef	medium	chef,bootstrapping,nodes	What is the role of Test Kitchen in automated testing within a CI/CD pipeline?	Bootstrap a node with knife bootstrap HOST -x USER -r 'role[base]'. SSHs in, installs Chef Client, configures server connection, runs initial converge. Supports SSH keys, sudo, and custom bootstrap templates.\n\nRemember: Chef role = predefined run_list + attribute overrides. Assign role[webserver] to nodes instead of listing individual recipes.	projects/knowledge/interview/chef/070-what-is-the-role-of-test-kitchen-in-automated-test.txt
chef/dd29423070ea	chef	hard	chef,cookbook-testing,ci	How can you use the remote_file resource in Chef?	CI pipeline for cookbooks: 1) Cookstyle lint, 2) ChefSpec unit tests, 3) Test Kitchen integration (vagrant/docker/cloud), 4) InSpec verification, 5) Upload to Chef Server. Pin Kitchen driver to avoid environment drift.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/066-how-can-you-use-the-remotefile-resource-in-chef.txt
chef/dd89c27c7ba0	chef	easy	chef,manage-home,users	How can you monitor Chef infrastructure?	Create users with home directories using manage_home true. Pair with ssh_authorized_keys cookbook for SSH access. manage_home creates/removes the home directory with the user.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/090-how-can-you-monitor-chef-infrastructure.txt
chef/dfd64f51d711	chef	medium	chef,logging,client	How do you back up Chef Server data?	Chef client log levels: auto, debug, info, warn, error, fatal. Set via CLI (-l debug), client.rb, or attribute. Logs to STDOUT and /var/log/chef/client.log. debug shows resource state comparisons.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/044-how-do-you-back-up-chef-server-data.txt
chef/e10324d07b75	chef	hard	chef,scaling,infrastructure	Describe the three phases of a Chef client run.	Scale Chef: splay client runs to avoid thundering herd, use Policyfiles for faster dependency resolution, multiple Chef Server orgs, push jobs or SSH for controlled rollouts, Chef Automate for centralized management.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/063-describe-the-three-phases-of-a-chef-client-run.txt
chef/e2478ac6f6e7	chef	easy	chef,template-variables,erb	Compare and contrast Chef Attributes and Data Bags.	Pass variables to templates via the variables property. Access in template as @variable_name. Node attributes also available directly in templates.\n\nRemember: data bags = global JSON data available to all nodes. Use encrypted data bags for secrets. Think 'Ansible group_vars' but stored on the Chef Server.	projects/knowledge/interview/chef/059-compare-and-contrast-chef-attributes-and-data-bags.txt
chef/e77c16758d57	chef	medium	chef,environment-cookbook,pattern	What is the significance of the chef-repo directory in Chef?	Environment cookbook pattern: lightweight cookbook per environment that pins dependencies and sets attributes. Version-controlled, testable, promotable through CI/CD. Combined with Policyfiles for robust workflow.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/011-what-is-the-significance-of-the-chef-repo-director.txt
chef/e83f63204f9c	chef	hard	chef,upgrade-strategy,migration	Explain how dependencies are managed in a Chef Cookbook.	Upgrade Chef Client across fleet: test in dev, check deprecated features, update cookbooks, phased rollout (canary first), pin chef-client version via cookbook, and have rollback plan. Review release notes for breaking changes.\n\nRemember: cookbook = collection of recipes, templates, files, and metadata. Think 'Ansible role' equivalent. Versioned and shareable via Chef Supermarket.	projects/knowledge/interview/chef/061-explain-how-dependencies-are-managed-in-a-chef-coo.txt
chef/e93398a1fc03	chef	easy	chef,git-resource,source	How can you set default attributes in a Cookbook?	Git resource clones/updates repositories. action :sync updates to latest revision. :checkout only clones if missing. Supports SSH deploy keys. Properties: repository, revision.\n\nRemember: cookbook = collection of recipes, templates, files, and metadata. Think 'Ansible role' equivalent. Versioned and shareable via Chef Supermarket.	projects/knowledge/interview/chef/024-how-can-you-set-default-attributes-in-a-cookbook.txt
chef/ea163f3bfb3e	chef	medium	chef,databag-search,query	Explain the structure of a Chef Cookbook.	Search data bags from recipes with search(:bag_name, 'query'). Data bags indexed on Chef Server. Use for dynamic user management, service discovery, and shared configuration.\n\nRemember: cookbook = collection of recipes, templates, files, and metadata. Think 'Ansible role' equivalent. Versioned and shareable via Chef Supermarket.	projects/knowledge/interview/chef/018-explain-the-structure-of-a-chef-cookbook.txt
chef/ea818d1ae8af	chef	hard	chef,resource-cloning,anti-pattern	What are some best practices for writing clean and maintainable Chef code?	Resource cloning occurs when same resource declared multiple times with different attributes. Chef merges (last wins) and warns. Fix: consolidate declarations, use different names, or refactor into custom resources. Chef 13+ raises error.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/046-what-are-some-best-practices-for-writing-clean-and.txt
chef/f1ae9fdd6b98	chef	easy	chef,systemd-unit,services	What is Ohai, and what information does it collect?	systemd_unit manages systemd service files. Actions: create, enable, start, delete, disable, stop. Specify unit content as a hash with Unit, Service, Install sections.\n\nRemember: Ohai = Chef's fact-gathering tool (like Ansible's setup module). Collects OS, network, CPU, memory info as node attributes.	projects/knowledge/interview/chef/042-what-is-ohai-and-what-information-does-it-collect.txt
chef/f332a46b6fda	chef	medium	chef,policyfile-workflow,modern	List and explain some common actions available for the file resource.	Modern Chef workflow: Policyfile.rb replaces roles + environments + Berksfile. chef install -> chef push staging -> chef push production. Immutable, versioned, testable deployments.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/065-list-and-explain-some-common-actions-available-for.txt
chef/f7e3660b79d2	chef	hard	chef,compliance-as-code,inspec	Compare Chef with other configuration management tools such as Puppet or Ansible.	InSpec compliance-as-code: profiles encode security/regulatory requirements. Run during or after chef-client. Aggregate in Chef Automate. CIS, STIG, PCI-DSS profiles on Supermarket. Custom profiles extend standard baselines.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/092-compare-chef-with-other-configuration-management-t.txt
chef/f9119e539d19	chef	easy	chef,sysctl-resource,kernel	Explain the role of front-end and back-end servers in a high-availability Chef Server.	sysctl manages kernel parameters. Applies immediately and persists in /etc/sysctl.d/. No restart required. Example: sysctl 'net.ipv4.ip_forward' do value '1' end.\n\nRemember: Chef's 'compile then converge' model means all resources are compiled into a resource collection first, then executed in order. This catches dependency issues early.	projects/knowledge/interview/chef/079-explain-the-role-of-front-end-and-back-end-servers.txt
chef/f9aafb07e978	chef	medium	chef,unified-mode,modern	Explain the difference between immediate, delayed, and sub-resource notifications.	Unified mode (Chef 17+) eliminates compile/converge distinction -- resources run immediately when declared. Enable with unified_mode true in custom resources. Default in Chef 18+. Simplifies ordering.\n\nRemember: Chef notifications: notifies :restart triggers a resource. subscribes watches another resource. Use :delayed (default, end of run) or :immediately for timing control.	projects/knowledge/interview/chef/034-explain-the-difference-between-immediate-delayed-a.txt
chef/fbf09fabcedb	chef	hard	chef,target-mode,agentless	How can you use Environments to manage configurations in different stages (e.g., development, production)?	Target mode (Chef 17+) converges remote nodes via SSH/WinRM without installing Chef Client. Enable with --target ssh://host. Useful for network devices, locked-down servers, edge deployments. Limited to supporting resources.\n\nRemember: Chef environments pin cookbook versions per stage: production locks to 1.2.3, staging allows 1.x.x. Prevents untested cookbook versions from reaching prod.	projects/knowledge/interview/chef/029-how-can-you-use-environments-to-manage-configurati.txt
chef/fd0f6843b8d1	chef	medium	chef,resource-properties,validation	Explain the use of Node Attributes in Chef.	Custom resource properties support validation: required, callbacks (custom validators), equal_to (allowed values), coerce (type transformation), default and lazy defaults.\n\nRemember: Chef attribute precedence: default < normal < override < automatic (Ohai). Use default for most settings; override sparingly. Normal attributes persist across runs.	projects/knowledge/interview/chef/025-explain-the-use-of-node-attributes-in-chef.txt

<!-- wiki:related:start -->
---

## Wiki Navigation

### Related Content

- [Ansible Automation](../../../../library/topics/ansible/index.md) (Topic Pack, L1) — Ansible
- Ansible Core Flashcards *(CLI)* (flashcard_deck, L1) — Ansible
- [Ansible Deep Dive](../../../../library/topics/ansible-deep-dive/index.md) (Topic Pack, L2) — Ansible
- [Ansible Drills](../../../../library/drills/ansible_drills.md) (Drill, L1) — Ansible
- Ansible Exercises (Quest Ladder) *(CLI)* (Exercise Set, L1) — Ansible
- Ansible Lab: Conditionals and Loops *(CLI)* (Lab, L1) — Ansible
- Ansible Lab: Facts and Variables *(CLI)* (Lab, L0) — Ansible
- Ansible Lab: Install Nginx (Idempotency) *(CLI)* (Lab, L1) — Ansible
- Ansible Lab: Ping and Debug *(CLI)* (Lab, L0) — Ansible
- Ansible Lab: Roles *(CLI)* (Lab, L1) — Ansible

<!-- wiki:related:end -->
