Add infrastructure skeleton for review (refs #21)
check / flake-check (pull_request) Has been cancelled
check / flake-check (pull_request) Has been cancelled
Lays out the agreed shape from the design discussion: one flake at the root with three nixosConfigurations (mqtt-ingest, db-host, app-host), vendored Supabase docker-compose pointed at the external db-host, Caddy → Kong → PostgREST/GoTrue, a Go MQTT→Postgres ingester stub, deploy-rs node map, and a Gitea Actions workflow that deploys in db → app → ingest order on push to main. No real implementation yet — every host module has TODOs marking the gaps (real hardware config, actual hostnames, HiveMQ packaging, vendor the full upstream Supabase compose, etc.).
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
{ pkgs, services-flake }:
|
||||
|
||||
{ ... }:
|
||||
{
|
||||
imports = [ services-flake.processComposeModules.default ];
|
||||
|
||||
# Skeleton — services-flake gives us postgres, plus we'd add Supabase via
|
||||
# docker-compose run, Caddy, Kong (or skip Kong locally and hit services
|
||||
# directly), the ingester, and `vite dev`. Fill in as we go.
|
||||
services = {
|
||||
postgres."db" = {
|
||||
enable = true;
|
||||
port = 5432;
|
||||
initialDatabases = [{ name = "gebos"; }];
|
||||
};
|
||||
};
|
||||
|
||||
settings.processes = {
|
||||
ingester = {
|
||||
command = "${pkgs.go}/bin/go run ./ingester";
|
||||
depends_on."db".condition = "process_healthy";
|
||||
};
|
||||
frontend = {
|
||||
command = "${pkgs.nodejs_20}/bin/npm --prefix frontend run dev";
|
||||
};
|
||||
# TODO: supabase compose (point POSTGRES_HOST at the services-flake db)
|
||||
# TODO: kong (use the vendored kong.yml from nix/supabase/)
|
||||
# TODO: caddy (mirror prod routes locally, no TLS)
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user