25 lines
800 B
Nix
25 lines
800 B
Nix
{ pkgs, lib, config, ... }:
|
|
{
|
|
# Cluster node configuration
|
|
# Extends minimal-node with cluster-specific services (Consul, GlusterFS, CIFS, NFS)
|
|
# Used by: compute nodes (c1, c2, c3)
|
|
imports = [
|
|
./minimal-node.nix
|
|
./unattended-encryption.nix
|
|
./cifs-client.nix
|
|
./consul.nix
|
|
./nfs-services-client.nix # New: NFS client for /data/services
|
|
];
|
|
|
|
options.networking.cluster.primaryInterface = lib.mkOption {
|
|
type = lib.types.str;
|
|
default = "eno1";
|
|
description = "Primary network interface for cluster communication (Consul, NFS, etc.)";
|
|
};
|
|
|
|
config = {
|
|
# Wait for primary interface to be routable before considering network online
|
|
systemd.network.wait-online.extraArgs = [ "--interface=${config.networking.cluster.primaryInterface}:routable" ];
|
|
};
|
|
}
|