Index

A note on the digital index

A link in an index entry is displayed as the section title in which that entry appears. Because some sections have multiple index markers, it is not unusual for an entry to have several links to the same section. Clicking on any link will take you directly to the place in the text in which the marker appears.

Symbols

$lines variable, Introducing Bats
$output variable, Introducing Bats
$status variable, Introducing Bats
@something variables, Templates
[ ] method, Arrays

C

capture groups, Cucumber: Acceptance Testing for the Masses
case statements, Conditional logic
CentOS, Overview
CFengine, Introducing Serverspec
challenges, The Risks of Infrastructure as Code
Chef, An Introduction to ChefDiscussion
API, The Chef API
as tool, The Chef tool
attributes system, Discussion
commands, Discussion
community, The Chef community
community cookbook site, DiscussionDiscussion
configuration files, DiscussionDiscussion
configuration information, Discussion
cookbooks, DiscussionDiscussion
developing infrastructure, automation of, DiscussionDiscussion
environments, Berkshelf and, Berkshelf and Chef environmentsBerkshelf and Chef environments
framework, The Chef framework
git, installing, Objectives
Hosted, The Chef API
HostedChef, DiscussionDiscussion
installing, ObjectivesDiscussion
IRC client, installing, ObjectivesWorked Example
Private, The Chef API
recipes, DiscussionDiscussion
resources in, DiscussionDiscussion
Ruby, installing, ObjectivesWorked Example
Server, DiscussionDiscussion
Solo, DiscussionDiscussion
user resource, Discussion
users, installing, ObjectivesDiscussion
Vagrant, installing, Exercise 3: VagrantDiscussion
VirtualBox, installing, Exercise 2: VirtualboxDiscussion
Chef Handler Cookbook, Discussion
Chef Runners, Example
Chef Server, DiscussionDiscussion
forms, Discussion
Hosted Chef, Discussion
open source, Discussion
Private Chef, Discussion
Chef Shell, as REST API, Discussion
chef users mailing list, An Introduction to Chef
chef-apply, Discussion, Discussion, Discussion
chef-client, The Chef tool
chef-data repository, Discussion
chef-shell debugging console, The Chef tool
chef-solo, The Chef tool, Discussion, DiscussionDiscussion
Chefspec, Integration Testing, OverviewSummary and Conclusion
advantages/disadvantages of, Advantages and DisadvantagesAdvantages and Disadvantages
installing, Getting Started
usage, ExampleExample
Class block, Classes
class variables, Variables
classes, ClassesClasses
closures, Arrays
code review, The Risks of Infrastructure as Code, Professionalism
code standards, The Risks of Infrastructure as Code
collective ownership, The Risks of Infrastructure as Code
Colorize, Bundler
commands, Discussion
Test Kitchen, Introducing Serverspec
components, reusable, The Principles of Infrastructure as Code
composability, The Principles of Infrastructure as Code
conditional logic, Conditional logicConditional logic
truthiness in Ruby, Truthiness
configuration
information, Discussion
management tools, The Origins of Infrastructure as Code
configuration files, DiscussionDiscussion
constants, Identifiers, Constants
constraints, Feedback of Results, Epilogue
constructors, Classes
continuous integration, Feedback of Results, Summary and Conclusion
converge command, Getting Started
convergence, The Principles of Infrastructure as Code
conversations, Behavior-Driven Development
cookbooks, The Chef community, DiscussionDiscussion
community cookbook site, DiscussionDiscussion
finding/installing, DiscussionDiscussion
Nginx, Getting Started
Opscode, Discussion
uploading, Discussion
VirtualBox, Discussion
cookbook_versions method, Berkshelf and Chef environments
cooperation, The Principles of Infrastructure as Code
create command, Getting Started
Cucumber, Cucumber: Acceptance Testing for the MassesCucumber: Acceptance Testing for the Masses, Acceptance Testing
advantages/disadvantages of, Advantages and DisadvantagesAdvantages and Disadvantages
Leibniz and, OverviewSummary and Conclusion
usage, ExampleAdvantages and Disadvantages
Cucumber-Chef, A Test-Driven Infrastructure Framework, Overview
customer-facing acceptance tests, Acceptance Testing
CustomInk, Overview

D

Debian-derived systems, Overview
declaration, The Principles of Infrastructure as Code
default directories, Advantages and Disadvantages
default environments, Berkshelf and Chef environments
design, The Risks of Infrastructure as Code
destory command, Getting Started
developing infrastructure, The Chef framework
disaster recovery, The Origins of Infrastructure as Code
download subcommand, Discussion
DSL, Discussion
methods, Cucumber: Acceptance Testing for the Masses

E

