difftreelog
refactor drop nix config compat
in: trunk
2 files changed
crates/fleet-base/src/fleetdata.rsdiffbeforeafterboth--- a/crates/fleet-base/src/fleetdata.rs
+++ b/crates/fleet-base/src/fleetdata.rs
@@ -73,7 +73,7 @@
#[serde(default = "generate_gc_prefix")]
pub gc_root_prefix: String,
- #[serde(default)]
+ #[serde(default, skip_serializing_if = "Vec::is_empty")]
pub manager_keys: Vec<ManagerKey>,
#[serde(default)]
@@ -148,13 +148,13 @@
#[serde(rename_all = "camelCase")]
#[must_use]
pub struct FleetSecretDistribution {
- #[serde(default)]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub managed: Option<bool>,
#[serde(default)]
pub owners: BTreeSet<String>,
#[serde(flatten)]
pub secret: FleetSecretData,
+
+ #[serde(default, skip_serializing, alias="managed")]
+ pub _deprecated_managed: bool,
}
#[derive(Clone)]
@@ -244,9 +244,10 @@
} = self;
let idx = distributions.0.len();
distributions.0.push(FleetSecretDistribution {
- managed: None,
owners: BTreeSet::from_iter([owner.clone()]),
secret,
+
+ _deprecated_managed: true,
});
OccupiedDistEntry {
distributions,
lib/flakePart.nixdiffbeforeafterboth1{ crane }:2{3 fleetLib,4 lib,5 config,6 inputs,7 self,8 ...9}:10let11 inherit (lib.options) mkOption mkEnableOption;12 inherit (lib.attrsets) mapAttrs;13 inherit (lib.types)14 lazyAttrsOf15 deferredModule16 unspecified17 str18 ;19 inherit (lib.strings) isPath;20 inherit (lib.modules) mkIf mkOptionDefault;21in22{23 options.fleetModules = mkOption {24 type = lazyAttrsOf unspecified;25 default = { };26 };27 options.fleetNixosConfigurationsCompat = {28 enable = mkEnableOption "Create nixosConfiguration output based on fleetConfiguration";29 configuration = mkOption {30 type = str;31 description = "Which fleetConfiguration to use for compatibility";32 default = "default";33 };34 data = mkOption {35 type = unspecified;36 description = "Imported fleet.nix file for fleet";37 };38 };39 options.fleetConfigurations = mkOption {40 type = lazyAttrsOf deferredModule;41 apply =42 nameToModule:43 mapAttrs (44 name: module: data:45 let46 # To use user-provided nixpkgs, we first need to extract wanted nixpkgs attribute,47 # to do that, evaluate all the modules with only needed option declared.48 bootstrapEval = lib.evalModules {49 modules = [50 module51 {52 options.nixpkgs.buildUsing = mkOption {53 description = ''54 Nixpkgs to use for fleetConfiguration evaluation.55 '';56 };57 config = {58 _module.check = false;59 nixpkgs.buildUsing = mkOptionDefault inputs.nixpkgs;60 };61 }62 ];63 };64 bootstrapNixpkgs = bootstrapEval.config.nixpkgs.buildUsing;65 normalEval = bootstrapNixpkgs.lib.evalModules {66 modules = (import ../modules/module-list.nix) ++ [67 module68 (69 { inputs', ... }:70 {71 config = {72 data = if isPath data then import data else data;73 nixpkgs.buildUsing = mkOptionDefault bootstrapNixpkgs;74 nixpkgs.overlays = [75 (final: prev: {76 inherit77 (import ../pkgs {78 inherit (prev) callPackage;79 inherit inputs';80 craneLib = crane.mkLib prev;81 })82 fleet-install-secrets83 fleet-generator-helper84 ;85 })86 ];87 };88 }89 )90 ];91 specialArgs = {92 inherit inputs self;93 fleetLib = import ../lib {94 inherit (bootstrapNixpkgs) lib;95 };96 _fleetFlakeRootConfig = config;97 };98 };99 in100 normalEval101 ) nameToModule;102 };103 config = {104 _module.args.fleetLib = import ../lib { inherit lib; };105 flake.fleetConfigurations = config.fleetConfigurations;106 flake.nixosConfigurations =107 let108 cfg = config.fleetNixosConfigurationsCompat;109 in110 mkIf cfg.enable (111 mapAttrs (name: host: host.nixos)112 (config.fleetConfigurations.${cfg.configuration} cfg.data).config.hosts113 );114 flake.fleetModules = config.fleetModules;115 };116117 _file = ./flakePart.nix;118}