Chore(clanInternals): remove unused attributes
This commit is contained in:
@@ -198,24 +198,21 @@ in
|
|||||||
options = {
|
options = {
|
||||||
# Those options are interfaced by the CLI
|
# Those options are interfaced by the CLI
|
||||||
# We don't specify the type here, for better performance.
|
# We don't specify the type here, for better performance.
|
||||||
inventory = lib.mkOption { type = lib.types.raw; };
|
|
||||||
# all exported clan templates from this clan
|
|
||||||
templates = lib.mkOption { type = lib.types.raw; };
|
|
||||||
# all exported clan modules from this clan
|
|
||||||
modules = lib.mkOption { type = lib.types.raw; };
|
|
||||||
# all inventory module schemas
|
|
||||||
inventoryFile = lib.mkOption { type = lib.types.raw; };
|
|
||||||
# The machine 'imports' generated by the inventory per machine
|
|
||||||
inventoryClass = lib.mkOption { type = lib.types.raw; };
|
|
||||||
evalServiceSchema = lib.mkOption { };
|
|
||||||
# clan-core's modules
|
# clan-core's modules
|
||||||
clanModules = lib.mkOption { type = lib.types.raw; };
|
clanModules = lib.mkOption { type = lib.types.raw; };
|
||||||
source = lib.mkOption { type = lib.types.raw; };
|
|
||||||
meta = lib.mkOption { type = lib.types.raw; };
|
# The machine 'imports' generated by the inventory per machine
|
||||||
|
inventoryClass = lib.mkOption { type = lib.types.raw; };
|
||||||
|
|
||||||
|
# TODO: remove all dependents in python, delete this option
|
||||||
|
inventory = lib.mkOption {
|
||||||
|
type = lib.types.raw;
|
||||||
|
apply = lib.warn "The 'clanInternals.inventory' option is deprecated, use 'clanInternals.inventoryClass' instead.";
|
||||||
|
};
|
||||||
|
|
||||||
secrets = lib.mkOption { type = lib.types.raw; };
|
secrets = lib.mkOption { type = lib.types.raw; };
|
||||||
clanLib = lib.mkOption { type = lib.types.raw; };
|
|
||||||
machines = lib.mkOption { type = lib.types.raw; };
|
machines = lib.mkOption { type = lib.types.raw; };
|
||||||
all-machines-json = lib.mkOption { type = lib.types.raw; };
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -133,24 +133,26 @@ let
|
|||||||
) supportedSystems
|
) supportedSystems
|
||||||
);
|
);
|
||||||
|
|
||||||
inventoryFile = "${directory}/inventory.json";
|
|
||||||
|
|
||||||
inventoryLoaded =
|
|
||||||
if builtins.pathExists inventoryFile then
|
|
||||||
(builtins.fromJSON (builtins.readFile inventoryFile))
|
|
||||||
else
|
|
||||||
{ };
|
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
# Merge the inventory file
|
(
|
||||||
{
|
{ ... }:
|
||||||
inventory = _: {
|
let
|
||||||
_file = inventoryFile;
|
file = "${directory}/inventory.json";
|
||||||
config = inventoryLoaded;
|
|
||||||
};
|
inventoryLoaded =
|
||||||
}
|
if builtins.pathExists file then (builtins.fromJSON (builtins.readFile file)) else { };
|
||||||
|
in
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
{
|
||||||
|
inventory._inventoryFile = file;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
inventory = inventoryLoaded;
|
||||||
|
}
|
||||||
|
)
|
||||||
{
|
{
|
||||||
# TODO: Figure out why this causes infinite recursion
|
# TODO: Figure out why this causes infinite recursion
|
||||||
inventory.machines = lib.optionalAttrs (builtins.pathExists "${directory}/machines") (
|
inventory.machines = lib.optionalAttrs (builtins.pathExists "${directory}/machines") (
|
||||||
@@ -238,38 +240,18 @@ in
|
|||||||
|
|
||||||
clanInternals = {
|
clanInternals = {
|
||||||
inherit inventoryClass;
|
inherit inventoryClass;
|
||||||
|
inventory = config.inventory;
|
||||||
# Endpoint that can be called to get a service schema
|
|
||||||
evalServiceSchema = clan-core.clanLib.evalServiceSchema config.self;
|
|
||||||
|
|
||||||
# TODO: unify this interface
|
# TODO: unify this interface
|
||||||
# We should have only clan.modules. (consistent with clan.templates)
|
# We should have only clan.modules. (consistent with clan.templates)
|
||||||
inherit (clan-core) clanModules clanLib;
|
inherit (clan-core) clanModules;
|
||||||
modules = config.modules;
|
|
||||||
|
|
||||||
inherit inventoryFile;
|
|
||||||
|
|
||||||
templates = config.templates;
|
templates = config.templates;
|
||||||
inventory = config.inventory;
|
|
||||||
# TODO: Remove this in about a month
|
|
||||||
# It is only here for backwards compatibility for people with older CLI versions
|
|
||||||
inventoryValuesPrios = inventoryClass.introspection;
|
|
||||||
meta = config.inventory.meta;
|
|
||||||
secrets = config.secrets;
|
|
||||||
|
|
||||||
source = "${clan-core}";
|
secrets = config.secrets;
|
||||||
|
|
||||||
# machine specifics
|
# machine specifics
|
||||||
machines = configsPerSystem;
|
machines = configsPerSystem;
|
||||||
all-machines-json =
|
|
||||||
lib.trace "Your clan-cli and the clan-core input have incompatible versions" lib.mapAttrs
|
|
||||||
(
|
|
||||||
system: configs:
|
|
||||||
nixpkgs.legacyPackages.${system}.writers.writeJSON "machines.json" (
|
|
||||||
lib.mapAttrs (_: m: m.config.system.clan.deployment.data) configs
|
|
||||||
)
|
|
||||||
)
|
|
||||||
configsPerSystem;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -97,6 +97,12 @@ in
|
|||||||
./assertions.nix
|
./assertions.nix
|
||||||
];
|
];
|
||||||
options = {
|
options = {
|
||||||
|
_inventoryFile = lib.mkOption {
|
||||||
|
type = types.path;
|
||||||
|
readOnly = true;
|
||||||
|
internal = true;
|
||||||
|
visible = false;
|
||||||
|
};
|
||||||
_legacyModules = lib.mkOption {
|
_legacyModules = lib.mkOption {
|
||||||
internal = true;
|
internal = true;
|
||||||
visible = false;
|
visible = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user