Your one-stop shop for RHEL system automation! This repository makes system administration a breeze.
-
📦 Get Ansible running:
sudo dnf install ansible # Just one command and you're ready!
-
🔑 Set up your SSH keys (because typing passwords is so 1990s):
ssh-keygen -t ed25519 # Hit enter a few times ssh-copy-id user@target-host
Role | What it Does |
---|---|
🔄 system_update |
Keeps your systems fresh and up-to-date |
🛡️ security_hardening |
Makes your servers fortress-like |
👥 user_management |
Handles the "who can do what" stuff |
🐘 postgres_setup |
PostgreSQL magic |
🎯 rhel9-cis |
CIS compliance (for the serious stuff) |
🌐 httpd |
Apache web server setup |
🗄️ mariadb |
MariaDB database setup |
🐘 php |
PHP and modules |
📦 redis |
Redis cache server |
🚦 nginx |
Nginx web server |
📊 monitoring |
System monitoring tools |
Install common services using tags:
# Install web server and PHP
ansible-playbook site-services.yml --tags "web"
# Install just MariaDB
ansible-playbook site-services.yml --tags "database"
# Install everything
ansible-playbook site-services.yml
Enable specific services in your inventory:
all:
hosts:
webserver:
enable_httpd: true
enable_php: true
dbserver:
enable_mariadb: true
Deploy a production-ready OpenShift cluster:
# Verify prerequisites only
ansible-playbook playbooks/openshift-install.yml --tags prereq
# Full installation
ansible-playbook playbooks/openshift-install.yml
# Install without monitoring
ansible-playbook playbooks/openshift-install.yml --skip-tags monitoring
- OpenShift Pull Secret from Red Hat
- Valid cloud provider credentials
- DNS configuration
- Required tools:
- openshift-install
- oc
- kubectl
- cloud provider CLI
Deploy a production-ready MicroK8s cluster:
# Install full cluster
ansible-playbook -i inventory/microk8s.yml playbooks/microk8s-install.yml
# Install without monitoring
ansible-playbook -i inventory/microk8s.yml playbooks/microk8s-install.yml --skip-tags monitoring
# Add new node to cluster
ansible-playbook -i inventory/microk8s.yml playbooks/microk8s-install.yml --limit new_node.example.com
- High Availability Setup
- Built-in Monitoring
- Automatic RBAC
- Load Balancing (MetalLB)
- Certificate Management
- Container Registry
- Automated Backups
- Always start with
--check
when trying something new - Use tags to run specific parts of a playbook
- Keep your inventory updated and organized
- Take backups before major changes
Need more help? Check out our Wiki or create an issue!