confctl 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/man/man8/confctl.8 CHANGED
@@ -37,6 +37,11 @@ for more information.
37
37
  similarly to shell patterns, see
38
38
  \[la]http://ruby-doc.org/core/File.html#method-c-fnmatch-3F\[ra] for more
39
39
  information.
40
+ .SH GENERATION OFFSETS
41
+ .PP
42
+ Generations can be selected by \fIoffset\fP\&. \fB\fC0\fR is the current (last) generation.
43
+ \fB\fC1\fR is the first (oldest) generation, \fB\fC2\fR the second generation, etc. \fB\fC\-1\fR is
44
+ the generation before last and so on.
40
45
  .SH GLOBAL OPTIONS
41
46
  .TP
42
47
  \fB\fC\-c\fR, \fB\fC\-\-color\fR \fB\fCalways\fR|\fB\fCnever\fR|\fB\fCauto\fR
@@ -139,7 +144,7 @@ the target machine. The default action is \fB\fCswitch\fR\&.
139
144
  \fB\fC\-y\fR, \fB\fC\-\-yes\fR
140
145
  Do not ask for confirmation on standard input, assume the answer is yes.
141
146
  .PP
142
- \fB\fC\-g\fR, \fB\fC\-\-generation\fR \fIgeneration\fP|\fB\fCcurrent\fR
147
+ \fB\fC\-g\fR, \fB\fC\-\-generation\fR \fIgeneration\fP|\fIoffset\fP|\fB\fCcurrent\fR
143
148
  Do not build a new generation, but deploy an existing generation.
144
149
  .PP
145
150
  \fB\fC\-\-outdated\fR
@@ -169,6 +174,12 @@ the target machine. The default action is \fB\fCswitch\fR\&.
169
174
  .PP
170
175
  \fB\fC\-\-copy\-only\fR
171
176
  Do not activate the copied closures.
177
+ .PP
178
+ \fB\fC\-\-enable\-auto\-rollback\fR
179
+ Enable auto\-rollback on deploy even if it is not enabled in machine configuration.
180
+ .PP
181
+ \fB\fC\-\-disable\-auto\-rollback\fR
182
+ Disable auto\-rollback on deploy if it is enabled in machine configuration.
172
183
  .PP
173
184
  \fB\fC\-\-reboot\fR
174
185
  Applicable only when \fIswitch\-action\fP is \fB\fCboot\fR\&. Reboot the machine after the
@@ -226,7 +237,7 @@ Probe managed machines and determine their status.
226
237
  \fB\fC\-y\fR, \fB\fC\-\-yes\fR
227
238
  Do not ask for confirmation on standard input, assume the answer is yes.
228
239
  .PP
229
- \fB\fC\-g\fR, \fB\fC\-\-generation\fR \fIgeneration\fP|\fB\fCcurrent\fR|\fB\fCnone\fR
240
+ \fB\fC\-g\fR, \fB\fC\-\-generation\fR \fIgeneration\fP|\fIoffset\fP|\fB\fCcurrent\fR|\fB\fCnone\fR
230
241
  Check status against a selected generation instead of a new build. If set
231
242
  to \fB\fCnone\fR, only the currently configured software pins are checked and not
232
243
  the system version itself.
@@ -264,7 +275,7 @@ itself, it works only on software pins.
264
275
  \fB\fC\-y\fR, \fB\fC\-\-yes\fR
265
276
  Do not ask for confirmation on standard input, assume the answer is yes.
266
277
  .PP
267
- \fB\fC\-g\fR, \fB\fC\-\-generation\fR \fIgeneration\fP|\fB\fCcurrent\fR
278
+ \fB\fC\-g\fR, \fB\fC\-\-generation\fR \fIgeneration\fP|\fIoffset\fP|\fB\fCcurrent\fR
268
279
  Show changelog against software pins from a selected generation instead
269
280
  of the current configuration.
270
281
  .PP
@@ -312,7 +323,7 @@ itself, it works only on software pins.
312
323
  \fB\fC\-y\fR, \fB\fC\-\-yes\fR
