Skip to content

Latest commit

 

History

History
116 lines (90 loc) · 2.97 KB

README.md

File metadata and controls

116 lines (90 loc) · 2.97 KB

🚀 Ansible Configuration Repository

Your one-stop shop for RHEL system automation! This repository makes system administration a breeze.

🎯 Quick Start

First Time Setup

  1. 📦 Get Ansible running:

    sudo dnf install ansible   # Just one command and you're ready!
  2. 🔑 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

🛠️ Super Powers (Available Roles)

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

Service Installation

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

🎡 OpenShift Installation

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

Prerequisites

  • OpenShift Pull Secret from Red Hat
  • Valid cloud provider credentials
  • DNS configuration
  • Required tools:
    • openshift-install
    • oc
    • kubectl
    • cloud provider CLI

🎭 MicroK8s Installation

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

MicroK8s Features

  • High Availability Setup
  • Built-in Monitoring
  • Automatic RBAC
  • Load Balancing (MetalLB)
  • Certificate Management
  • Container Registry
  • Automated Backups

💡 Pro Tips

  1. Always start with --check when trying something new
  2. Use tags to run specific parts of a playbook
  3. Keep your inventory updated and organized
  4. Take backups before major changes

Need more help? Check out our Wiki or create an issue!