Upgrade Linux Forwarder (Manual & Mass Upgrades)
These instructions describe how to upgrade the Stairwell Linux Forwarder, whether you’re upgrading a single host or managing hundreds across your environment.
❗ Known Limitations
- Web app and API-based upgrades are not supported.
 - All upgrades must be performed manually or via automation using package managers or orchestration tools.
 
🔧 Prerequisites
- A previous version of the Stairwell Linux Forwarder must be installed and configured.
 - Ensure that 
/etc/stairwell/config.jsonexists - this file is preserved during upgrade. 
Step 1: Manual Upgrade (Single System)
🐧 RHEL, Rocky, Alma (7, 8, 9)
# Download latest package for your RHEL version
curl -LO https://downloads.stairwell.com/linux/2.4.5/stairwell-2.4.5-1.el8.amd64.rpm
# Upgrade package in place
sudo rpm -U stairwell-2.4.5-1.el8.amd64.rpm🐧 Debian / Ubuntu (20.04, 22.04)
# Download latest package
curl -LO https://downloads.stairwell.com/linux/2.4.5/stairwell-2.4.5-1.amd64.deb
# Install and upgrade in place
sudo apt install ./stairwell-2.4.5-1.amd64.deb🧓 Legacy: RHEL 6 (EOL)
Note: RHEL 6 is end-of-life and receives no security updates.
curl -LO https://downloads.stairwell.com/linux/2.4.5/stairwell-2.4.5-1.el6.amd64.rpm
sudo rpm -U stairwell-2.4.5-1.el6.amd64.rpmStep 2: Verify the Upgrade
After upgrading, the Stairwell service should automatically restart.
Check service status
sudo systemctl status stairwell.service
# or
sudo service stairwell statusView logs
journalctl -u stairwell.service -f
# or
sudo tail -f /var/log/stairwell/fileshipper.log🚀 Performing Mass Upgrades
When managing many Linux hosts, manual upgrades are inefficient.
Use automation tools or package repositories to orchestrate updates across your entire fleet.
1. Mass Upgrade with Ansible
Ansible provides an idempotent, version-controlled approach to upgrade multiple systems in parallel.
Example Playbook
---
- name: Upgrade Stairwell Forwarder
  hosts: linux_hosts
  become: yes
  vars:
    stairwell_version: "2.4.5"
  tasks:
    - name: Download latest package for RHEL
      get_url:
        url: "https://downloads.stairwell.com/linux/{{ stairwell_version }}/stairwell-{{ stairwell_version }}-1.el8.amd64.rpm"
        dest: "/tmp/stairwell.rpm"
      when: ansible_os_family == "RedHat"
    - name: Upgrade package (RHEL)
      yum:
        name: "/tmp/stairwell.rpm"
        state: latest
      when: ansible_os_family == "RedHat"
    - name: Download latest package for Debian/Ubuntu
      get_url:
        url: "https://downloads.stairwell.com/linux/{{ stairwell_version }}/stairwell-{{ stairwell_version }}-1.amd64.deb"
        dest: "/tmp/stairwell.deb"
      when: ansible_os_family == "Debian"
    - name: Upgrade package (Debian/Ubuntu)
      apt:
        deb: "/tmp/stairwell.deb"
        state: latest
      when: ansible_os_family == "Debian"
    - name: Restart Stairwell service
      systemd:
        name: stairwell.service
        state: restartedBenefits
- Parallel execution across thousands of hosts
 - Repeatable and safe (idempotent)
 - Version pinning (
stairwell_version) for controlled rollouts 
2. Mass Upgrade via Internal Package Repository
If your organization uses a central YUM or APT mirror:
- Mirror Stairwell 
.rpmor.debfiles in your internal repository. - Add your repo configuration:
- RHEL: 
/etc/yum.repos.d/stairwell.repo - Debian: 
/etc/apt/sources.list.d/stairwell.list 
 - RHEL: 
 - Trigger the upgrade using your standard patch management cycle:
 
# RHEL / Rocky / Alma
sudo yum update stairwell
# Debian / Ubuntu
sudo apt upgrade stairwellThis method integrates Stairwell Forwarder upgrades into your existing OS update pipeline.
3. Cloud or Script-Based Orchestration
If using startup or provisioning scripts (cloud-init, Terraform, etc.), you can redeploy upgrades automatically:
Example (AWS EC2 via SSM)
aws ssm send-command   --targets "Key=tag:Role,Values=stairwell-forwarder"   --document-name "AWS-RunShellScript"   --comment "Upgrade Stairwell Forwarder to v2.4.5"   --parameters 'commands=[
    "curl -LO https://downloads.stairwell.com/linux/2.4.5/stairwell-2.4.5-1.amd64.deb",
    "sudo apt install -y ./stairwell-2.4.5-1.amd64.deb",
    "sudo systemctl restart stairwell.service"
  ]'This approach is ideal for cloud fleets or autoscaling groups where instances refresh frequently.
4. Best Practices for Mass Upgrades
| Category | Recommendation | 
|---|---|
| Rollout strategy | Use staged upgrades — start with 5–10% of systems before full rollout | 
| Monitoring | Track system logs (journalctl -u stairwell.service) for healthy restarts | 
| Resource load | Expect short bursts of CPU/disk usage after upgrades | 
| Version validation | Run rpm -q stairwell or dpkg -s stairwell to confirm target version | 
| Rollback plan | Keep a previous .rpm / .deb version cached locally for emergency downgrades | 
| Secrets management | Use tools like Ansible Vault, AWS Secrets Manager, or GCP Secret Manager for tokens | 
5. Verify Fleet-Wide Upgrade Success
You can confirm all machines are upgraded successfully by running:
ansible all -m shell -a "stairwell --version"or checking Stairwell’s web console — upgraded assets will report the latest version (v2.4.5).
Updated about 8 hours ago