313
324
  Do not ask for confirmation on standard input, assume the answer is yes.
314
325
  .PP
315
- \fB\fC\-g\fR, \fB\fC\-\-generation\fR \fIgeneration\fP|\fB\fCcurrent\fR
326
+ \fB\fC\-g\fR, \fB\fC\-\-generation\fR \fIgeneration\fP|\fIoffset\fP|\fB\fCcurrent\fR
316
327
  Show diff against software pins from a selected generation instead
317
328
  of the current configuration.
318
329
  .PP
@@ -406,7 +417,7 @@ Open ClusterSSH to selected or all machines.
406
417
  \fB\fC\-y\fR, \fB\fC\-\-yes\fR
407
418
  Do not ask for confirmation on standard input, assume the answer is yes.
408
419
  .TP
409
- \fB\fCconfctl generation ls\fR [\fImachine\-pattern\fP [\fIgeneration\-pattern\fP]|\fIn\fP\fB\fCd\fR|\fB\fCold\fR]
420
+ \fB\fCconfctl generation ls\fR [\fImachine\-pattern\fP [\fIgeneration\-pattern\fP]|\fIn\fP\fB\fCd\fR|\fIoffset\fP|\fB\fCold\fR]
410
421
  List all or selected generations. By default only local build generations
411
422
  are listed.
412
423
  .PP
@@ -425,11 +436,13 @@ are listed.
425
436
  \fB\fC\-r\fR, \fB\fC\-\-remote\fR
426
437
  List remote generations found on deployed machines.
427
438
  .TP
428
- \fB\fCconfctl generation rm\fR [\fImachine\-pattern\fP [\fIgeneration\-pattern\fP|\fIn\fP\fB\fCd\fR|\fB\fCold\fR]]
439
+ \fB\fCconfctl generation rm\fR [\fImachine\-pattern\fP [\fIgeneration\-pattern\fP|\fIn\fP\fB\fCd\fR|\fIoffset\fP|\fB\fCold\fR]]
429
440
  Remove selected generations.
430
441
  .IP
431
442
  \fIn\fP\fB\fCd\fR will remove generations older than \fIn\fP days.
432
443
  .IP
444
+ \fIoffset\fP will remove generations at a specific offset, see \fB\fCGENERATION OFFSETS\fR\&.
445
+ .IP
433
446
  \fB\fCold\fR will remove all generations except the current one, i.e. the one that
434
447
  was built by \fB\fCconfctl build\fR the last.
435
448
  .IP
@@ -485,6 +498,9 @@ configuration also runs \fB\fCnix\-collect\-garbage\fR\&.
485
498
  .PP
486
499
  \fB\fC\-r\fR, \fB\fC\-\-remote\fR
487
500
  Consider generations found on deployed machines.
501
+ .PP
502
+ \fB\fC\-\-no\-gc\fR, \fB\fC\-\-no\-collect\-garbage\fR
503
+ Do not run the garbage collector even if it is enabled in configuration.
488
504
  .PP
489
505
  \fB\fC\-\-max\-concurrent\-gc\fR \fIn\fP
490
506
  Run \fB\fCnix\-collect\-garbage\fR at most on \fIn\fP machines at the same time.
@@ -540,17 +556,17 @@ on the type of the software pin, for git it is a git reference, e.g. a revision.
540
556
  \fB\fCconfctl swpins cluster update\fR [\fIname\-pattern\fP [\fIsw\-pattern\fP]]
541
557
  Update selected or all software packages that have been configured to support
542
558
  this command. The usual case for git is to pin to the current branch head.
