Skip to content

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:

replace github.com/AmadlaOrg/LibraryUtils => ../LibraryUtils
replace github.com/AmadlaOrg/LibraryFramework => ../LibraryFramework