Skip to content

Getting Started

  • SSH access to target machines (key-based authentication)
  • No agent or runtime required on target hosts

Download the latest binary from GitHub Releases:

Terminal window
curl -L https://github.com/alessiopcc/glidesh/releases/latest/download/glidesh-linux-amd64 -o glidesh
chmod +x glidesh
sudo mv glidesh /usr/local/bin/

Requires Rust 1.85+.

Terminal window
git clone https://github.com/alessiopcc/glidesh.git
cd glidesh
cargo build --release

The binary will be at target/release/glidesh.

Create an inventory.kdl file listing your target machines:

vars {
deploy-user "deploy"
}
group "web" {
host "web-1" "192.168.1.10" user="deploy" port=22
host "web-2" "192.168.1.11" user="deploy"
}

Create a plan.kdl describing the desired state:

plan "setup-web" {
target "web"
step "Install nginx" {
package "nginx" state="present"
}
step "Start nginx" {
systemd "nginx" {
state "started"
enabled #true
}
}
}
Terminal window
glidesh run -i inventory.kdl -p plan.kdl

Add --dry-run to preview changes without applying them:

Terminal window
glidesh run -i inventory.kdl -p plan.kdl --dry-run