543
- .TP
544
- \fB\fC\-\-[no\-]commit\fR
545
- Commit changed swpins files to git. Disabled by default.
546
- .TP
547
- \fB\fC\-\-[no\-]changelog\fR
548
- Include changelog in the commit message when \fB\fC\-\-commit\fR is used. Enabled by
549
- default.
550
- .TP
551
- \fB\fC\-d\fR, \fB\fC\-\-downgrade\fR
552
- Use when the new version is older than the previously set version. Used for
553
- generating changelog for the commit message.
559
+ .PP
560
+ \fB\fC\-\-[no\-]commit\fR
561
+ Commit changed swpins files to git. Disabled by default.
562
+ .PP
563
+ \fB\fC\-\-[no\-]changelog\fR
564
+ Include changelog in the commit message when \fB\fC\-\-commit\fR is used. Enabled by
565
+ default.
566
+ .PP
567
+ \fB\fC\-d\fR, \fB\fC\-\-downgrade\fR
568
+ Use when the new version is older than the previously set version. Used for
569
+ generating changelog for the commit message.
554
570
  .TP
555
571
  \fB\fCconfctl swpins channel ls\fR [\fIchannel\-pattern\fP [\fIsw\-pattern\fP]]
556
572
  List existing channels with pinned software packages.
@@ -559,33 +575,33 @@ List existing channels with pinned software packages.
559
575
  Set selected software packages in channels to new \fIversion\fP\&. The value
560
576
  of \fIversion\fP depends on the type of the software pin, for git it is a git
561
577
  reference, e.g. a revision.
562
- .TP
563
- \fB\fC\-\-[no\-]commit\fR
564
- Commit changed swpins files to git. Disabled by default.
565
- .TP
566
- \fB\fC\-\-[no\-]changelog\fR
567
- Include changelog in the commit message when \fB\fC\-\-commit\fR is used. Enabled by
568
- default.
569
- .TP
570
- \fB\fC\-d\fR, \fB\fC\-\-downgrade\fR
571
- Use when the new version is older than the previously set version. Used for
572
- generating changelog for the commit message.
578
+ .PP
579
+ \fB\fC\-\-[no\-]commit\fR
580
+ Commit changed swpins files to git. Disabled by default.
581
+ .PP
582
+ \fB\fC\-\-[no\-]changelog\fR
583
+ Include changelog in the commit message when \fB\fC\-\-commit\fR is used. Enabled by
584
+ default.
585
+ .PP
586
+ \fB\fC\-d\fR, \fB\fC\-\-downgrade\fR
587
+ Use when the new version is older than the previously set version. Used for
588
+ generating changelog for the commit message.
573
589
  .TP
574
590
  \fB\fCconfctl swpins channel update\fR [\fIchannel\-pattern\fP [\fIsw\-pattern\fP]]
575
591
  Update selected or all software packages in channels that have been configured
576
592
  to support this command. The usual case for git is to pin to the current
577
593
  branch head.
578
- .TP
579
- \fB\fC\-\-[no\-]commit\fR
580
- Commit changed swpins files to git. Disabled by default.
581
- .TP
582
- \fB\fC\-\-[no\-]changelog\fR
583
- Include changelog in the commit message when \fB\fC\-\-commit\fR is used. Enabled by
584
- default.
585
- .TP
586
- \fB\fC\-d\fR, \fB\fC\-\-downgrade\fR
587
- Use when the new version is older than the previously set version. Used for
588
- generating changelog for the commit message.
594
+ .PP
595
+ \fB\fC\-\-[no\-]commit\fR
596
+ Commit changed swpins files to git. Disabled by default.
597
+ .PP
598
+ \fB\fC\-\-[no\-]changelog\fR
599
+ Include changelog in the commit message when \fB\fC\-\-commit\fR is used. Enabled by
600
+ default.
601
+ .PP
602
+ \fB\fC\-d\fR, \fB\fC\-\-downgrade\fR
603
+ Use when the new version is older than the previously set version. Used for
604
+ generating changelog for the commit message.
589
605
  .TP
590
606
  \fB\fCconfctl swpins core ls\fR [\fIsw\-pattern\fP]
591
607
  List core software packages used internally by confctl.
@@ -594,48 +610,48 @@ List core software packages used internally by confctl.
594
610
  Set selected core software package to new \fIversion\fP\&. The value
595
611
  of \fIversion\fP depends on the type of the software pin, for git it is a git
