Add service infrastructure for long-running deployment

- Add configuration system (config/*.exs, OrgGarden.Config)
- Refactor supervision tree with DynamicSupervisor and Registry
- Add OrgGarden.Server for serve mode lifecycle management
- Add health check HTTP endpoints (Bandit/Plug on :9090)
- Add telemetry events for export and watcher operations
- Implement graceful shutdown with SIGTERM handling
- Add Mix Release support with overlay scripts
- Add NixOS module for systemd service deployment
- Update documentation with service usage
This commit is contained in:
Ignacio Ballesteros
2026-02-21 20:38:47 +01:00
parent 6476b45f04
commit 01805dbf39
23 changed files with 1147 additions and 83 deletions

View File

@@ -7,6 +7,15 @@
};
outputs = { self, nixpkgs, flake-utils }:
let
# System-independent outputs
nixosModule = import ./nix/module.nix;
in
{
# NixOS module (system-independent)
nixosModules.default = nixosModule;
nixosModules.org-garden = nixosModule;
} //
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs { inherit system; };
@@ -47,6 +56,8 @@
./mix.exs
./mix.lock
./lib
./config
./rel
];
};
escriptBinName = "org_garden";