each methods, Getting Started
efficient specification, Advantages and Disadvantages
Elastic Compute Cloud (EC2), The Origins of Infrastructure as Code
elsif statements, Conditional logic
Emacs, Discussion
Embedded Ruby, Templates
enforcing quality, Feedback of Results
environments, Berkshelf and Chef environments
equality operator, Operators
Erlang, The Chef API
Etsy, Overview
eval function, Grammar and Vocabulary
exercises, format of, An Introduction to Chef
expression result substitution, Templates
extensibility, The Principles of Infrastructure as Code
extracting results, Feedback of Results
eXtreme programming, Cucumber: Acceptance Testing for the Masses

F

families, Discussion
features, Overview
supported, Discussion
flexibility, The Principles of Infrastructure as Code
guaranteeing, Professionalism
protecting, Professionalism
flow control (Ruby), Conditional logicConditional logic
truthiness and, Truthiness
Foodcritic, Overview
installing, Getting StartedGetting Started
format of exercises, An Introduction to Chef
Fowler, Martin, Test-Driven Infrastructure Should Be Automated
Freenode, The Chef community
functional harm, Professionalism

H

harm
functional, Professionalism
structural, Professionalism
hashes, HashesHashes
helper methods, memoized, Example
hooks, RSpec: The Transition to BDD
Hosted Chef, The Chef API, Worked Example, DiscussionDiscussion
using, Discussion

I

idempotence, The Principles of Infrastructure as Code
identifiers, Identifiers
constants, Identifiers
keywords, Identifiers
method names, Identifiers
variables, Identifiers
include_recipe resource, Overview
indexing, The Chef API
infrastructure as code, Underpinning PhilosophyProfessionalism
challenges of, The Risks of Infrastructure as Code
code review, The Risks of Infrastructure as Code
code standards, The Risks of Infrastructure as Code
collective ownership, The Risks of Infrastructure as Code
design, The Risks of Infrastructure as Code
development, The Chef framework
focusing attention on, The Risks of Infrastructure as Code
history of, The Origins of Infrastructure as CodeThe Origins of Infrastructure as Code
principles of, The Principles of Infrastructure as CodeThe Principles of Infrastructure as Code
professionalism and, ProfessionalismProfessionalism
refractoring, The Risks of Infrastructure as Code
risks of, The Risks of Infrastructure as Code
side effects of, The Risks of Infrastructure as Code
testing, The Risks of Infrastructure as Code
tools for, Infrastructure as Code
infrastructure development, automation of, DiscussionDiscussion
infrastructure tests, Test-Driven Infrastructure Should Be Automated
inheritances, Bundler
initialize method, Classes, Minitest: Unit Testing for the 21st Century
install subcommand, Discussion
instance variables, Variables
instances, Getting Started
integration testing, Integration Testing
continuous, Feedback of Results
templates, TemplatesTemplates
with Bats, Integration Testing: Test Kitchen with Serverspec and BatsTemplates
with Minitest Handler, OverviewSummary and Conclusion
with Serverspec, Integration Testing: Test Kitchen with Serverspec and BatsTemplates
Interactive Ruby, Grammar and Vocabulary
irb, Grammar and Vocabulary
IRC channels, The Chef community

K

keys, Discussion
keywords, Identifiers, Keywords
kitchen converge command, Integration Testing: Test Kitchen with Serverspec and Bats, Introducing Serverspec
kitchen create command, Introducing Serverspec
kitchen destroy command, Introducing Serverspec
kitchen list command, Introducing Serverspec
kitchen setup command, Introducing Serverspec
kitchen verify command, Introducing Serverspec
knife, The Chef tool, Discussion
client list, Discussion
knife audit command, Getting Started
knife cookbook site download, Discussion
knife cookbook site install command, Discussion
knife cookbook test, Getting Started
knife environment edit command, Berkshelf and Chef environments
knife node edit command, Berkshelf and Chef environments

L

Leibniz, OverviewSummary and Conclusion
advantages/disadvantages of, Advantages and DisadvantagesAdvantages and Disadvantages
usage, ExampleAdvantages and Disadvantages
let method, Example
lighttpd, Example
Lightweight Resource Providers (LWRPs), Discussion
linting tools, Static Analysis and Linting ToolsSummary and Conclusion
advantages/disadvantages of, Advantages and Disadvantages
usage, ExampleExample
LISP, What Is Ruby?
local variables, Variables
localhosts, Discussion, Templates
LWRP, Overview

N

names, Classes, Discussion
netcat, Getting Started
netcat command, Introducing Serverspec
network-enabled tools, The Chef tool
chef-apply, The Chef tool
chef-client, The Chef tool
chef-shell, The Chef tool
chef-solo, The Chef tool
knife, The Chef tool
Ohai, The Chef tool
Nginx cookbook, Getting Started
nmap commands, Introducing Serverspec
node attributes, Discussion
data, Discussion
node convergence, Discussion
nodes, Discussion
North, Dan, Cucumber: Acceptance Testing for the Masses
Notepad, Discussion
notifies metaparameter, Templates