596
612
  reference, e.g. a revision.
597
- .TP
598
- \fB\fC\-\-[no\-]commit\fR
599
- Commit changed swpins files to git. Disabled by default.
600
- .TP
601
- \fB\fC\-\-[no\-]changelog\fR
602
- Include changelog in the commit message when \fB\fC\-\-commit\fR is used. Enabled by
603
- default.
604
- .TP
605
- \fB\fC\-d\fR, \fB\fC\-\-downgrade\fR
606
- Use when the new version is older than the previously set version. Used for
607
- generating changelog for the commit message.
613
+ .PP
614
+ \fB\fC\-\-[no\-]commit\fR
615
+ Commit changed swpins files to git. Disabled by default.
616
+ .PP
617
+ \fB\fC\-\-[no\-]changelog\fR
618
+ Include changelog in the commit message when \fB\fC\-\-commit\fR is used. Enabled by
619
+ default.
620
+ .PP
621
+ \fB\fC\-d\fR, \fB\fC\-\-downgrade\fR
622
+ Use when the new version is older than the previously set version. Used for
623
+ generating changelog for the commit message.
608
624
  .TP
609
625
  \fB\fCconfctl swpins core update\fR [\fIsw\-pattern\fP]
610
626
  Update selected or all core software packages that have been configured
611
627
  to support this command. The usual case for git is to pin to the current
612
628
  branch head.
613
- .TP
614
- \fB\fC\-\-[no\-]commit\fR
615
- Commit changed swpins files to git. Disabled by default.
616
- .TP
617
- \fB\fC\-\-[no\-]changelog\fR
618
- Include changelog in the commit message when \fB\fC\-\-commit\fR is used. Enabled by
619
- default.
620
- .TP
621
- \fB\fC\-d\fR, \fB\fC\-\-downgrade\fR
622
- Use when the new version is older than the previously set version. Used for
623
- generating changelog for the commit message.
629
+ .PP
630
+ \fB\fC\-\-[no\-]commit\fR
631
+ Commit changed swpins files to git. Disabled by default.
632
+ .PP
633
+ \fB\fC\-\-[no\-]changelog\fR
634
+ Include changelog in the commit message when \fB\fC\-\-commit\fR is used. Enabled by
635
+ default.
636
+ .PP
637
+ \fB\fC\-d\fR, \fB\fC\-\-downgrade\fR
638
+ Use when the new version is older than the previously set version. Used for
639
+ generating changelog for the commit message.
624
640
  .TP
625
641
  \fB\fCconfctl swpins update\fR
626
642
  Update software pins that have been configured for updates, including pins
627
643
  in all channels, all machine\-specific pins and the core pins.
628
- .TP
629
- \fB\fC\-\-[no\-]commit\fR
630
- Commit changed swpins files to git. Disabled by default.
631
- .TP
632
- \fB\fC\-\-[no\-]changelog\fR
633
- Include changelog in the commit message when \fB\fC\-\-commit\fR is used. Enabled by
634
- default.
635
- .TP
636
- \fB\fC\-d\fR, \fB\fC\-\-downgrade\fR
637
- Use when the new version is older than the previously set version. Used for
638
- generating changelog for the commit message.
644
+ .PP
645
+ \fB\fC\-\-[no\-]commit\fR
646
+ Commit changed swpins files to git. Disabled by default.
647
+ .PP
648
+ \fB\fC\-\-[no\-]changelog\fR
649
+ Include changelog in the commit message when \fB\fC\-\-commit\fR is used. Enabled by
650
+ default.
651
+ .PP
652
+ \fB\fC\-d\fR, \fB\fC\-\-downgrade\fR
653
+ Use when the new version is older than the previously set version. Used for
654
+ generating changelog for the commit message.
639
655
  .TP
640
656
  \fB\fCconfctl swpins reconfigure\fR
641
657
  Regenerate all confctl\-managed software pin files according to the Nix
