Skip to content

Universal agent installer via curl bashΒ #64

@logicminds

Description

@logicminds

πŸ“¦ OpenVox Agent Universal Installer – Proposal Summary

🎯 Purpose

The goal of this project is to provide a unified, cross-platform installation experience for the openvox-agent across major operating systems (Linux, macOS, Windows). It allows users to install and configure the agent with a single command tailored to their environment, reducing friction and ensuring consistency in deployments.


🧩 Design Overview

The installation system uses a universal wrapper script (install.sh or equivalent) that detects the platform and delegates to the appropriate OS-specific install script. Each script:

  • Installs the agent using native package managers or installers (apt, dnf, msiexec, installer)
  • Imports GPG keys or handles certificates
  • Configures repository metadata as needed
  • Offers to symlink common tools (puppet, facter, pxp-agent) into $PATH

🧠 Core Design Principles

  • πŸ› οΈ Platform-native installation (no Docker dependencies)
  • πŸ’‘ Auto-detection of OS and architecture
  • βœ… User-friendly prompts with safe defaults
  • πŸ”’ Use of official signing keys for trust
  • πŸ§ͺ Testable via GitHub Actions and local Bats framework

πŸ–₯️ Supported Platforms

OS Family Versions Supported Installer Format
Debian 10, 11, 12 .deb + APT repo
Ubuntu 18.04, 20.04, 22.04, 24.04 .deb + APT repo
RHEL-based RHEL 7–10, Rocky, Alma, Amazon Linux, SLES .rpm + YUM/DNF repo
Fedora 36, 40, 41, 42 .rpm + DNF repo
macOS Ventura+ on Apple Silicon .dmg with .pkg
Windows Windows 10, 11, Server (x64) .msi installer

πŸ“¦ Deliverables

  • install.sh – universal wrapper script (except windows)
  • install-openvox-deb.sh – for Debian/Ubuntu
  • install-openvox-rpm.sh – for RedHat-based distros
  • install-openvox-mac.sh – for macOS
  • install-openvox-windows.ps1 – for Windows
  • GitHub Actions CI with container matrix testing (Debian, Ubuntu, RHEL variants)
  • Bats test framework with mocked local repo/host environment

πŸ§ͺ Testing & Validation

  • GitHub Actions matrix tests for all Linux platforms using Docker containers
  • macOS and Windows tested via native runners in CI
  • Local testing supported via:
    • run-local-test.sh (Linux Bats)
    • HTTPS mocking using python3 -m http.server
    • Certificate validation override (or trust install)

🧰 How It's Used

βœ… One-Liner (Universal Install)

# linux, Mac
curl -fsSL https://raw.githubusercontent.com/voxpupuli/openvox-install/main/install.sh | bash -s -- 8 openvox-agent

or when published officially

curl -fsSL https://voxpupuli.com/install.sh | bash -s -- 8 openvox-agent

πŸͺŸ Windows

powershell -NoProfile -ExecutionPolicy Bypass -Command "iwr -useb https://raw.githubusercontent.com/voxpupuli/openvox-install/main/install-openvox-windows.ps1 | iex"

or

powershell -NoProfile -ExecutionPolicy Bypass -Command "iwr -useb https://voxpupuli.com/install-openvox-windows.ps1 | iex"

πŸ”§ Maintenance Plan

  • Scripts hosted in voxpupuli/openvox-install
  • Raw GitHub URLs used for live delivery
  • CI runs on every push and PR to validate OS compatibility
  • Community-supported with release tagging and version pinning

🧭 Intended Use Cases

  • Easy onboarding for new agents
  • Testing internal agent behavior across supported systems

Working POC (code only)

I have created a working POC but the scripts will need to be hosted somewhere either via github or vox site.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions