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.
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 (Clerks), template engines (Weavers), and compliance auditing (Auditors).
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 → 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 Clerk plugins |
| Provision | raise | Provision infrastructure using IaC wrappers |
| Install | lay | Install applications via package managers |
| Configure | weaver | Generate config files from templates + entity data |
| Audit | judge | Verify compliance via Auditor plugins |
Ecosystem at a Glance¶
| Category | Count | Examples |
|---|---|---|
| Core Tools | 8 | hery, doorman, weaver, judge, lay, raise, waiter, unravel |
| Libraries | 5 | LibraryUtils, LibraryFramework, LibraryPluginFramework, ... |
| Clerk Plugins | 16 | clerk-vault, clerk-aws, clerk-keepassxc, clerk-keycloak, ... |
| Auditor Plugins | 3 | auditor-application, auditor-system, auditor-infrastructure |
| Weaver Plugins | 4 | weaver-jinja, weaver-js-handlebars, weaver-js-mustache, weaver-qute |
| Entity Definitions | 8 | Entity, EntityApplication, EntitySystem, EntityInfrastructure, ... |
Total: 52+ repositories across AmadlaOrg and AmadlaCom.
Technology¶
All tools and libraries are written in Go. The ecosystem uses:
| Concern | Technology |
|---|---|
| Language | Go 1.24+ |
| CLI Framework | Cobra (wrapped by LibraryFramework) |
| Data Storage | YAML + SQLite caching (HERY) |
| Schema Validation | JSON Schema |
| Entity Versioning | Git |
| Secrets | Encrypted in-memory cache (Doorman) |
| Template Engines | Jinja, Mustache, Handlebars, Qute (via plugins) |