@@ -38,6 +38,11 @@ similarly to shell patterns, see
38
38
  <http://ruby-doc.org/core/File.html#method-c-fnmatch-3F> for more
39
39
  information.
40
40
 
41
+ ## GENERATION OFFSETS
42
+ Generations can be selected by *offset*. `0` is the current (last) generation.
43
+ `1` is the first (oldest) generation, `2` the second generation, etc. `-1` is
44
+ the generation before last and so on.
45
+
41
46
  ## GLOBAL OPTIONS
42
47
  `-c`, `--color` `always`|`never`|`auto`
43
48
  Set output color mode. Defaults to `auto`, which enables colors when
@@ -137,7 +142,7 @@ information.
137
142
  `-y`, `--yes`
138
143
  Do not ask for confirmation on standard input, assume the answer is yes.
139
144
 
140
- `-g`, `--generation` *generation*|`current`
145
+ `-g`, `--generation` *generation*|*offset*|`current`
141
146
  Do not build a new generation, but deploy an existing generation.
142
147
 
143
148
  `--outdated`
@@ -168,6 +173,12 @@ information.
168
173
  `--copy-only`
169
174
  Do not activate the copied closures.
170
175
 
176
+ `--enable-auto-rollback`
177
+ Enable auto-rollback on deploy even if it is not enabled in machine configuration.
178
+
179
+ `--disable-auto-rollback`
180
+ Disable auto-rollback on deploy if it is enabled in machine configuration.
181
+
171
182
  `--reboot`
172
183
  Applicable only when *switch-action* is `boot`. Reboot the machine after the
173
184
  configuration is activated.
@@ -222,7 +233,7 @@ information.
222
233
  `-y`, `--yes`
223
234
  Do not ask for confirmation on standard input, assume the answer is yes.
224
235
 
225
- `-g`, `--generation` *generation*|`current`|`none`
236
+ `-g`, `--generation` *generation*|*offset*|`current`|`none`
226
237
  Check status against a selected generation instead of a new build. If set
227
238
  to `none`, only the currently configured software pins are checked and not
228
239
  the system version itself.
@@ -258,7 +269,7 @@ information.
258
269
  `-y`, `--yes`
259
270
  Do not ask for confirmation on standard input, assume the answer is yes.
260
271
 
261
- `-g`, `--generation` *generation*|`current`
272
+ `-g`, `--generation` *generation*|*offset*|`current`
262
273
  Show changelog against software pins from a selected generation instead
263
274
  of the current configuration.
264
275
 
@@ -304,7 +315,7 @@ information.
304
315
  `-y`, `--yes`
305
316
  Do not ask for confirmation on standard input, assume the answer is yes.
306
317
 
307
- `-g`, `--generation` *generation*|`current`
318
+ `-g`, `--generation` *generation*|*offset*|`current`
308
319
  Show diff against software pins from a selected generation instead
309
320
  of the current configuration.
310
321
 
@@ -396,7 +407,7 @@ information.
396
407
  `-y`, `--yes`
397
408
  Do not ask for confirmation on standard input, assume the answer is yes.
398
409
 
399
- `confctl generation ls` [*machine-pattern* [*generation-pattern*]|*n*`d`|`old`]
410
+ `confctl generation ls` [*machine-pattern* [*generation-pattern*]|*n*`d`|*offset*|`old`]
400
411
  List all or selected generations. By default only local build generations
401
412
  are listed.
402
413
 
@@ -415,11 +426,13 @@ information.
415
426
  `-r`, `--remote`
416
427
  List remote generations found on deployed machines.
417
428
 
418
- `confctl generation rm` [*machine-pattern* [*generation-pattern*|*n*`d`|`old`]]
429
+ `confctl generation rm` [*machine-pattern* [*generation-pattern*|*n*`d`|*offset*|`old`]]
419
430
  Remove selected generations.
420
431
 
421
432
  *n*`d` will remove generations older than *n* days.
422
433
 
434
+ *offset* will remove generations at a specific offset, see `GENERATION OFFSETS`.
435
+
423
436
  `old` will remove all generations except the current one, i.e. the one that
