{"id":19380856,"url":"https://github.com/module-federation/aegis","last_synced_at":"2025-09-11T21:39:26.367Z","repository":{"id":37952082,"uuid":"348895425","full_name":"module-federation/aegis","owner":"module-federation","description":"Module federation for the backend. Aegis core lib. Regain control of your microservices by consolidating them into one or more shared processes without loosing deployment or language independence. Eliminate the need for deployment automation. Let services deploy themselves. ","archived":false,"fork":false,"pushed_at":"2024-03-30T07:09:48.000Z","size":3219,"stargazers_count":147,"open_issues_count":24,"forks_count":14,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-10-29T14:22:21.705Z","etag":null,"topics":["fabric","federated-deployment","fractal-architecture","hexagonal-architecture","microservice-framework","module-federation","network-overlay","runtime-binding","self-deploying","self-forming","service-mesh","streaming-software","webassembly","zero-install"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/module-federation.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2021-03-18T00:49:18.000Z","updated_at":"2024-10-16T02:44:58.000Z","dependencies_parsed_at":"2023-02-18T23:01:46.605Z","dependency_job_id":"455fab69-8f0b-40a0-8cd8-4774c1cd0221","html_url":"https://github.com/module-federation/aegis","commit_stats":{"total_commits":1517,"total_committers":13,"mean_commits":116.6923076923077,"dds":0.7013843111404088,"last_synced_commit":"9ceceecf4a349103e0a1ec191b46e0d40ed0db90"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/module-federation%2Faegis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/module-federation%2Faegis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/module-federation%2Faegis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/module-federation%2Faegis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/module-federation","download_url":"https://codeload.github.com/module-federation/aegis/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247595334,"owners_count":20963943,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fabric","federated-deployment","fractal-architecture","hexagonal-architecture","microservice-framework","module-federation","network-overlay","runtime-binding","self-deploying","self-forming","service-mesh","streaming-software","webassembly","zero-install"],"created_at":"2024-11-10T09:15:00.227Z","updated_at":"2025-04-07T05:09:52.964Z","avatar_url":"https://github.com/module-federation.png","language":"JavaScript","readme":"[![NPM version][npm-image]][npm-url]\n[![NPM Downloads][downloads-image]][downloads-url]\n[![Gitpod][gitpod-image]][gitpod-url]\n\n# ÆGIS\n\nSee the [aegis-host](https://github.com/module-federation/aegis-host) repo for documentation and a working example of a federation server.\n\n\u003cdiv align=\"left\"\u003e\n    \u003ca href=\"https://blog.federated-microservices.com\" target=\"_blank\"\u003e\n        \u003cimg src=\"https://user-images.githubusercontent.com/38910830/142773640-5a4d710d-a428-4bfc-9f56-03e90255eb1b.gif\" alt=\"GitHub Video\"\n        border=\"10\"width=\"460\"height=\"250\"/\u003e\n    \u003c/a\u003e\n\u003c/div\u003e\n\n## Consolidate your microservices\n\n(by running them together in a single process)\n\n- for decreased footprint,\n- better performance and\n- simpler operations\n\n_without loosing_\n\n- deployment independence,\n- language independence\n- or component independence (i.e. components remain decoupled)\n\n## Or distribute your components\n\n(across a self-forming service mesh)\n\n- dynamically and adaptively\n- outside the datacenter and beyond the edge\n\n_with_\n\n- non-functional, boilerplate code done for you\n  - dynamically generated APIs and datasources\n  - transparent integration and persistence\n  - distributed worklow\n  - distributed cache\n  - multithreaded design to integrate I/O and CPU-bound workloads\n  - shared memory for efficient processing across threads\n  - fast streaming based on Async I/O supporting DDS and QUIC protocols\n  - in-process, self-forming service mesh supporting data federation and other application services.\n  - autonomous self-administration (e.g. CA certs provisioned/renewed programmatically)\n  - exhaustive portability: Aegis can run as a server, cluster, or serverless function, in the datacenter, at the edge, and beyond (browser, phone, drone, pi, eventually arduino)\n- and capabilities that enhance the development experience\n  - self-deployment (deploy in seconds to any compute primitive: serverless, container, IoT, etc)\n  - runtime binding and hot reload (e.g. add new functionality on the fly, switch from on-prem to cloud live)\n  - zero downtime, zero installation, independent deployment--even for components running in the same process\n  - Polyglot, portable, containerless, sandboxed, AoT-compiled modules run safely anywhere, at native speeds\n  - decentralized, scalable, \"tessellated\" hexagonal architecture\n\n### And do it all without deployment automation\n\nYou don't need that anymore.\n\n---\n\n## Getting started\n\n### Install [\u003cimg src=\"https://github.com/tysonrm/cluster-rolling-restart/blob/main/npm-tile.png\"\u003e](https://www.npmjs.com/package/@module-federation/aegis)\n\nInstall just the core lib from NPM:\n\n```shell\nnpm i @module-federation/aegis\n```\n\n### Contribute\n\nOpen a Gitpod workspace using a local repo:\n\n[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/github.com/module-federation/aegis-app)\n\nor\n\nManually install using Github as a repo. \n\n```shell\ngit clone https://github.com/module-federation/aegis\ncd aegis\nyarn\nyarn build\nyarn link\n\ncd ..\n\ngit clone https://github.com/module-federation/aegis-host\ncd aegis-host\nyarn\nyarn link \"@module-federation/aegis\"\ncd webpack/remote-entries\ncp index-github.js index.js\nyarn build\nyarn start\nyarn demo\n```\n\n---\n\n### Learn\n\n[![Aegis Overview](https://res.cloudinary.com/marcomontalbano/image/upload/v1632364889/video_to_markdown/images/youtube--n2qqgi3fTto-c05b58ac6eb4c4700831b2b3070cd403.jpg)](https://youtu.be/jddhfLA_2k0 'Aegis Overview')\n\n# Roadmap\n\n- More WebAssembly features\n- Run on WasmEdge\n- Run in the browser\n- Run on Arduino\n- Addtional service mesh plugins.\n- Support ROS2/DDS for low-latency IoT networks\n- Web Bluetooth Low Energy adapter\n- Point cloud support for LiDAR integration\n- PyNode - Python on Node - interpreted, not transpiled\n- Support for QUIC, NDI, WebRTC protocols\n- Addt'l datasource adapters: Graph, Blockchain, Solid Pod, timeseries\n- Adaptive Deployment (AIOps based dynamic infra)\n- Data privacy based on Zero Knowledge Proofs\n- OCI wrapper for wasm-based runtime\n- Federated Module Attestation\n- Smart Scaffolding\n- Application-based Sharding\n- Passwordless authentication\n- [Medusa](https://github.com/module-federation/medusa) integration\n\n[npm-image]: http://img.shields.io/npm/v/@module-federation/aegis.svg\n[npm-url]: https://npmjs.org/package/@module-federation/aegis\n[downloads-image]: https://img.shields.io/npm/dm/@module-federation/aegis\n[downloads-url]: https://npmjs.org/package/@module-federation/aegis\n[gitpod-image]: https://img.shields.io/badge/Gitpod-ready--to--code-908a85?logo=gitpod\n[gitpod-url]: https://gitpod.io/github.com/module-federation/aegis-app\n","funding_links":[],"categories":["📦 Legacy \u0026 Inactive Projects"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmodule-federation%2Faegis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmodule-federation%2Faegis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmodule-federation%2Faegis/lists"}