O

object-oriented language, Methods and Objects
objections, Advantages and Disadvantages
Ohai, The Chef tool, Discussion
open source Chef Server, Discussion
operands, Operators
operators (Ruby), OperatorsOperators
Opscode, The Principles of Infrastructure as Code, Discussion, Worked Example, Discussion
Bento boxes, Discussion
cookbooks, Discussion
OPSCODE_USER environment variable, Discussion
organization, Discussion
ORGNAME variable, Discussion

P

packaging systems, Discussion
parameter attributes, Discussion
passing variables, Templates
pattern matching operator, Operators
Perl, What Is Ruby?
philosophical points, Underpinning Philosophy
pkgsrc, Discussion
platform roles, Discussion
platforms, Getting Started
Player, Gary, Test-Driven Infrastructure: A Conceptual Framework
policy setting, Discussion
print function, Grammar and Vocabulary
Private Chef, The Chef API, Discussion
protecting flexibility, Professionalism
providers, Discussion, Discussion, Discussion
publishing industry, Epilogue
Puppet, Introducing Serverspec
push jobs, Summary and Conclusion

R

Rails application, Getting Started
read function, Grammar and Vocabulary
reassurance, The Origins of Infrastructure as Code
receivers, Methods and Objects, More About Methods
recipes, The Chef community, DiscussionDiscussion
modifying, Getting Started
red phase, Testing Workflow
refactor phase, Testing Workflow
refractoring, The Risks of Infrastructure as Code
repeatability, The Origins of Infrastructure as Code, The Principles of Infrastructure as Code
REPLs, Grammar and Vocabulary
basic functions in, Grammar and Vocabulary
functions in, Grammar and Vocabulary
resource collection, Discussion
resources, DiscussionDiscussion
actions, Discussion
names, Discussion
parameter attributes, Discussion
type, Discussion
user, Discussion
RESTful API, The Chef API, Overview
reusable components, The Principles of Infrastructure as Code
abstraction, The Principles of Infrastructure as Code
composability, The Principles of Infrastructure as Code
convergence, The Principles of Infrastructure as Code
cooperation, The Principles of Infrastructure as Code
declaration, The Principles of Infrastructure as Code
extensibility, The Principles of Infrastructure as Code
flexibility, The Principles of Infrastructure as Code
idempotence, The Principles of Infrastructure as Code
modularity, The Principles of Infrastructure as Code
repeatability, The Principles of Infrastructure as Code
reviewing code, The Risks of Infrastructure as Code
roles, Discussion
base, Discussion, Discussion
platform, Discussion
sections of, Discussion
service, Discussion
RSA keys, Discussion
RSpec, RSpec: The Transition to BDD, RSpec: The Transition to BDD, Introducing Serverspec
Rsync, Overview
Ruby, An Introduction to RubyBundler
and RSpec, RSpec: The Transition to BDDRSpec: The Transition to BDD
arrays, ArraysArrays
BDD and, TDD and BDD with RubyCucumber: Acceptance Testing for the Masses
bundler, BundlerBundler
classes, ClassesClasses
conditional logic, Conditional logicConditional logic
constants, Constants
Cucumber and, Cucumber: Acceptance Testing for the MassesCucumber: Acceptance Testing for the Masses
flow control, Conditional logicConditional logic
grammar, Grammar and VocabularyGrammar and Vocabulary
hashes, HashesHashes
identifiers, IdentifiersMethod names
installing with Chef, ObjectivesWorked Example
interactive, Grammar and Vocabulary
keywords, Keywords
method names, Method names
methods, Methods and ObjectsMethods and Objects, More About MethodsMore About Methods
Minitest and, Minitest: Unit Testing for the 21st CenturyMinitest: Unit Testing for the 21st Century
objects, Methods and ObjectsMethods and Objects
operators, OperatorsOperators
TDD and, TDD and BDD with RubyCucumber: Acceptance Testing for the Masses
truthiness of, Truthiness
variables, VariablesVariables
vocabulary, Grammar and VocabularyGrammar and Vocabulary
RubyGems, The Chef community, Overview
run lists, Discussion, Discussion

S

