-
-
Notifications
You must be signed in to change notification settings - Fork 233
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for “in-place” updates? #295
Comments
hello, yes I'm working on it. although it's a bit complicated to detect the current setup and decide which changes are destructive and which are not. The solution I'm working towards will have a _check for each type which could output if the system differs from the configured setup. We then need to find out which changes the _create step does are non-destructive and execute those. All in all this is a feature which is coming, although I have no definite timeline on it. But I haven't decided on an interface yet. probably there will be a kind of mode selection (with modes like: non-destructive, force, force-non-critical, etc) |
Great to hear you were already on it, thanks <3 |
@Lassulus Thank you for your amazing work! |
ah, I have a WIP commit which adds this for some types: #435 although I'm not very happy with the implementation. it's a lot of duplicated code and it would be nicer to include this more into the create step |
I would personally like non-destructive options for disko to use.
|
alrighty, we now have #568 which "should" make the createScript non destructive, be careful to use the createScript and not the diskoScript (that one wipes the disks first). Also this code is not yet tested on a real setup, so take care to not lose your date! :) |
I'm interested in the use case of being able to declaratively define zfs datasets, not for the first install case, but for creating new datasets long after install. Example: A NAS or server system where you want to be able to create a new dataset to store the data from some service you enable with a nixos module. Is this currently possible? If so are there any relevant examples? |
I'll throw another use case into this issue. I recently had a ZFS mirrored boot disk fail, and I had to replace it. As Disco initially managed the root disks, I needed a way to partition just the one disk in the mirror. I hand-rolled it, but missed the fact that the partitions have labels that the system, specifically swap, was looking for. It would be nice to print out at least the commands needed to do this. Thanks for the great tool! |
That's a great idea imo. |
you can sort of get the commands you need with Still having just done exactly the same thing (with btrfs not zfs) it was handy to see what I'd missed. |
It would be great to apply changes to the
disko
config on an already-installed system, when possible losslessly.Currently, I need to add (for instance) new ZFS datasets (or change some options on them) both in the declarative config, and then imperatively (by calling
zfs create
manually)I believe that would be super helpful for use cases where wiping all the storage isn't practical, like:
The text was updated successfully, but these errors were encountered: