Skip to content

Latest commit

 

History

History

0x0A-configuration_management

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

Configuration Management with Puppet

Puppet Logo

This repository contains a set of Puppet manifests for the Configuration Management project in the ALX Software Engineering curriculum. The project is developed by Sylvain Kalache and focuses on DevOps, Systems Administration, Scripting, and CI/CD practices.

Background Context

During his time at SlideShare, Sylvain Kalache worked on an auto-remediation tool named Skynet. This tool monitored, scaled, and fixed Cloud infrastructure using a parallel job-execution system called MCollective. However, a bug in his code caused unexpected server shutdowns, highlighting the importance of proper configuration management tools like Puppet.

Resources

Requirements

  • All files are interpreted on Ubuntu 20.04 LTS.
  • Puppet manifests must pass puppet-lint version 2.1.1 without any errors.
  • Puppet manifests must run without error.
  • Puppet manifests must have a comment explaining their purpose as the first line.
  • Puppet manifests files must end with the extension .pp.

Note on Versioning

The Ubuntu 20.04 VM provided should have Puppet 5.5 preinstalled.

Tasks

0. Create a File

Using Puppet, creates a file in /tmp with specific permissions and content.

  • File path: /tmp/school
  • File permission: 0744
  • File owner: www-data
  • File group: www-data
  • File content: I love Puppet

Example usage:

puppet apply 0-create_a_file.pp

1. Install a Package

Using Puppet, installs Flask from pip3 with a specific version.

  • Package: flask
  • Version: 2.1.0

Example usage:

puppet apply 1-install_a_package.pp

2. Execute a Command

Using Puppet, creates a manifest that kills a process named killmenow using pkill.

Example usage:

puppet apply 2-execute_a_command.pp

Repository Information

© 2024 ALX. All rights reserved.