View on GitHub
Plugin: Installers
Install anything anywhere on any OS/Arch either on a local or remote machine.
On this page
Overview
The Installers plugin simplifies software installation with one-line commands, eliminating the need to navigate multiple documentation sources. It supports installing:
- CLI tools with specific version targeting
- K3s Kubernetes (server or agent)
- System packages and utilities
Installation can be performed either locally or on remote machines via SSH.
Installation
# Interactive mode
$ provisioner plugins install
# Non interactive mode
$ pip install provisioner-installers-plugin
Usage
List Available Installables
To see all installation options:
provisioner install
Install CLI Tools
# List available CLI tools
provisioner install cli
# Install a CLI tool (latest version)
provisioner install cli helm
# Install a specific version
provisioner install cli helm@v3.14.1
Install K3s
# List K3s installation options
provisioner install k3s
# Install K3s server
provisioner install k3s server
# Install K3s agent
provisioner install k3s agent
Install System Packages
# List system package options
provisioner install system
# Install a specific package
provisioner install system docker
Installation Modes
The plugin supports two installation modes:
Interactive Mode (Default)
When run without additional flags, the plugin launches an interactive Terminal UI (TUI) that guides you through the installation process with step-by-step prompts.
provisioner install cli
Non-Interactive Mode
For scripting or automation, you can specify all parameters directly:
provisioner install cli helm@v3.14.1
Remote Installation
To install software on remote machines:
# Basic syntax
provisioner install --environment Remote [options] COMMAND
# Example with explicit flags
provisioner install \
--environment Remote \
--connect-mode Flags \
--node-username pi \
--ssh-private-key-file-path ~/.ssh/id_rsa \
--ip-address 1.2.3.4 \
--port 22 \
--hostname rpi-01 \
--verbosity Verbose \
cli kubectl@v1.28.4
Remote Configuration Options
Remote Flag | Env Var | Description |
---|---|---|
--hostname |
PROV_HOSTNAME |
Remote node hostname |
--ip-address |
PROV_IP_ADDRESS |
Remote node IP address |
--node-username |
PROV_NODE_USERNAME |
Remote node username |
--node-password |
PROV_NODE_PASSWORD |
(Optional) Remote node password |
--ssh-private-key-file-path |
PROV_SSH_PRIVATE_KEY_FILE_PATH |
(Recommended) SSH private key path |
--port |
PROV_PORT |
SSH port (default: 22) |
Using Environment Variables
You can use environment variables instead of flags:
PROV_NODE_USERNAME=admin \
PROV_SSH_PRIVATE_KEY_FILE_PATH=~/.ssh/id_rsa \
provisioner install --environment Remote cli helm@v3.11.0
Additional Options
--dry-run (-d)
: Simulates command execution without making changes--verbose (-v)
: Enables verbose logging
Examples
Install Latest kubectl
Locally
provisioner install cli kubectl
Install Specific helm
Version Remotely
PROV_NODE_USERNAME=admin \
PROV_SSH_PRIVATE_KEY_FILE_PATH=~/.ssh/id_rsa \
provisioner install \
--environment Remote \
--connect-mode Flags \
--ip-address 1.2.3.4 \
--port 22 \
--hostname rpi-01 \
--verbosity Verbose \
cli helm@v3.11.2
Deploy k3s
Server to Remote Machine
provisioner install \
--environment Remote \
--connect-mode Flags \
--node-username pi \
--ssh-private-key-file-path ~/.ssh/id_rsa \
--ip-address 1.2.3.4 \
--port 22 \
--hostname rpi-01 \
--verbosity Verbose \
k3s server