Skip to content
@AmadlaOrg

Amadla 🐰

🐰 Simplifying Infrastructure Management 🐰

Amadla logo

About

⚠️ 🚧 Still in the works 🚧 ⚠️

In the last decade, there has been a surge in tools designed to simplify the provisioning of cloud infrastructures, on-premise, and dedicated servers. While these tools offer significant benefits, setting them up and configuring them can be challenging, requiring considerable expertise in cloud systems, Infrastructure as Code (IaC), Linux, cybersecurity, and more. Many of these tools fall short of fully abstracting system-specific configurations, often necessitating detailed and complex setups.

For users who only need an environment to run a few server-side applications—like a VPN, blogs, email servers, or file managers—maintaining best practices and ensuring security can be daunting and time-consuming. Amadla aims to streamline this process by automating the setup of a basic environment suitable for personal use and businesses of all sizes. It simplifies the configuration of applications, servers, and cloud infrastructures by providing a solid abstraction layer.

Amadla Venn Diagram

How Amadla Works?

Amadla uses a custom storage methodology called HERY, which combines YAML, JSON-Schema, and Git. This methodology provides a familiar yet innovative approach to configuration management. HERY extends YAML by grouping content into entities, similar to how an RDBMS (Relational Database Management System) organizes data. These entities can refer to other entities, with all content stored in text form, benefiting from Git's version control capabilities.

The system also includes a caching layer based on SQLite, enabling fast queries of configuration content. The Amadla CLI (Command Line Interface) queries HERY configurations and uses Jinja2 templates to generate configuration files.

Each entity represents a block of mutable configuration standards. Users can create their own entities for any purpose or use the predefined ones provided by Amadla. Predefined entities ensure better integration with other tools and templates. For example, a "Net" entity attached to an application can specify the networking requirements for a website, inform the HTTP server, and configure the firewall to open the necessary ports. Configurations can be overridden in a cascading manner, allowing for flexible and hierarchical setups.

Popular repositories Loading

  1. AmadlaOrg.github.io AmadlaOrg.github.io Public

    🌐 Amadla org. website 🌐

    HTML

  2. amadla-cli amadla-cli Public

    💻 Amadla IaC (infrastructure as code) CE (community edition). 💻

  3. amadla-app-Fail2Ban amadla-app-Fail2Ban Public

    Application Fail2Ban

    Jinja 1

  4. amadla-app-Vault amadla-app-Vault Public

    Application Vault.

    Jinja 1

  5. amadla-server-Vault amadla-server-Vault Public

    Server Vault (https://www.vaultproject.io/).

    1

  6. amadla-app-Traefik amadla-app-Traefik Public

    Application traefik (https://traefik.io/).

    1

Repositories

Showing 10 of 40 repositories
  • QAFixturesFinalSubEntityThree Public

    ⚠️ QA - Fixtures - Final Sub Entity Three ⚠️

    AmadlaOrg/QAFixturesFinalSubEntityThree’s past year of commit activity
    0 MIT 0 0 0 Updated Nov 1, 2024
  • QAFixturesFinalSubEntityTwo Public

    ⚠️ QA - Fixtures - Final Sub Entity Two ⚠️

    AmadlaOrg/QAFixturesFinalSubEntityTwo’s past year of commit activity
    0 MIT 0 0 0 Updated Nov 1, 2024
  • QAFixturesSubEntityWithMultiSubEntities Public

    ⚠️ QA - Fixtures - Final Sub Entity with multi sub entities ⚠️

    AmadlaOrg/QAFixturesSubEntityWithMultiSubEntities’s past year of commit activity
    0 MIT 0 0 0 Updated Nov 1, 2024
  • hery Public

    🐻 Hierarchical Entity Relational YAML (HERY) 🐻

    AmadlaOrg/hery’s past year of commit activity
    0 MIT 0 0 0 Updated Nov 1, 2024
  • QAFixturesFinalSubEntity Public

    ⚠️ QA - Fixtures - Final Sub Entity ⚠️

    AmadlaOrg/QAFixturesFinalSubEntity’s past year of commit activity
    0 MIT 0 0 0 Updated Sep 24, 2024
  • QAFixturesEntityPseudoVersion Public

    ⚠️ QA - Fixture - Used for testing Pseudo versioned entity. ⚠️

    AmadlaOrg/QAFixturesEntityPseudoVersion’s past year of commit activity
    0 MIT 0 0 0 Updated Sep 24, 2024
  • QAFixturesEntityMultipleTagVersion Public

    ⚠️ QA - Fixture - Used for testing multiple tag versioned entity. ⚠️

    AmadlaOrg/QAFixturesEntityMultipleTagVersion’s past year of commit activity
    0 MIT 0 0 0 Updated Sep 24, 2024
  • QAFixturesEntityInvalidJsonSchema Public

    ⚠️ QA - Fixtures - Entity Invalid Json Schema ⚠️

    AmadlaOrg/QAFixturesEntityInvalidJsonSchema’s past year of commit activity
    0 MIT 0 0 0 Updated Sep 24, 2024
  • QAFixturesEntityInvalid Public

    ⚠️ QA - Fixtures - Entity Invalid ⚠️

    AmadlaOrg/QAFixturesEntityInvalid’s past year of commit activity
    0 MIT 0 0 0 Updated Sep 24, 2024
  • Entity Public

    📦 Contains the basic entities configurations 📦

    AmadlaOrg/Entity’s past year of commit activity
    0 MIT 0 0 0 Updated Sep 24, 2024

Top languages

Loading…

Most used topics

Loading…