Skip to content

Latest commit

 

History

History

0x0A-configuration_management

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

img

Configuration Management

you-are-the-puppet

About

Configuration management is the process of defining and maintaining the state of an organization's infrastructure. It involves keeping track of all the systems, applications, and services running within an organization and ensuring that they are all configured and managed in a consistent and repeatable manner.

Configuration management tools, like Puppet, provide a way to automate this process, reducing the need for manual intervention and minimizing the potential for errors.

Puppet is a configuration management tool that allows you to define your infrastructure as code. This means that you can write code to describe how your infrastructure should be configured, and Puppet will automatically enforce that configuration across all the systems it manages.

Puppet uses a client-server architecture, where a Puppet master server controls a fleet of Puppet agents running on managed nodes. The Puppet master server holds the configuration data, while the Puppet agents apply the configurations to the nodes they manage.

If you are new to puppet, the best way to get started is to dive right in and start experimenting with it. Soon enough, you will be a puppet master (:joy: :joy:)

Resources

Read or Watch

  1. Introduction to configuration management
  2. Puppet Resource file type
  3. Puppet's declarative language: Modelling instead of scripting
  4. Puppet-lint
  5. Puppet emacs mode

Note on versioning

Your Ubuntu 20.04 VM should have Puppet 5.5 preinstalled.

Install puppet

$ apt-get install -y ruby=1:2.7+1 --allow-downgrades
$ apt-get install -y ruby-augeas
$ apt-get install -y ruby-shadow
$ apt-get install -y puppet

You do not need to attempt to upgrade versions. This project is simply a set of tasks to familiarize you with the basic level syntax which is virtually identical in newer versions of Puppet.

Puppet 5 docs

Install puppet-lint

$ gem install puppet-lint

that-explains-alot