Book Detail : Learning Puppet 4

Book Title: 
Learning Puppet 4
Resource Category: 
Author: 
Publisher: 
Publication Year: 
2 015
Number of Pages: 
250
ISBN: 
978-1-49190-766-5
Language: 
English
WishList: 
yes
Available at Shelf: 
No
Description: 

A Guide to Configuration Management and Automation

Table of Contents (Summary): 

Part I.  Controlling with Puppet Apply

1. Thinking Declarative

2. Creating a Learning Environment

3. Installing Puppet.

4. Writing Manifests

5. Using Puppet Con€guration Language

6. Controlling Resource Processing

7. Expressing Relationships

8. Upgrading Puppet 3 Manifests

9. Conclusion of Part I

Part II.  Creating Puppet Modules

10. Creating a Test Environment

11. Separating Data from Code

12. Using Modules

13. Designing a Custom Module

14. Testing Modules

15. Extending Modules with Plugins

16. Publishing Modules

Table of Contents (Expanded): 

Part I.  Controlling with Puppet Apply

1. Thinking Declarative

  • Handling Change

  • Idempotence

  • Declaring Final State

  • Conclusion                            

2. Creating a Learning Environment

  • Installing Vagrant on Mac

  • Installing Vagrant on Windows

  • Starting a Command Prompt

  • Downloading a Box

  • Initialize Vagrant System

  • Initialize Non-Vagrant System

  • Choosing a Text Editor

    • On the Virtual System

    • On your Desktop

  • Conclusion                                            

3. Installing Puppet

  • Adding the Package Repository

    • What is a Package Collection?

  • Installing the Puppet Agent

  • Reviewing Dependencies

  • Reviewing Puppet4 Changes

    • Linux and Unix

    • Windows

  • Making Tests Convenient

  • Conclusion                                                 

4. Writing Manifests

  • Implementing Resources

  • Applying a Manifest

  • Declaring Resources

  • Viewing Resources

  • Executing Programs

  • Managing Files

    • Declarative Review

  • Testing Yourself

  • Conclusion                                           

5. Using Puppet Con€guration Language

  • Defining Variables

    • Defining Numbers

    • Using Variables in Strings

    • Limiting Problems with Brackets

    • No Redefinition

  • Finding Facts

  • Retrieving Values

  • Avoiding Reserved Words

  • Modifying with Operators

    • Order of Operations

  • Using Conditional Operators

  • Creating Regular Expressions

  • Evaluating Conditional Expressions

  • Building Lambda Blocks

  • Looping through Iterations

    • Each

    • Filter

    • Map

    • Reduce

    • Slice

    • With

    • Captures-Rest Parameters

    • Summary

  • Conclusion                                                                      

6. Controlling Resource Processing

  • Adding Aliases

  • Preventing Action

  • Auditing Changes

  • Defining Loglevel

  • Limiting by Tags

  • Limiting by Schedule

  • Defining Resource Defaults

  • Conclusion                                               

7. Expressing Relationships

  • Managing Dependencies

  • Referring to Resources

  • Ordering Resources

  • Triggering Refresh Events

  • Chaining Resources with Arrows

  • Processing with Collectors

  • Understanding Puppet Ordering

  • Conclusion                                                    

8. Upgrading Puppet 3 Manifests

  • Validating Numbers

    • File Modes are not Numbers

  • Using Hash and Array Literals

  • Adding Else to Unless

  • Chaining Assignments

  • Expressions Can Stand Alone

  • Chaining Expressions with a Semicolon

  • Calling Functions in Strings

  • Improved Error Reporting

  • Avoiding Upgrade Problems

  • Deprecations                                              

9. Conclusion of Part I

  • Best Practices for Writing Manifests

  • Continued Learning                                 

Part II.  Creating Puppet Modules

10. Creating a Test Environment

  • Verifying the Production Environment

  • Creating a Test Environment copy

  • Changing the Base Module Path

  • Skipping Ahead                                                         

11. Separating Data from Code

  • Introducing Hiera 

  • Creating Hiera Backends

    • Hiera Data in YAML

    • Hiera Data in JSON

    • Hiera Data in Puppet

    • Puppet Variable and Function Lookup

  • Configuring Hiera

    • Backends

    • Backend Configuration

    • Logger

    • Hierarchy

    • Merge Behavior 

    • Complete Example

  • Doing Hiera Lookups in a Manifest

  • Testing Hiera Lookups                                                       

12. Using Modules

  • Finding Modules

    • Puppet Forge

    • Public GitHub Repositories

    • Internal Repositories

  • Evaluating Module Quality

    • Puppet Supported

    • Puppet Approved

    • Quality Score

    • Community Rating

  • Installing Modules

    • Installing from a Puppet Forge

    • Installing from GitHub

  • Testing a Single Module

  • Defining Config with Hiera

  • Executing Multiple Modules with Hiera                       

  • Examining a Module 

  • Reviewing Modules 

13. Designing a Custom Module

  • Choosing a Module Name

    • Avoiding Reserved Names  

  • Generating a Module Skeleton

    • Modifying the Default Skeleton

  • Understanding Module Structure

  • Creating a Class Manifest

    • What is a Class?

  • Accepting Input

  • Validating Input with Types

    • Valid Types 

    • Accepting Values

    • Testing Values

    • Matching Regular Expressions

  • Declaring Resources

  • Using Hiera Data

  • Sharing Files

  • Parsing Templates

    • Common Syntax

    • Using Puppet EPP Templates

    • Using Ruby ERB Templates

    • Creating Readable Templates

  • Building Subclasses

  • Understanding Variable Scope

  • Reusing Defined Types

  • Calling Other Modules

    • Sourcing a Common Dependency

    • Using a Different Module

  • Ordering Dependencies

  • Containing Classes

  • Documenting the Module

    • Learning Markdown  

    • Updating README.md

    • Creating CHANGELOG.md  

    • Documenting the Classes and Types

  • Peeking Beneath the Hood

  • Best Practices for Module Design

  • Modules Review                                                                                     

14. Testing Modules

  • Installing Dependencies

    • Installing Ruby

    • Installing Gem Bundler

    • Installing Spec Helper

  • Preparing Your Module

    • Defining Fixtures

  • Defining Tests  

    • Defining Main Class

    • Passing Valid Parameters

    • Failing Invalid Parameters

    • Adding an Agent Class

    • Using Hiera Input

    • Defining Parent Class Parameters

    • Improve Testing with Custom Skeletons

  • Simplifying with Tools  

    • Puppet-Retrospect

  • Finding Documentation

  • Testing Modules Review                                            

15. Extending Modules with Plugins

  • Adding Custom Facts

    • External Facts

    • Custom (Ruby) Facts

    • Understanding Implementation Issues

  • Defining Functions

    • Puppet Functions

    • Ruby Functions

    • Using Custom Functions

  • Providing Data in Modules

  • Module Plugins Review

  • Requirements for Module Plugins                            

16. Publishing Modules

  • Packaging a Module

  • Uploading a Module to the Puppet Forge

  • Publishing a Module on GitHub

  • Automating Module Publishing

  • Getting Approved Status from Puppet Labs        

3.34936
Average: 3.3 (78 votes)

Search the Web

Custom Search

Searches whole web. Use the search in the right sidebar to search only within javajee.com!!!