2d57db8182
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.).
31 lines
906 B
Nix
31 lines
906 B
Nix
{ 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)
|
|
};
|
|
}
|