424
437
  was built by `confctl build` the last.
425
438
 
@@ -476,6 +489,9 @@ information.
476
489
  `-r`, `--remote`
477
490
  Consider generations found on deployed machines.
478
491
 
492
+ `--no-gc`, `--no-collect-garbage`
493
+ Do not run the garbage collector even if it is enabled in configuration.
494
+
479
495
  `--max-concurrent-gc` *n*
480
496
  Run `nix-collect-garbage` at most on *n* machines at the same time.
481
497
  Defaults to `5`.
@@ -531,16 +547,16 @@ information.
531
547
  Update selected or all software packages that have been configured to support
532
548
  this command. The usual case for git is to pin to the current branch head.
533
549
 
534
- `--[no-]commit`
535
- Commit changed swpins files to git. Disabled by default.
550
+ `--[no-]commit`
551
+ Commit changed swpins files to git. Disabled by default.
536
552
 
537
- `--[no-]changelog`
538
- Include changelog in the commit message when `--commit` is used. Enabled by
539
- default.
553
+ `--[no-]changelog`
554
+ Include changelog in the commit message when `--commit` is used. Enabled by
555
+ default.
540
556
 
541
- `-d`, `--downgrade`
542
- Use when the new version is older than the previously set version. Used for
543
- generating changelog for the commit message.
557
+ `-d`, `--downgrade`
558
+ Use when the new version is older than the previously set version. Used for
559
+ generating changelog for the commit message.
544
560
 
545
561
  `confctl swpins channel ls` [*channel-pattern* [*sw-pattern*]]
546
562
  List existing channels with pinned software packages.
@@ -550,32 +566,32 @@ information.
550
566
  of *version* depends on the type of the software pin, for git it is a git
551
567
  reference, e.g. a revision.
552
568
 
553
- `--[no-]commit`
554
- Commit changed swpins files to git. Disabled by default.
569
+ `--[no-]commit`
570
+ Commit changed swpins files to git. Disabled by default.
555
571
 
556
- `--[no-]changelog`
557
- Include changelog in the commit message when `--commit` is used. Enabled by
558
- default.
572
+ `--[no-]changelog`
573
+ Include changelog in the commit message when `--commit` is used. Enabled by
574
+ default.
559
575
 
560
- `-d`, `--downgrade`
561
- Use when the new version is older than the previously set version. Used for
562
- generating changelog for the commit message.
576
+ `-d`, `--downgrade`
577
+ Use when the new version is older than the previously set version. Used for
578
+ generating changelog for the commit message.
563
579
 
564
580
  `confctl swpins channel update` [*channel-pattern* [*sw-pattern*]]
565
581
  Update selected or all software packages in channels that have been configured
566
582
  to support this command. The usual case for git is to pin to the current
567
583
  branch head.
568
584
 
569
- `--[no-]commit`
570
- Commit changed swpins files to git. Disabled by default.
585
+ `--[no-]commit`
586
+ Commit changed swpins files to git. Disabled by default.
571
587
 
572
- `--[no-]changelog`
573
- Include changelog in the commit message when `--commit` is used. Enabled by
574
- default.
588
+ `--[no-]changelog`
589
+ Include changelog in the commit message when `--commit` is used. Enabled by
590
+ default.
575
591
 
576
- `-d`, `--downgrade`
577
- Use when the new version is older than the previously set version. Used for
578
- generating changelog for the commit message.
592
+ `-d`, `--downgrade`
593
+ Use when the new version is older than the previously set version. Used for
594
+ generating changelog for the commit message.
579
595
 
580
596
  `confctl swpins core ls` [*sw-pattern*]
581
597
  List core software packages used internally by confctl.
@@ -585,47 +601,47 @@ information.
585
601
  of *version* depends on the type of the software pin, for git it is a git
586
602
  reference, e.g. a revision.
587
603
 
588
- `--[no-]commit`
589
- Commit changed swpins files to git. Disabled by default.
604
+ `--[no-]commit`
605
+ Commit changed swpins files to git. Disabled by default.
590
606
 
