@@ -95,23 +95,30 @@ services.comin = {
9595
9696Please note this is currently not supported by for nix-darwin configurations.
9797
98- ## Profile retention policy
99-
100- comin tracks deployments in order to manage system profiles. This
101- allows to control the number of boot entries and the number of Nix
102- store roots. It is then possible to control the size of the Nix store
103- (by activating the ` nix.gc.automatic ` module).
104-
105- First of all, comin preserves the booted system in the boot entries menu.
106-
107- You can then control the number of boot entries and the number of
108- previous deployments kept in the comin deployment history. Two
109- configuration options allow to control the retention:
110-
111- - ` retention.max_boot_entries ` : the maximum number of last boot entries
112- - ` retention.max_deployment_entries ` : the maximum number of last
113- deployment entries in the comin deployment history
114-
98+ ## Deployments and profiles retention policy
99+
100+ comin tracks deployments in its persisent storage. It uses this list
101+ to add and remove system profiles which are consumed by bootloaders to install
102+ boot menu entries.
103+
104+ The goal of the retention policy is to
105+ 1 . keep the currently booted system, in order to always be able to rollback on reboot
106+ 2 . keep the currently switched system
107+ 3 . keep a configuration quantity of successful deployments leading to a boot menu entries (typically, ` boot ` and ` switch ` deployments).
108+ This is configuration thanks to ` retention.keepBootEntries `
109+ 4 . keep a configuration quantity of deployments to provide an history to the user
110+ This is configuration thanks to ` retention.keepDeploymentEntries `
111+
112+ Thanks to this retention policy, you could then enable the
113+ ` nix.gc.automatic ` module to automatically clean up your Nix store,
114+ while preserving a configurable gcroot history.
115+
116+ Note that your bootloader entries shows one more entries than the ones
117+ listed by ` comin deployment list ` . This is currently a comin
118+ implementation limitation. Comin first creates a deployment, deploys it and
119+ if it has been successfully deployed, it can remove older deployments,
120+ accordingly to the retention policy. However, when it removes the
121+ deployment, it currently doesn't reinstall the bootloader.
115122
116123## What happen on /var/lib/comin deletion
117124
@@ -125,6 +132,6 @@ the consequencies:
125132 CVEs.
126133- comin no longer knows the deployment history. On the next
127134 deployment, it would then no longer able to generate boot entries
128- for previous deployments. So, even if you delete the
135+ for previous deployments. However, if you delete the
129136 ` /var/lib/comin ` directory, the current booted entry would still be
130137 present in the boot menu.
0 commit comments