scalability, The Origins of Infrastructure as Code
scenarios, Cucumber: Acceptance Testing for the Masses
serve roles, Discussion
Serverspec, Integration Testing, Introducing ServerspecIntroducing Serverspec
integration testing with, Integration Testing: Test Kitchen with Serverspec and BatsTemplates
setting policy, Discussion
setup command, Getting Started
Shaw, Zed, An Introduction to Chef
SimpleTest, Cucumber: Acceptance Testing for the Masses
Smalltalk, What Is Ruby?, Arrays
spaceship operator, Operators
standards, The Risks of Infrastructure as Code
state leakage, Minitest: Unit Testing for the 21st Century
static analysis, Static Analysis and Linting ToolsSummary and Conclusion
steps, Overview
Strainer, Example
string interpolation, Arrays
StringIO, Getting Started
structural harm, Professionalism
structuring workflow, Testing Workflow
subclasses, Bundler
subcommands, Discussion
successful TDI, Tool Selection
suites, Getting Started
Sun Microsystems, Discussion
SUnit, Minitest: Unit Testing for the 21st Century
superclasses, Bundler
supported features, Discussion
symbolizing, Bundler
symbols, Bundler
syntactic sugar, Classes

T

tagging, Getting Started
tailor command, Getting Started
TDD (Test Driven Development), The Principles of TDD and BDDCucumber: Acceptance Testing for the Masses
Agile software development process, A Very Brief History of Agile Software DevelopmentEvolving design
templates, TemplatesTemplates
Test Kitchen, Integration Testing, Supporting Tools: Test KitchenSummary and Conclusion
commands, Getting Started, Introducing Serverspec
integration testing with, Integration Testing: Test Kitchen with Serverspec and BatsTemplates
Minitest Handler and, Minitest Handler with Test Kitchen
templates, TemplatesTemplates
usage, Getting StartedGetting Started
test-driven infrastructure framework, A Test-Driven Infrastructure FrameworkFeedback of Results
automation of, Test-Driven Infrastructure Should Be Automated
benefits of, Test-Driven Infrastructure Should Be Test-First
constraints of, Feedback of Results
continuous integration of, Test-Driven Infrastructure Should Be Continuously Integrated
feedback, Feedback of Results
mainstreaming, The Pillars of Test-Driven Infrastructure
outside-in approach to, Test-Driven Infrastructure Should Be Outside In
pillars of, The Pillars of Test-Driven Infrastructure
provisioning machines for, Provisioning Machines
results of, Feedback of Results
side-effects, awareness of, Test-Driven Infrastructure Should Be Side-Effect Aware
standardization of, Test-Driven Infrastructure Should Be Mainstream
successful, Tool Selection
test-first protocol for, Test-Driven Infrastructure Should Be Test-First
tests, writing/running, Writing Tests
toolchain for, Tool SelectionTesting Workflow
top-to-bottom, Test-Driven Infrastructure: A Recommended Toolchain
testing
code, Professionalism
unit, Minitest: Unit Testing for the 21st CenturyMinitest: Unit Testing for the 21st Century
with RSpec, RSpec: The Transition to BDDRSpec: The Transition to BDD
testing phases, Testing Workflow
green, Testing Workflow
red, Testing Workflow
refactor, Testing Workflow
tests, Minitest: Unit Testing for the 21st Century
feedback from, Feedback of Results
infrastructure, Test-Driven Infrastructure Should Be Automated
running, Running Tests
writing, Writing Tests
text editors, Discussion
tools, Test-Driven Infrastructure: A Recommended ToolchainSummary and Conclusion
Bats, Introducing Bats
Berkshelf, OverviewSummary and Conclusion
Chefspec, OverviewSummary and Conclusion
Cucumber, OverviewSummary and Conclusion
for acceptance testing, Acceptance Testing, OverviewSummary and Conclusion
for functionality, Overview
for integration testing, Integration Testing, Integration Testing: Test Kitchen with Serverspec and BatsSummary and Conclusion
for linting, Static Analysis and Linting ToolsSummary and Conclusion
for static analysis, Static Analysis and Linting ToolsSummary and Conclusion
for testing workflow, Testing WorkflowTesting Workflow
for unit testing, Unit Testing, OverviewSummary and Conclusion
Leibniz, OverviewSummary and Conclusion
Minitest Handler, OverviewSummary and Conclusion
network-enables, The Chef tool
selecting, Tool SelectionTesting Workflow
Serverspec, Introducing ServerspecIntroducing Serverspec
Test Kitchen, Supporting Tools: Test KitchenSummary and Conclusion
top-to-bottom TDI, Test-Driven Infrastructure: A Recommended Toolchain
TravisCI, Getting Started
types, Discussion

V

Vagrant, Discussion, DiscussionDiscussion
Berkshelf and, Berkshelf and VagrantBerkshelf and Vagrant
installing, Exercise 3: VagrantDiscussion
vagrant plug-in install command, Discussion
Vagrant up command, Discussion
Vagrantfile, Discussion
Validation Clients, Discussion, Discussion
validation keys, Discussion
variables, VariablesVariables
Bats, Introducing Bats
class, Variables
global, Variables
instance, Variables
local, Variables
passing, Templates
verify command, Getting Started
VirtualBox, Discussion
cookbook, Discussion
installing, Exercise 2: VirtualboxDiscussion
virtualization, Provisioning Machines
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.145.101.81