591
- `--[no-]changelog`
592
- Include changelog in the commit message when `--commit` is used. Enabled by
593
- default.
607
+ `--[no-]changelog`
608
+ Include changelog in the commit message when `--commit` is used. Enabled by
609
+ default.
594
610
 
595
- `-d`, `--downgrade`
596
- Use when the new version is older than the previously set version. Used for
597
- generating changelog for the commit message.
611
+ `-d`, `--downgrade`
612
+ Use when the new version is older than the previously set version. Used for
613
+ generating changelog for the commit message.
598
614
 
599
615
  `confctl swpins core update` [*sw-pattern*]
600
616
  Update selected or all core software packages that have been configured
601
617
  to support this command. The usual case for git is to pin to the current
602
618
  branch head.
603
619
 
604
- `--[no-]commit`
605
- Commit changed swpins files to git. Disabled by default.
620
+ `--[no-]commit`
621
+ Commit changed swpins files to git. Disabled by default.
606
622
 
607
- `--[no-]changelog`
608
- Include changelog in the commit message when `--commit` is used. Enabled by
609
- default.
623
+ `--[no-]changelog`
624
+ Include changelog in the commit message when `--commit` is used. Enabled by
625
+ default.
610
626
 
611
- `-d`, `--downgrade`
612
- Use when the new version is older than the previously set version. Used for
613
- generating changelog for the commit message.
627
+ `-d`, `--downgrade`
628
+ Use when the new version is older than the previously set version. Used for
629
+ generating changelog for the commit message.
614
630
 
615
631
  `confctl swpins update`
616
632
  Update software pins that have been configured for updates, including pins
617
633
  in all channels, all machine-specific pins and the core pins.
618
634
 
619
- `--[no-]commit`
620
- Commit changed swpins files to git. Disabled by default.
635
+ `--[no-]commit`
636
+ Commit changed swpins files to git. Disabled by default.
621
637
 
622
- `--[no-]changelog`
623
- Include changelog in the commit message when `--commit` is used. Enabled by
624
- default.
638
+ `--[no-]changelog`
639
+ Include changelog in the commit message when `--commit` is used. Enabled by
640
+ default.
625
641
 
626
- `-d`, `--downgrade`
627
- Use when the new version is older than the previously set version. Used for
628
- generating changelog for the commit message.
642
+ `-d`, `--downgrade`
643
+ Use when the new version is older than the previously set version. Used for
644
+ generating changelog for the commit message.
629
645
 
630
646
  `confctl swpins reconfigure`
631
647
  Regenerate all confctl-managed software pin files according to the Nix
data/nix/evaluator.nix CHANGED
@@ -81,7 +81,15 @@ let
81
81
  abort "Attribute 'config.${coreLib.concatStringsSep "." machine.build.attribute}' not found on machine ${machine.name}"
82
82
  else
83
83
  buildAttr;
84
- in result;
84
+ in {
85
+ attribute = result;
86
+
87
+ autoRollback = corePkgs.substituteAll {
88
+ src = ../libexec/auto-rollback.rb;
89
+ isExecutable = true;
90
+ ruby = nixpkgs.ruby;
91
+ };
92
+ };
85
93
 
86
94
  evalMachine = machine:
87
95
  let
@@ -186,6 +186,26 @@ let
186
186
  };
187
187
  };
188
188
 
189
+ autoRollback = {
190
+ enable = mkOption {
191
+ type = types.bool;
192
+ default = true;
193
+ description = ''
194
+ Enable automatic rollback in case the machine is unresponsive after
195
+ deploy
196
+ '';
197
+ };
198
+
199
+ timeout = mkOption {
200
+ type = types.int;
201
+ default = 60;
202
+ description = ''
203
+ Number of seconds after which if the machine is unreachable, auto-rollback
204
+ is initiated
205
+ '';
206
+ };
207
+ };
208
+
189
209
  healthChecks = {
190
210
  systemd = {
191
211
  enable = mkOption {