Ecosystem Overview¶
The Amadla ecosystem consists of 52+ repositories organized into six categories. All repositories live under github.com/AmadlaOrg (public) with private services under github.com/AmadlaCom.
Repository Map¶
Core Tools¶
CLI applications that form the data pipeline.
| Repo | Module | Purpose | Status |
|---|---|---|---|
| hery | github.com/AmadlaOrg/hery |
HERY data storage — entity management with schema validation, Git versioning, SQLite caching | Partial |
| doorman | github.com/AmadlaOrg/doorman |
Secrets daemon — pulls secrets from Clerk plugins, encrypted in-memory cache | Early |
| weaver | github.com/AmadlaOrg/weaver |
Template generator — renders config files using HERY entities and pluggable template engines | Partial |
| dryrun | — | Dry run tool — tests settings and configuration files | Planned |
| judge | — | Auditing orchestrator — runs auditor plugins against entity requirements | Planned |
| lay | — | Package/app installer — installs applications based on entity requirements | Planned |
| raise | — | Infrastructure provisioner — provisions servers/resources from entity requirements | Planned |
| waiter | — | Pipeline orchestrator — sequences tool execution | Planned |
| unravel | — | Debug/inspection tool — examines pipeline state | Planned |
Libraries¶
Shared Go libraries that provide common functionality.
| Repo | Module | Purpose | Status |
|---|---|---|---|
| LibraryUtils | github.com/AmadlaOrg/LibraryUtils |
Foundation utilities: git, file, database, IPC, encryption, configuration | Active |
| LibraryFramework | github.com/AmadlaOrg/LibraryFramework |
CLI framework wrapper around Cobra with decorator pattern | Active |
| LibraryPluginFramework | github.com/AmadlaOrg/LibraryPluginFramework |
Plugin system framework for loading and communicating with external plugins | Active |
| LibraryClerkFramework | github.com/AmadlaOrg/LibraryClerkFramework |
Specialization of plugin framework for Clerk (secret source) plugins | Active |
| LibraryAuditFramework | github.com/AmadlaOrg/LibraryAuditFramework |
Specialization of plugin framework for Auditor plugins | Active |
Clerk Plugins (Secret Sources)¶
Each clerk integrates doorman with a specific secret store.
| Repo | Module | Integrates With | Status |
|---|---|---|---|
| clerk-vault | — | HashiCorp Vault / OpenBao | Stub |
| clerk-aws | — | AWS Secrets Manager / SSM | Stub |
| clerk-keepassxc | github.com/AmadlaOrg/clerk-keepassxc |
KeePassXC password manager | Active (Go) |
| clerk-keycloak | — | Keycloak identity server | Stub |
| clerk-bitwarden | — | Bitwarden password manager | Stub |
| clerk-sops | — | Mozilla SOPS encrypted files | Stub |
| clerk-digitalocean | — | DigitalOcean secrets | Stub |
| clerk-linode | — | Linode/Akamai secrets | Stub |
| clerk-vultr | — | Vultr secrets | Stub |
| clerk-ovh | — | OVH secrets | Stub |
| clerk-rackspace | — | Rackspace secrets | Stub |
| clerk-chrome | — | Chrome browser stored passwords | Stub |
| clerk-chromium | — | Chromium browser stored passwords | Stub |
| clerk-firefox | — | Firefox browser stored passwords | Stub |
| clerk-thunderbird | — | Thunderbird stored credentials | Stub |
| clerk-gnomekeyring | — | GNOME Keyring | Stub |
Auditor Plugins¶
Each auditor checks a specific aspect of system compliance.
| Repo | Module | Audits | Status |
|---|---|---|---|
| auditor-application | github.com/AmadlaOrg/auditor-application |
Whether required applications/packages are installed | Active (Go) |
| auditor-system | — | System-level requirements (OS, kernel, resources) | Stub |
| auditor-infrastructure | — | Infrastructure-level requirements (networking, storage) | Stub |
Weaver Plugins (Template Engines)¶
Each weaver plugin provides a template rendering engine.
| Repo | Module | Engine | Status |
|---|---|---|---|
| weaver-jinja | — | Jinja2 (Python-style) | Stub |
| weaver-js-handlebars | — | Handlebars (JavaScript) | Stub |
| weaver-js-mustache | — | Mustache (JavaScript) | Stub |
| weaver-qute | — | Qute (Java/Quarkus) | Stub |
Entity Definitions¶
JSON Schema definitions that describe the structure of HERY entities.
| Repo | Module | Defines | Status |
|---|---|---|---|
| Entity | — | Base entity schema — common _meta, _entity, _id, _body structure |
Active |
| EntityApplication | — | Application requirements (packages, services, configurations) | Active |
| EntitySystem | — | System requirements (OS, kernel, resources) | Active |
| EntityInfrastructure | — | Infrastructure requirements (servers, networks, storage) | Active |
| EntityProgrammingLanguage | — | Programming language runtime requirements | Active |
| EntityContainer | — | Container/image definitions | Active |
| EntitySecret | — | Secret references and metadata | Active |
| EntityJudge | — | Audit rule definitions | Active |
Other Repositories¶
| Repo | Module | Purpose | Status |
|---|---|---|---|
| common-json-schemas | — | Shared JSON Schema definitions | Active |
| hery-playground | — | Web app for querying HERY entities (Gin + drag-drop YAML/SQLite) | Active |
| hery-jetbrains-editor-plugin | — | JetBrains IDE plugin for HERY syntax | Stub |
| hery-code-editor-plugin | — | VS Code extension for HERY syntax | Stub |
| template-application-golang | — | Go project template with standard Makefile | Active |
| GitHub-Actions | — | Shared CI/CD workflow templates | Active |
| AmadlaOrg.github.io | — | GitHub Pages site | Minimal |
How Components Connect¶
All Go projects use replace directives in go.mod to reference sibling directories during development: