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.