Skip to main content

Full Host Management Configuration

Overview​

Full host management in LinuxAid provides comprehensive control over Linux servers through Puppet. This document outlines what components are managed in noop mode (simulation only) versus no-noop mode (active changes applied).

Configuration Matrix​

Management Status Table​

ComponentParameterEnabledModeWhat Gets Managed
Repository Managementcommon::repo::manage✅ YesNo-noopYUM/DNF/APT repositories, GPG keys, package sources, repository priorities
Loggingcommon::logging::manage✅ YesNo-noopRsyslog/syslog forwarding, log rotation, journald settings, centralized logging
Backupcommon::backup::manage✅ YesNo-noopBackup schedules, retention policies, backup scripts, storage locations
Cron Jobscommon::system::cron::purge_unmanaged⚙️ root-onlyNo-noopRoot user cron jobs (unmanaged jobs will be purged)
Virtualizationcommon::virtualization::manage✅ YesNo-noopKVM/QEMU settings, VMware Tools, VirtIO drivers, guest tools
Networkcommon::network::manage✅ YesNo-noopNetwork interfaces, routing tables, firewall rules, DNS settings
Servicescommon::services::manage✅ YesNo-noopSystem services (start/stop/enable), service dependencies, init scripts
Storagecommon::storage::manage❌ NoDisabledFile systems, LVM, disk partitioning, mount points
Systemcommon::system::manage✅ YesNo-noopHostname, timezone, kernel parameters, system packages, OS settings
Securitycommon::security::manage✅ YesNo-noopFirewall, SELinux/AppArmor, SSH configuration, sudo rules, user accounts
Monitoringcommon::monitoring::manage✅ YesNo-noopMonitoring agents, health checks, metrics collection, alerting
Extra Featurescommon::extras::manage❌ NoDisabledAdditional optional features and integrations
Mailcommon::mail::manage✅ YesNo-noopMail transfer agent (MTA), relay configuration, mail routing

Mode Definitions​

🟢 No-noop Mode (Active Management)​

When a component is enabled, Puppet actively applies all configuration changes to the host. Changes are immediately enforced and the system is brought into compliance with the desired state.

🔵 Noop Mode (Simulation)​

Puppet only simulates changes and reports what would be changed without actually applying them. Useful for testing and validation.

🔴 Disabled​

Component is not managed by Puppet at all. Manual configuration or other tools must be used.

Detailed Component Breakdown​

1. Repository Management​

Status: ✅ Enabled (No-noop)

AspectDetails
What's ManagedPackage repositories, GPG keys, mirror configurations
ImpactControls where packages are installed from
Risk LevelMedium - can affect package availability
RollbackCan revert repository configs via Puppet

Manages:

  • YUM/DNF repositories (RHEL/CentOS/Fedora/SLES)
  • APT repositories (Debian/Ubuntu)
  • Repository priorities and exclusions
  • GPG key imports and validation

2. Logging Configuration​

Status: ✅ Enabled (No-noop)

AspectDetails
What's ManagedSyslog, rsyslog, journald, log rotation
ImpactControls log collection and forwarding
Risk LevelLow - doesn't affect application functionality
RollbackEasy via Puppet configuration changes

Manages:

  • Centralized logging destinations
  • Log retention and rotation policies
  • Log format and filtering rules
  • Remote syslog forwarding

3. Backup Management​

Status: ✅ Enabled (No-noop)

AspectDetails
What's ManagedBackup jobs, schedules, retention
ImpactEnsures data protection compliance
Risk LevelLow - backup failures don't affect production
RollbackCan adjust schedules and policies

Manages:

  • Backup tool installation and configuration
  • Backup schedules (cron jobs)
  • Retention policies
  • Backup destination configuration

4. Cron Job Management​

Status: ⚙️ Root-only purge (No-noop)

AspectDetails
What's ManagedRoot user's crontab
ImpactRemoves unauthorized scheduled tasks
Risk LevelMedium - can remove manually added cron jobs
RollbackMust re-add via Puppet or restore from backup

Behavior:

  • Purges unmanaged cron jobs for root user only
  • Other users' cron jobs are left untouched
  • Ensures only Puppet-managed tasks run

5. Virtualization Settings​

Status: ✅ Enabled (No-noop)

AspectDetails
What's ManagedHypervisor tools, guest agents
ImpactOptimizes VM performance and integration
Risk LevelLow - improves VM functionality
RollbackCan remove or update tools

Manages:

  • VMware Tools / open-vm-tools
  • VirtIO drivers
  • QEMU guest agent
  • Hypervisor-specific optimizations

6. Network Configuration​

Status: ✅ Enabled (No-noop)

AspectDetails
What's ManagedNetwork interfaces, routing, firewall
ImpactControls network connectivity
Risk LevelHigh - can cause network outages
RollbackMay require console access if misconfigured

Manages:

  • Network interface configuration (IP, gateway, DNS)
  • Static routes
  • Firewall rules (iptables/firewalld/nftables)
  • Network bonding and VLANs

⚠️ WARNING: Network changes can cause loss of connectivity. Test thoroughly before production deployment.


7. Service Management​

Status: ✅ Enabled (No-noop)

AspectDetails
What's ManagedSystem services (systemd/init)
ImpactControls which services run
Risk LevelMedium-High - can stop critical services
RollbackCan restart services via Puppet

