Inventory
An inventory file defines the machines glidesh connects to. It uses KDL format.
Structure
Section titled “Structure”// Global variables — inherited by all groups and hostsvars { deploy-user "deploy" ssh-key "~/.ssh/id_ed25519"}
group "web" { vars { http-port 8080 } host "web-1" "10.0.0.1" user="deploy" port=22 host "web-2" "10.0.0.2" user="deploy" host "web-3" "web3.example.com"}
group "db" { host "db-1" "10.0.1.1" user="root" port=2222 host "db-2" "10.0.1.2" user="root"}
// Ungrouped hosthost "monitoring" "10.0.2.1" user="admin"Each host node takes two positional arguments:
- Name — a human-readable identifier (shown in the TUI)
- Address — IP or hostname to connect to
Optional properties:
user— SSH username (overrides group/global vars)port— SSH port (default: 22)
Groups
Section titled “Groups”A group node collects hosts under a name that can be targeted in plans or via --target on the CLI. Groups can define their own vars block.
Variables
Section titled “Variables”Variables are defined in vars blocks and follow a scoping hierarchy:
Global vars → Group vars → Host propertiesThe most specific value wins. Variables can be referenced in plans using ${var-name} syntax.
See Variables for full details on variable interpolation and merge order.