What is Amadla?¶
Amadla is an infrastructure automation ecosystem built on the UNIX philosophy. Instead of describing environments, you describe what your applications need — and those requirements flow through a pipeline of modular CLI tools that each do one thing well.
Read the longer introduction for the ideas behind it, the full pipeline, and the ecosystem at a glance.
Application-Centric¶
Define what an application requires — dependencies, secrets, configuration — and let the tools figure out how to provision it.
UNIX Philosophy¶
Small, composable CLI tools that pipe JSON between each other. Use them independently or chain them in a pipeline.
HERY Data Model¶
Hierarchical Entity Relational YAML — a structured way to define application requirements with schema validation and Git versioning.
Plugin Architecture¶
Extend tools with plugins for secret sources (doorman-), infrastructure providers (raise-), template engines (weaver-), system configuration (enjoin-), and validation (judge-*).
Secrets Management¶
Doorman daemon resolves secrets from any source — Vault, AWS, KeePassXC, Keycloak — via encrypted in-memory cache.
Template Generation¶
Weaver generates configuration files using pluggable template engines: Jinja, Mustache, Handlebars, and Qute.
The Pipeline¶
Each tool reads structured data, does its job, and passes results downstream as JSON.
hery → doorman → raise → lay → enjoin → weaver → judge
| Stage | Tool | What it does |
|---|---|---|
| Define | hery | Manage YAML entities with schema validation and SQLite caching |
| Secrets | doorman | Resolve secrets from any source via doorman plugins |
| Provision | raise | Provision VMs and cloud instances via raise plugins |
| Install | lay | Install packages, applications, and language runtimes |
| Configure | enjoin | Set system state — users, services, cron, security |
| Generate | weaver | Generate config files from templates + entity data |
| Audit | judge | Verify state and compliance via judge plugins |