Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 7 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@ jobs:
KERNEL_SIGNING_KEY: ${{ secrets.KERNEL_SIGNING_KEY }}
KERNEL_PUBLIC_KEY: ${{ vars.KERNEL_PUBLIC_KEY }}

- name: Keep the published sitemap (to tell search engines what changed)
run: curl -fsSL https://kernelpath.dev/sitemap.xml -o "$RUNNER_TEMP/previous-sitemap.xml" || true

- name: Setup Pages
uses: actions/configure-pages@v6

Expand All @@ -53,3 +56,7 @@ jobs:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v5

- name: Tell search engines about new and changed pages (IndexNow)
continue-on-error: true
run: node scripts/indexnow.mjs "$RUNNER_TEMP/previous-sitemap.xml" dist/sitemap.xml
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,16 @@

**Read it online: https://kernelpath.dev/**

**Learn Ansible automation by doing.** A free, interactive course and home-lab build that takes you from your first playbook to automating real Linux administration on RHEL 9. It teaches the Ansible skills that DevOps and system administration teams use every day. It is written by learners, for learners, as a way to study together: short explanations combine browser activities, real Linux labs, quizzes, and summaries. A learning dashboard keeps reading, practice, confidence, and local grading evidence separate.
**Free RHCSA and RHCE study courses, learned by doing.** Two interactive paths on RHEL 9: [Linux system administration for the RHCSA (EX200)](https://kernelpath.dev/rhel9-sysadmin/) and [Ansible automation for the RHCE (EX294)](https://kernelpath.dev/rhel9-ansible/). Short lessons with diagrams you can click, practice terminals in the browser, quizzes, cheat sheets, and graded exercises on a practice lab you build on your own computer. It is written by learners, for learners. Exam study maps link every objective to the lessons that teach it: [RHCSA objectives](https://kernelpath.dev/rhel9-sysadmin/ch22/rhcsa-exam-objectives/), [RHCE objectives](https://kernelpath.dev/rhel9-ansible/ch11/rhce-exam-objectives/).

> An independent, community-made study companion. Not affiliated with, sponsored by, or endorsed by Red Hat, Inc. It is not official training material and does not replace Red Hat's courses or documentation.
> An independent, community-made study companion. Not affiliated with, sponsored by, or endorsed by Red Hat, Inc. Red Hat, RHEL, RHCSA and RHCE are trademarks of Red Hat, Inc. It is not official training material and does not replace Red Hat's courses or documentation.

## Programs

| Program | Status |
| --- | --- |
| **Ansible automation on RHEL 9** (`rhel9-ansible`) | Complete: 12 chapters, from building the practice lab to Git and development containers, with two integrated assessments |
| **Linux system administration on RHEL 9** (`rhel9-sysadmin`) | Planned: a 22-chapter outline |
| **Ansible automation on RHEL 9** (`rhel9-ansible`) | For the RHCE (EX294). Complete: 12 chapters, from building the practice lab to Git and development containers, with two integrated assessments |
| **Linux system administration on RHEL 9** (`rhel9-sysadmin`) | Complete: 22 chapters for the RHCSA (EX200), with guided exercises, graded labs and a capstone |

## Quick start

Expand Down
2 changes: 1 addition & 1 deletion content/interface.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
"a6": "RHEL 9 documentation",
"strong": "An independent, community-made study companion. Not affiliated with, sponsored by, or endorsed by Red Hat, Inc.",
"siteFooterDisclaimer": "This is not official training material and is no substitute for Red Hat's courses, documentation or exam objectives, which remain the authoritative sources.",
"p2": "Red Hat, Red Hat Enterprise Linux and Ansible are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries. Linux is a registered trademark of Linus Torvalds. All other trademarks belong to their respective owners. These names are used only to describe what the guide is about.",
"p2": "Red Hat, Red Hat Enterprise Linux, RHCSA, RHCE and Ansible are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries. Linux is a registered trademark of Linus Torvalds. All other trademarks belong to their respective owners. These names are used only to describe what the guide is about.",
"p3": "\u00a9 ",
"p4": " contributors. Text and diagrams are licensed under",
"href4": "https://creativecommons.org/licenses/by/4.0/",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: What you are building
seoTitle: "Build an Ansible Practice Lab at Home"
description: "What the free RHCE lab looks like: a control node and four managed hosts on a sealed network. Free RHCE (EX294) lesson with diagrams and practice."
kind: lesson
minutes: 10
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: Prepare the host and LXD
seoTitle: "Prepare the host and LXD: RHCE Home Lab Setup"
description: "Prepare the host and LXD: part of building a free RHCE practice lab at home with Rocky Linux 9 virtual machines on LXD."
kind: lab
minutes: 20
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: Create and seal the lab network
seoTitle: "Create and seal the lab network: RHCE Home Lab Setup"
description: "Create and seal the lab network: part of building a free RHCE practice lab at home with Rocky Linux 9 virtual machines on LXD."
kind: lab
minutes: 15
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: Project, profile and extra disks
seoTitle: "Project, profile and extra disks: RHCE Home Lab Setup"
description: "Project, profile and extra disks: part of building a free RHCE practice lab at home with Rocky Linux 9 virtual machines on LXD."
kind: lab
minutes: 17
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: Create the VMs and check the seal
seoTitle: "Create the VMs and check the seal: RHCE Home Lab Setup"
description: "Create the VMs and check the seal: part of building a free RHCE practice lab at home with Rocky Linux 9 virtual machines on LXD."
kind: lab
minutes: 30
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: Prepare the control node
seoTitle: "Prepare the control node: RHCE Home Lab Setup"
description: "Prepare the control node: part of building a free RHCE practice lab at home with Rocky Linux 9 virtual machines on LXD."
kind: lab
minutes: 25
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: Snapshots and rht-vmctl
seoTitle: "Snapshots and rht-vmctl: RHCE Home Lab Setup"
description: "Snapshots and rht-vmctl: part of building a free RHCE practice lab at home with Rocky Linux 9 virtual machines on LXD."
kind: lab
minutes: 20
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: First project and daily use
seoTitle: "First project and daily use: RHCE Home Lab Setup"
description: "First project and daily use: part of building a free RHCE practice lab at home with Rocky Linux 9 virtual machines on LXD."
kind: lab
minutes: 15
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: Troubleshooting and fast rebuild
seoTitle: "Troubleshooting and fast rebuild: RHCE Home Lab Setup"
description: "Troubleshooting and fast rebuild: part of building a free RHCE practice lab at home with Rocky Linux 9 virtual machines on LXD."
kind: summary
minutes: 10
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
title: Build Your Practice Lab
seoTitle: "Free RHCE Practice Lab at Home for Ansible"
seoDescription: "Build a free RHCE practice lab at home: a control node and four managed Rocky Linux 9 hosts on LXD, sealed and resettable with snapshots."
setup: true
goal: Build a sealed, classroom-style practice lab at home, with Rocky Linux 9 VMs on LXD using the classroom's names, addresses and users, so you can try every exercise in this guide.
objectives:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: Why automate Linux administration
seoTitle: "Why Automate Linux Administration With Ansible"
description: "What automation solves, idempotence and why teams move from scripts to Ansible. Free RHCE (EX294) lesson with diagrams and practice."
kind: lesson
minutes: 6
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: What Ansible is
seoTitle: "What Is Ansible? Agentless Automation Explained"
description: "Ansible in plain words: agentless, SSH-based, declarative tasks and modules. Free RHCE (EX294) lesson with diagrams and practice."
kind: lesson
minutes: 7
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: Core concepts and architecture
seoTitle: "Ansible Architecture: Control Node, Inventory, Modules"
description: "The parts of Ansible: control node, managed hosts, inventory, modules, plays and playbooks. Free RHCE (EX294) lesson with diagrams and practice."
kind: lesson
minutes: 10
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: Ansible distributions and AAP 2
seoTitle: "ansible-core vs Ansible vs AAP 2 Explained"
description: "The Ansible distributions: ansible-core, the community package and Ansible Automation Platform. Free RHCE (EX294) lesson with diagrams and practice."
kind: lesson
minutes: 9
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: Preparing the control node and managed hosts
seoTitle: "Install Ansible and Prepare Managed Hosts"
description: "Install ansible-core on the control node and prepare managed hosts with SSH keys and sudo. Free RHCE (EX294) lesson with diagrams and practice."
kind: lesson
minutes: 8
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: "Exercise: Installing Ansible"
seoTitle: "Installing Ansible (RHCE Practice Exercise)"
description: "Hands-on RHCE practice: installing Ansible. Step-by-step tasks with full solutions, on a practice lab you build yourself."
kind: lab
minutes: 15
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: Knowledge check
title: "Ansible basics quiz"
seoTitle: "Ansible basics Quiz: RHCE Practice Questions"
description: "Test yourself on Ansible basics with RHCE practice questions. Every answer explains why it is right or wrong. Free and no sign-up."
kind: quiz
minutes: 5
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: Summary and cheat sheet
title: "Ansible basics cheat sheet"
seoTitle: "Ansible basics Cheat Sheet (RHCE)"
description: "Ansible basics cheat sheet: the key commands and ideas on one page, with flashcards for revision. Free RHCE study notes."
kind: summary
minutes: 5
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: Check your Linux foundations
seoTitle: "Linux Skills You Need Before Learning Ansible"
description: "Check the Linux foundations Ansible assumes: shell, SSH, sudo, services and files. Free RHCE (EX294) lesson with diagrams and practice."
kind: lesson
minutes: 6
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
title: Introducing Ansible
seoTitle: "Introduction to Ansible: What It Is and How It Works (RHCE)"
seoDescription: "What Ansible is, why automate Linux administration, its architecture, and how to prepare a control node and managed hosts."
goal: Understand what Ansible is, why it matters, how it is put together, and get a working control node with automation content navigator.
objectives:
- Explain why automation beats manual administration, and what Infrastructure as Code means.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: Building an Ansible inventory
seoTitle: "Ansible Inventory File Examples: INI and YAML"
description: "Build static inventories with hosts, groups, ranges and nested groups, in INI and YAML. Free RHCE (EX294) lesson with diagrams and practice."
kind: lesson
minutes: 12
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: "Exercise: Building an inventory"
seoTitle: "Building an inventory (RHCE Practice Exercise)"
description: "Hands-on RHCE practice: building an inventory. Step-by-step tasks with full solutions, on a practice lab you build yourself."
kind: lab
minutes: 15
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: Managing Ansible configuration files
seoTitle: "ansible.cfg Explained: Configuration File Examples"
description: "Where Ansible reads ansible.cfg, the settings that matter and how to check them. Free RHCE (EX294) lesson with diagrams and practice."
kind: lesson
minutes: 12
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: "Exercise: Configuration files"
seoTitle: "Configuration files (RHCE Practice Exercise)"
description: "Hands-on RHCE practice: configuration files. Step-by-step tasks with full solutions, on a practice lab you build yourself."
kind: lab
minutes: 20
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: Writing and running playbooks
seoTitle: "Write Your First Ansible Playbook (With Examples)"
description: "Write and run an Ansible playbook: plays, tasks, modules, check mode and idempotence. Free RHCE (EX294) lesson with diagrams and practice."
kind: lesson
minutes: 12
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: "Exercise: Writing and running playbooks"
seoTitle: "Writing and running playbooks (RHCE Practice Exercise)"
description: "Hands-on RHCE practice: writing and running playbooks. Step-by-step tasks with full solutions, on a practice lab you build yourself."
kind: lab
minutes: 20
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: Implementing multiple plays
seoTitle: "Ansible Playbook With Multiple Plays and become"
description: "Use several plays in one playbook, privilege escalation with become and per-play settings. Free RHCE (EX294) lesson with diagrams and practice."
kind: lesson
minutes: 10
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: Finding modules and YAML syntax
seoTitle: "Find Ansible Modules With ansible-doc, and YAML Syntax"
description: "Find and read modules with ansible-doc and write correct YAML for playbooks. Free RHCE (EX294) lesson with diagrams and practice."
kind: lesson
minutes: 12
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: "Exercise: Implementing multiple plays"
seoTitle: "Implementing multiple plays (RHCE Practice Exercise)"
description: "Hands-on RHCE practice: implementing multiple plays. Step-by-step tasks with full solutions, on a practice lab you build yourself."
kind: lab
minutes: 20
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: "Exercise: Implementing a playbook"
seoTitle: "Ansible playbooks Practice Lab (RHCE Exam Style)"
description: "Graded RHCE exam-style lab on Ansible playbooks: a challenge with requirements, hints and solutions, and a grader that checks your work on your own lab."
kind: lab
minutes: 30
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: Knowledge check
title: "Ansible playbooks quiz"
seoTitle: "Ansible playbooks Quiz: RHCE Practice Questions"
description: "Test yourself on Ansible playbooks with RHCE practice questions. Every answer explains why it is right or wrong. Free and no sign-up."
kind: quiz
minutes: 8
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: Summary and cheat sheet
title: "Ansible playbooks cheat sheet"
seoTitle: "Ansible playbooks Cheat Sheet (RHCE)"
description: "Ansible playbooks cheat sheet: the key commands and ideas on one page, with flashcards for revision. Free RHCE study notes."
kind: summary
minutes: 6
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
title: Implementing an Ansible Playbook
seoTitle: "Ansible Inventory, ansible.cfg and First Playbooks (RHCE)"
seoDescription: "Build an Ansible inventory, configure ansible.cfg and write and run your first playbooks with modules and YAML. RHCE chapter 3."
goal: Build an inventory, configure Ansible for your project, and write and run playbooks with one or more plays.
objectives:
- Write static INI inventories with groups, nested groups and host ranges, and verify them.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: Variables in playbooks
seoTitle: "Ansible Variables in Playbooks With Examples"
description: "Define and use variables in plays, vars files, registered results and the command line. Free RHCE (EX294) lesson with diagrams and practice."
kind: lesson
minutes: 12
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: Host and group variables, and precedence
seoTitle: "Ansible host_vars, group_vars and Variable Precedence"
description: "Where to put host and group variables and which value wins under Ansible precedence. Free RHCE (EX294) lesson with diagrams and practice."
kind: lesson
minutes: 12
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: "Exercise: Managing variables"
seoTitle: "Managing variables (RHCE Practice Exercise)"
description: "Hands-on RHCE practice: managing variables. Step-by-step tasks with full solutions, on a practice lab you build yourself."
kind: lab
minutes: 20
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: Protecting secrets with Ansible Vault
seoTitle: "Ansible Vault Tutorial: Encrypt Secrets in Playbooks"
description: "Encrypt files and variables with ansible-vault and run playbooks with vault passwords. Free RHCE (EX294) lesson with diagrams and practice."
kind: lesson
minutes: 12
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: "Exercise: Managing secrets"
seoTitle: "Managing secrets (RHCE Practice Exercise)"
description: "Hands-on RHCE practice: managing secrets. Step-by-step tasks with full solutions, on a practice lab you build yourself."
kind: lab
minutes: 20
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: Ansible facts
seoTitle: "Ansible Facts: gather_facts and setup Module"
description: "Gather and use Ansible facts, filter them with the setup module and turn gathering off. Free RHCE (EX294) lesson with diagrams and practice."
kind: lesson
minutes: 12
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: Custom facts and magic variables
seoTitle: "Ansible Custom Facts and Magic Variables (hostvars)"
description: "Create custom facts in facts.d and use magic variables such as hostvars and groups. Free RHCE (EX294) lesson with diagrams and practice."
kind: lesson
minutes: 10
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: "Exercise: Managing facts"
seoTitle: "Managing facts (RHCE Practice Exercise)"
description: "Hands-on RHCE practice: managing facts. Step-by-step tasks with full solutions, on a practice lab you build yourself."
kind: lab
minutes: 20
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: "Exercise: Managing variables and facts"
seoTitle: "Ansible variables and Vault Practice Lab (RHCE Exam Style)"
description: "Graded RHCE exam-style lab on Ansible variables and Vault: a challenge with requirements, hints and solutions, and a grader that checks your work on your own lab."
kind: lab
minutes: 35
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
title: Knowledge check
title: "Ansible variables and Vault quiz"
seoTitle: "Ansible variables and Vault Quiz: RHCE Practice Questions"
description: "Test yourself on Ansible variables and Vault with RHCE practice questions. Every answer explains why it is right or wrong. Free and no sign-up."
kind: quiz
minutes: 8
---
Expand Down
Loading