This Ansible playbook automates the deployment of Red Hat Satellite 6.16 on RHEL 9. It handles the complete installation process including system preparation, package installation, and post-installation configuration.
- Red Hat Enterprise Linux 9.x
- Minimum 20GB RAM
- Minimum 4 CPU cores
- A valid Red Hat subscription, including the free tier, with Satellite entitlements
- Network connectivity to Red Hat's CDN
- Ansible 2.9 or later
- Python 3.x
firewalld
module- Access to target system with sudo privileges
Before running the playbook, ensure:
- The target system is registered with Red Hat Subscription Manager
- Required repositories are available
- The system meets minimum hardware requirements
- Network connectivity is properly configured
- Verifies system requirements (RAM, CPU)
- Disables all repositories
- Enables required RHEL and Satellite repositories based on system architecture. i.e., ARM or x86
- Updates all system packages
- Installs Satellite and chronyd packages
- Configures firewall ports (80, 443, 5647, 8140, 9090)
- Enables and starts chronyd service
- Runs Satellite installer with configuration for:
- Admin username and password
- Initial organization and location
- Ansible plugin
- Discovery plugin
- Waits for services to start
- Performs post-installation health checks
- Verifies Satellite services are operational
- Runs comprehensive health checks
- Verifies web interface accessibility
- Collects diagnostic information if any checks fail
Key variables that can be customized:
satellite_admin_username: "admin"
satellite_admin_password: "changeme123"
satellite_organization: "Default Organization"
satellite_location: "Default Location"
required_memory_gb: 20
required_cpu_cores: 4
- Update your inventory file with the target host:
[satellite]
satellite.example.com ansible_host=192.168.1.6
- Run the playbook:
ansible-playbook -i inventory.ini satellite-deploy.yml
After successful deployment:
- Access the web UI at
https://your-satellite-hostname
- Log in with the configured admin credentials
- Configure repositories and sync plans
- Add content views and activation keys
If installation fails, the playbook collects diagnostic information including:
- Satellite installer logs
- Foreman logs
- PostgreSQL status
- Service status
Common issues can be diagnosed using:
satellite-maintain health check
satellite-maintain service status
The playbook configures the following ports:
- 80/tcp (HTTP)
- 443/tcp (HTTPS)
- 5647/tcp (Puppet)
- 8140/tcp (Puppet CA)
- 9090/tcp (Smart Proxy)
For additional support:
- Consult the Red Hat Satellite Documentation
- Contact Red Hat Support