Skip to content

Repository files navigation

linuxaid-cli

Part of Linuxaid by Obmondo

Ask DeepWiki

A Linux system management toolkit that automates Puppet-based configuration management and system updates across Obmondo-managed infrastructure. The project provides two command-line applications for initial provisioning and ongoing system maintenance.

Installation

Quick Install (Recommended)

The easiest way to install linuxaid-install is using the installation script:

curl -sSL https://raw.githubusercontent.com/Obmondo/linuxaid-cli/main/install.sh | bash

This script will:

  • Detect your system architecture (amd64, arm64, armv7)
  • Download the latest release from GitHub
  • Verify the checksum for security
  • Install the linuxaid-install binary to /usr/local/bin
  • Automatically run the installation tool

Build from Source

If you prefer to build from source:

make build

This produces two binaries: linuxaid-install and linuxaid-cli.

Applications

linuxaid-install

Initial system provisioning tool that installs and configures the Puppet agent (openvox-agent). Obmondo customers authenticate with the TOKEN environment variable; opensource users can run it without a token.

Usage:

# Obmondo customers
TOKEN='your-token' linuxaid-install --certname web01.example --puppet-server your.openvoxserver.com --environment master

# Opensource users (no token required)
linuxaid-install --certname web01.example --puppet-server your.openvoxserver.com --environment master

linuxaid-cli

System management CLI for Puppet-managed nodes with commands for automated maintenance operations.

Commands:

  • system-update - Executes distribution-specific package updates with service window coordination
  • run-openvox - Runs Puppet agent with connectivity checks and status reporting

Usage:

linuxaid-cli system-update --certname web01.example --no-reboot
linuxaid-cli run-openvox --certname web01.example

Features

  • Automated Puppet Agent Management: Complete lifecycle management including installation, configuration, and execution
  • Remote Logging: gRPC-based streaming of command execution output to Obmondo API
  • Service Window Coordination: Integrates with Obmondo backend for maintenance window management
  • Multi-Distribution Support: Ubuntu, Debian, RHEL, CentOS, SLES, OracleLinux, and TurrisOS

Configuration

Configuration uses a three-tier precedence system via Viper:

  1. Command-line flags (highest priority)
  2. Environment variables
  3. Default values

Global Flags

These flags are available for both linuxaid-install and linuxaid-cli:

  • --certname / CERTNAME - Certificate name (defaults to the machine's FQDN)
  • --debug / DEBUG - Enable debug logging
  • --puppet-server / PUPPET_SERVER - Puppet server hostname (for linuxaid-install, required when no TOKEN is set; for linuxaid-cli, overrides the customer settings)

linuxaid-install Specific Flags

  • --environment / -E / OPENVOX_ENVIRONMENT - Openvox environment to install (Linuxaid release version, default master)

linuxaid-cli Command-Specific Flags

system-update

  • --no-reboot / NO_REBOOT - Disable automatic reboot after updates
  • --skip-openvox / SKIP_OPENVOX - Skip Puppet agent run
  • --security-exporter-url / SECURITY_EXPORTER_URL - URL of the security exporter (default: http://127.254.254.254:63396)

run-openvox

  • --environment / -E - Openvox environment for this run only. Without it, the environment set for the server in Obmondo is used, falling back to master when the API cannot be reached. The value is never sent to Obmondo, so it applies to that single run

Dependencies

  • Cobra for CLI framework
  • Viper for configuration management
  • gRPC for remote logging
  • Bitfield/script for shell command execution

About

linuxaid-cli handles openvox-agent setup

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages