server infrastructure, physical or IaaS • Phoenix Servers: http://martinfowler.com/bliki/ PhoenixServer.html and http://martinfowler.com/ bliki/SnowflakeServer.html 3
be queried • hosted: enterprise chef • self-hosted: enterprise chef, open source chef (64 bit only) • differences: ACL, organizations, LDAP, nicer UI and obviously less hassle 6
a node) • communicates with server • self-registers node • has a run list • gets cookbooks and other configuration information • idempotently brings node into desired state 8
cookbooks, roles, databags etc. • bootstrapping nodes (ssh) • uploading cookbooks etc. to server • main tool: knife • state kept in scm (most likely git) 11
everywhere • try running apache cookbook on ubuntu 14.04 though… • lots of platform specific code • lots of configurability • decide on a case-by-case basis • do NOT automatically update 13
single configuration item present on a node that is under management by Chef.” (http://docs.opscode.com/resource.html) • Examples: system user, folders, files, packages, execute, deploy • has: attributes, actions, guards, guard interpreters 23
on the OS (etc.) on the node • example: “package” resource may use: apt/ dpkg, rpm, gem etc. • sometimes you still need to handle different OS/ distributions (example: apache package) 24
attribute file • A default attribute located in a recipe • A default attribute located in an environment • A default attribute located in role • A force_default attribute located in a cookbook attribute file • A force_default attribute located in a recipe • A normal attribute located in a cookbook attribute file • A normal attribute located in a recipe • An override attribute located in a cookbook attribute file • An override attribute located in a recipe • An override attribute located in a role • An override attribute located in an environment • A force_override attribute located in a cookbook attribute file • A force_override attribute located in a recipe • An automatic attribute identified by Ohai at the start of the chef-client run 28