git.delta.rocks / jrsonnet / refs/commits / 98314cfacdde

difftreelog

refactor drop nix config compat

kwyoypvnYaroslav Bolyukin2026-01-06parent: #f31248f.patch.diff
in: trunk

2 files changed

modifiedcrates/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,
modifiedlib/flakePart.nixdiffbeforeafterboth
before · lib/flakePart.nix
1{ 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}