Ignition
Server automation in TypeScript
Ignition is a TypeScript-native server automation tool. It uses SSH to apply declarative resource configurations to remote hosts, inspired by Pulumi's async API and Ansible's agentless model.
Quick start
Installation
Install Ignition and its prerequisites.
Your First Recipe
Write a recipe, dry-run it, and apply it to a remote host.
Project Setup
Scaffold a new Ignition project and configure it.
Resources
Ignition ships with five built-in resources:
| Resource | Purpose |
|---|---|
apt | Manage system packages |
file | Manage file contents, permissions, ownership |
directory | Manage directories |
exec | Run arbitrary commands |
service | Manage systemd services |
Key features
- TypeScript recipes — full language power with type safety and IDE support
- Check-then-apply — resources inspect state before mutating, and
--checkskips apply - Agentless — nothing to install on target hosts, just SSH
- Idempotent — safe to run repeatedly, only changes what needs changing
- Parallel execution — bounded worker pool for multi-host runs
- Real-time dashboard — start a dashboard server and stream runs to it