30 lines
680 B
Nix
30 lines
680 B
Nix
|
{ config, lib, pkgs, ... }:
|
||
|
|
||
|
{
|
||
|
options.k8s = {
|
||
|
diskPoolID = lib.mkOption {
|
||
|
type = lib.types.str;
|
||
|
description = "Disk Pool ID for OpenEBS";
|
||
|
};
|
||
|
|
||
|
manifestsDir = lib.mkOption {
|
||
|
type = lib.types.path;
|
||
|
description = "Directory for Kubernetes manifests";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
config = {
|
||
|
system.activationScripts.k8s-manifests = {
|
||
|
deps = [ ];
|
||
|
text = ''
|
||
|
mkdir -p ${config.k8s.manifestsDir}
|
||
|
cp ${pkgs.substituteAll {
|
||
|
src = ./config/openebs.yaml;
|
||
|
nodeName = config.networking.hostName;
|
||
|
diskPoolID = config.k8s.diskPoolID;
|
||
|
}} ${config.k8s.manifestsDir}/openebs.yaml
|
||
|
'';
|
||
|
};
|
||
|
};
|
||
|
}
|