Manages:

  • Service enable/disable state
  • Service start/stop/restart
  • Service dependencies
  • Init scripts and systemd units

8. Storage Management​

Status: ❌ Disabled

AspectDetails
What's ManagedNothing - disabled
ImpactNo automated storage management
Risk LevelN/A
Manual RequiredYes - manage manually or via other tools

NOT Managed:

  • Disk partitioning
  • LVM configuration
  • File system creation
  • Mount points
  • RAID configuration

Managed:

  • ZFS scrub
  • NFS mount
  • Samba setup
  • Filesystem Quota setup

Reason for Disabling: Storage changes are high-risk and typically require manual intervention.


9. System Configuration​

Status: ✅ Enabled (No-noop)

AspectDetails
What's ManagedHostname, timezone, kernel parameters
ImpactCore system settings
Risk LevelMedium - some changes require reboot
RollbackCan revert via Puppet

Manages:

  • Hostname and domain name
  • Timezone configuration
  • Kernel parameters (sysctl)
  • System packages
  • OS-level settings

10. Security Settings​

Status: ✅ Enabled (No-noop)

AspectDetails
What's ManagedFirewall, SELinux, SSH, sudo, users
ImpactControls system access and security
Risk LevelHigh - can lock out users
RollbackMay require console access if misconfigured

Manages:

  • Firewall rules and policies
  • SELinux/AppArmor policies
  • SSH daemon configuration
  • Sudo rules and policies
  • User and group accounts
  • Password policies

⚠️ WARNING: Security changes can lock you out. Always test with a backup access method.


11. Monitoring Configuration​

Status: ✅ Enabled (No-noop)

AspectDetails
What's ManagedMonitoring agents and checks
ImpactObservability and alerting
Risk LevelLow - doesn't affect production workloads
RollbackEasy via Puppet

Manages:

  • Monitoring agent installation (Nagios, Prometheus, etc.)
  • Health check configuration
  • Metrics collection
  • Alert configuration

12. Extra Features​

Status: ❌ Disabled

AspectDetails
What's ManagedNothing - disabled
ImpactNo additional features managed
Risk LevelN/A
Manual RequiredEnable if needed

Purpose: Placeholder for optional integrations and features not required for standard host management.


13. Mail Configuration​

Status: ✅ Enabled (No-noop)

AspectDetails
What's ManagedMail transfer agent (MTA)
ImpactSystem email delivery
Risk LevelLow - usually only affects system notifications
RollbackCan reconfigure via Puppet

Manages:

  • MTA installation (Postfix, Exim, etc.)
  • Mail relay configuration
  • Mail routing rules
  • SMTP authentication

Risk Assessment Summary​

High Risk Components (Require Careful Testing)​

ComponentRiskWhy
Network🔴 HighCan cause complete loss of connectivity
Security🔴 HighCan lock out administrative access
Services🟡 Medium-HighCan stop critical applications

Medium Risk Components​

ComponentRiskWhy
Cron🟡 MediumMay remove manually added scheduled tasks
System🟡 MediumSome changes may require reboot
Repository🟡 MediumCan affect package availability

Low Risk Components​

ComponentRiskWhy
Logging🟢 LowDoesn't affect application functionality
Backup🟢 LowFailures don't impact production
Monitoring🟢 LowOnly affects observability
Mail🟢 LowOnly affects system notifications
Virtualization🟢 LowImproves performance, minimal risk

Best Practices​

Before Enabling Full Host Management​

  1. Test in Development First

    • Deploy to test/dev environment
    • Validate all changes in noop mode
    • Monitor for issues
  2. Have Rollback Plan

    • Document current configuration
    • Ensure console/OOB access available
    • Keep backup of critical configs
  3. Staged Rollout

    • Start with low-risk components
    • Enable high-risk components last
    • Monitor each stage before proceeding
  4. Communication

    • Notify stakeholders of changes
    • Schedule maintenance windows for risky changes
    • Document expected changes

Configuration Example​

# Full host management with safe defaults
common::repo::manage: true
common::logging::manage: true
common::backup::manage: true
common::system::cron::purge_unmanaged: 'root-only'
common::virtualization::manage: true
common::network::manage: true # ⚠️ TEST CAREFULLY
common::services::manage: true
common::storage::manage: false # Disabled by default (high risk)
common::system::manage: true
common::security::manage: true # ⚠️ TEST CAREFULLY
common::monitoring::manage: true
common::extras::manage: false # Disabled by default (not needed)
common::mail::manage: true

Troubleshooting​

Common Issues​

IssueCauseSolution
Lost network connectivityNetwork config errorUse console access to revert changes
Locked out of SSHSecurity policy too strictUse console to adjust SSH/firewall rules
Services not startingService dependency issueCheck Puppet logs and service status
Cron jobs disappearedPurged by PuppetAdd jobs to Puppet configuration

Recovery Steps​

  1. Access via Console: Use out-of-band management (iLO, iDRAC, KVM)
  2. Check Puppet Logs: journalctl -u run-puppet
  3. Run Puppet Manually: puppet agent -t --noop to see what would change
  4. Disable Puppet Agent: puppet agent --disable to prevent further changes
  5. Revert Configuration: Update Hiera and re-run Puppet

Summary​

Full host management provides comprehensive control but requires careful planning. Start with low-risk components, test thoroughly, and always maintain a rollback plan. The configuration matrix above helps you understand what will be actively managed when full host management is enabled.