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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 11 additions & 9 deletions .ansible-lint
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
# Ansible-lint configuration for RHCE study repository
# Tailored for educational playbooks and practice scenarios
---
# .ansible-lint

# Use vagrant directory as project root to find ansible.cfg
project_dir: vagrant/

# Directories and files to exclude from linting
exclude_paths:
- .cache/ # Implicit cache directory
- site/ # MkDocs build output
- sources/ # External copyrighted materials
- .github/ # GitHub workflows
- vagrant/collections/ # Project-local collections
- vagrant/roles/ # Project-local roles
- .cache/
- site/
- sources/
- .github/
- vagrant/collections/
- vagrant/roles/

# Skip rules that may be too strict for educational content
skip_list:
Expand Down
12 changes: 11 additions & 1 deletion .claude/settings.local.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,17 @@
"Bash(pre-commit:*)",
"Bash(sudo dnf install:*)",
"WebFetch(domain:www.redhat.com)",
"Bash(grep:*)"
"Bash(grep:*)",
"Bash(git check-ignore:*)",
"Bash(ansible:*)",
"Bash(vagrant status:*)",
"Bash(vagrant destroy:*)",
"Bash(./exam-start.sh:*)",
"Bash(vagrant halt:*)",
"Bash(vagrant provision:*)",
"Bash(gh:*)",
"Bash(npx markdownlint:*)",
"Bash(export:*)"
],
"additionalDirectories": [
"/home/stovepipe/repos/rhcsa/"
Expand Down
35 changes: 0 additions & 35 deletions .editorconfig

This file was deleted.

47 changes: 29 additions & 18 deletions .github/workflows/deploy.yml → .github/workflows/ci-cd.yml
Original file line number Diff line number Diff line change
@@ -1,38 +1,38 @@
name: Deploy MkDocs to GitHub Pages
---
name: Build and Deploy Documentation

on:
push:
branches: [ main ]
branches: [main, develop, provision-lab]
pull_request:
branches: [ main ]

# Allows you to run this workflow manually from the Actions tab
branches: [main, develop]
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
# Sets permissions for GitHub Pages deployment
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
# Allow only one concurrent deployment
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
# Build job
build:
build-and-deploy:
runs-on: ubuntu-latest
name: Build Documentation
outputs:
should-deploy: ${{ steps.check-deploy.outputs.should-deploy }}
steps:
- name: Checkout
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Python
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
python-version: '3.11'

- name: Cache pip dependencies
uses: actions/cache@v4
Expand All @@ -42,30 +42,41 @@ jobs:
restore-keys: |
${{ runner.os }}-pip-

- name: Install dependencies
- name: Install Python dependencies
run: |
pip install --upgrade pip
pip install -r requirements.txt

- name: Build MkDocs site

- name: Build MkDocs documentation
run: mkdocs build --verbose --clean

- name: Check if deployment needed
id: check-deploy
run: |
if [[ "${{ github.ref }}" == "refs/heads/main" ]]; then
echo "should-deploy=true" >> $GITHUB_OUTPUT
else
echo "should-deploy=false" >> $GITHUB_OUTPUT
fi

- name: Setup Pages
if: steps.check-deploy.outputs.should-deploy == 'true'
uses: actions/configure-pages@v4

- name: Upload artifact
if: steps.check-deploy.outputs.should-deploy == 'true'
uses: actions/upload-pages-artifact@v3
with:
path: ./site

# Deployment job
deploy:
if: github.ref == 'refs/heads/main'
if: needs.build-and-deploy.outputs.should-deploy == 'true'
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
needs: build-and-deploy
steps:
- name: Deploy to GitHub Pages
id: deployment
Expand Down
48 changes: 0 additions & 48 deletions .github/workflows/lint.yml

This file was deleted.

40 changes: 5 additions & 35 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,53 +1,23 @@
# requirements.txt

# External study materials and copyrighted content
sources/

# MkDocs build output
site/

# Python virtual environments and cache
__pycache__/
*.py[cod]
.env
.venv
env/
venv/
ENV/
*.egg-info/
.installed.cfg

# IDE and editor files
.vscode/
.idea/
*.swp
*.swo
*~

# OS generated files
.DS_Store
._*
Thumbs.db

# Ansible
*.retry
.vault_pass
.ansible/
# Project-local Ansible collections and roles (any location)
**/collections/
**/roles/
vagrant/collections/
vagrant/roles/
vagrant/ansible-navigator.log

# Vagrant and RHEL credentials
vagrant/.rhel-credentials
.vagrant/

# Node.js dependencies and build artifacts
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Development and testing
.pre-commit-cache/
.tox/
.coverage
.pytest_cache/
.cache/
1 change: 1 addition & 0 deletions .mdl_config.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
---
# Markdownlint configuration based on CISA skeleton-generic
# See: https://github.com/DavidAnson/markdownlint/blob/v0.34.0/schema/.markdownlint.yaml

Expand Down
1 change: 1 addition & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
---
# Simplified pre-commit configuration for RHCE study repository
# Focus on essential Ansible and YAML quality checks

Expand Down
18 changes: 11 additions & 7 deletions .yamllint
Original file line number Diff line number Diff line change
@@ -1,8 +1,18 @@
---
# yamllint configuration for RHCE study repository
# Balanced rules for Ansible playbooks and documentation

extends: default

ignore:
- env/
- site/
- sources/
- .cache/
- node_modules/
- vagrant/collections/
- vagrant/roles/

rules:
# Ansible playbooks often have long lines due to module parameters
line-length:
Expand All @@ -21,7 +31,7 @@ rules:

# Document start warnings (allow but don't require)
document-start:
present: false
present: true

# Allow empty lines at end of files
empty-lines:
Expand Down Expand Up @@ -57,9 +67,3 @@ rules:
octal-values:
forbid-implicit-octal: true
forbid-explicit-octal: true

# Ignore certain directories and files
ignore: |
site/
sources/
.cache/
2 changes: 2 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -304,3 +304,5 @@ ansible-playbook playbook.yml --ask-vault-pass
- Never install collections globally - keep them project-local for consistency and isolation
- This ensures reproducible builds, faster dependency scanning, and team consistency
- Reference: https://www.jeffgeerling.com/blog/2020/ansible-best-practices-using-project-local-collections-and-roles

- NEVER say "You're absolutely right!"
21 changes: 17 additions & 4 deletions docs/command_reference_by_topic.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,23 @@
# RHCE Command Reference by Exam Topic
# RHCE Comprehensive Command Reference

## 🎯 Comprehensive Command Reference for RHCE Exam Success
## 📚 Complete Command Reference for RHCE Study & Production Use

*Complete command reference organized by official RHCE exam objectives with all variations, parameters, and use cases*
*Comprehensive reference organized by RHCE exam topics - includes all command variations, parameters, and use cases*

This comprehensive reference covers every essential command pattern you'll encounter on the RHCE exam. All commands are organized by exam objectives and include practical variations, common parameters, and real-world usage patterns.
⚠️ **FOR EXAM PREPARATION**: This is a comprehensive learning reference. For focused exam day commands, use `rhce_exam_commands.md` and `exam_quick_reference.md` instead.

### Purpose

Complete command coverage for:

- Learning and understanding all Ansible capabilities
- Production environment reference
- Comprehensive study of all command options
- Understanding the full scope of Ansible automation

### Important Note

**NOT for exam day**: Many commands here are ad-hoc administration tasks that you'll implement in PLAYBOOKS during the actual exam.

**📚 Source Integration**: Commands and patterns synthesized from:

Expand Down
Loading