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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +13 -1
- data/README.md +2 -1
- data/docs/carrier.md +12 -0
- data/lib/confctl/cli/app.rb +16 -0
- data/lib/confctl/cli/cluster.rb +183 -47
- data/lib/confctl/cli/generation.rb +44 -15
- data/lib/confctl/generation/build.rb +42 -1
- data/lib/confctl/generation/build_list.rb +10 -0
- data/lib/confctl/generation/host.rb +9 -5
- data/lib/confctl/generation/host_list.rb +20 -5
- data/lib/confctl/generation/unified.rb +5 -0
- data/lib/confctl/generation/unified_list.rb +10 -0
- data/lib/confctl/machine.rb +4 -0
- data/lib/confctl/machine_control.rb +3 -2
- data/lib/confctl/machine_list.rb +4 -0
- data/lib/confctl/machine_status.rb +1 -1
- data/lib/confctl/nix.rb +63 -18
- data/lib/confctl/nix_copy.rb +5 -5
- data/lib/confctl/null_logger.rb +7 -0
- data/lib/confctl/swpins/specs/git_rev.rb +1 -1
- data/lib/confctl/system_command.rb +3 -2
- data/lib/confctl/version.rb +1 -1
- data/libexec/auto-rollback.rb +106 -0
- data/man/man8/confctl.8 +88 -72
- data/man/man8/confctl.8.md +70 -54
- data/nix/evaluator.nix +9 -1
- data/nix/modules/cluster/default.nix +20 -0
- data/nix/modules/confctl/carrier/netboot/build-netboot-server.rb +209 -50
- data/nix/modules/confctl/kexec-netboot/default.nix +36 -0
- data/nix/modules/confctl/kexec-netboot/kexec-netboot.8.adoc +62 -0
- data/nix/modules/confctl/kexec-netboot/kexec-netboot.rb +455 -0
- data/nix/modules/system-list.nix +3 -1
- metadata +7 -2
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
|
-
.
|
544
|
-
\fB\fC\-\-[no\-]commit\fR
|
545
|
-
|
546
|
-
.
|
547
|
-
\fB\fC\-\-[no\-]changelog\fR
|
548
|
-
|
549
|
-
|
550
|
-
.
|
551
|
-
\fB\fC\-d\fR, \fB\fC\-\-downgrade\fR
|
552
|
-
|
553
|
-
|
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
|
-
.
|
563
|
-
\fB\fC\-\-[no\-]commit\fR
|
564
|
-
|
565
|
-
.
|
566
|
-
\fB\fC\-\-[no\-]changelog\fR
|
567
|
-
|
568
|
-
|
569
|
-
.
|
570
|
-
\fB\fC\-d\fR, \fB\fC\-\-downgrade\fR
|
571
|
-
|
572
|
-
|
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
|
-
.
|
579
|
-
\fB\fC\-\-[no\-]commit\fR
|
580
|
-
|
581
|
-
.
|
582
|
-
\fB\fC\-\-[no\-]changelog\fR
|
583
|
-
|
584
|
-
|
585
|
-
.
|
586
|
-
\fB\fC\-d\fR, \fB\fC\-\-downgrade\fR
|
587
|
-
|
588
|
-
|
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
|
-
.
|
598
|
-
\fB\fC\-\-[no\-]commit\fR
|
599
|
-
|
600
|
-
.
|
601
|
-
\fB\fC\-\-[no\-]changelog\fR
|
602
|
-
|
603
|
-
|
604
|
-
.
|
605
|
-
\fB\fC\-d\fR, \fB\fC\-\-downgrade\fR
|
606
|
-
|
607
|
-
|
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
|
-
.
|
614
|
-
\fB\fC\-\-[no\-]commit\fR
|
615
|
-
|
616
|
-
.
|
617
|
-
\fB\fC\-\-[no\-]changelog\fR
|
618
|
-
|
619
|
-
|
620
|
-
.
|
621
|
-
\fB\fC\-d\fR, \fB\fC\-\-downgrade\fR
|
622
|
-
|
623
|
-
|
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
|
-
.
|
629
|
-
\fB\fC\-\-[no\-]commit\fR
|
630
|
-
|
631
|
-
.
|
632
|
-
\fB\fC\-\-[no\-]changelog\fR
|
633
|
-
|
634
|
-
|
635
|
-
.
|
636
|
-
\fB\fC\-d\fR, \fB\fC\-\-downgrade\fR
|
637
|
-
|
638
|
-
|
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
|
data/man/man8/confctl.8.md
CHANGED
@@ -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
|
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
|
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
|
-
|
535
|
-
|
550
|
+
`--[no-]commit`
|
551
|
+
Commit changed swpins files to git. Disabled by default.
|
536
552
|
|
537
|
-
|
538
|
-
|
539
|
-
|
553
|
+
`--[no-]changelog`
|
554
|
+
Include changelog in the commit message when `--commit` is used. Enabled by
|
555
|
+
default.
|
540
556
|
|
541
|
-
|
542
|
-
|
543
|
-
|
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
|
-
|
554
|
-
|
569
|
+
`--[no-]commit`
|
570
|
+
Commit changed swpins files to git. Disabled by default.
|
555
571
|
|
556
|
-
|
557
|
-
|
558
|
-
|
572
|
+
`--[no-]changelog`
|
573
|
+
Include changelog in the commit message when `--commit` is used. Enabled by
|
574
|
+
default.
|
559
575
|
|
560
|
-
|
561
|
-
|
562
|
-
|
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
|
-
|
570
|
-
|
585
|
+
`--[no-]commit`
|
586
|
+
Commit changed swpins files to git. Disabled by default.
|
571
587
|
|
572
|
-
|
573
|
-
|
574
|
-
|
588
|
+
`--[no-]changelog`
|
589
|
+
Include changelog in the commit message when `--commit` is used. Enabled by
|
590
|
+
default.
|
575
591
|
|
576
|
-
|
577
|
-
|
578
|
-
|
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
|
-
|
589
|
-
|
604
|
+
`--[no-]commit`
|
605
|
+
Commit changed swpins files to git. Disabled by default.
|
590
606
|
|
591
|
-
|
592
|
-
|
593
|
-
|
607
|
+
`--[no-]changelog`
|
608
|
+
Include changelog in the commit message when `--commit` is used. Enabled by
|
609
|
+
default.
|
594
610
|
|
595
|
-
|
596
|
-
|
597
|
-
|
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
|
-
|
605
|
-
|
620
|
+
`--[no-]commit`
|
621
|
+
Commit changed swpins files to git. Disabled by default.
|
606
622
|
|
607
|
-
|
608
|
-
|
609
|
-
|
623
|
+
`--[no-]changelog`
|
624
|
+
Include changelog in the commit message when `--commit` is used. Enabled by
|
625
|
+
default.
|
610
626
|
|
611
|
-
|
612
|
-
|
613
|
-
|
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
|
-
|
620
|
-
|
635
|
+
`--[no-]commit`
|
636
|
+
Commit changed swpins files to git. Disabled by default.
|
621
637
|
|
622
|
-
|
623
|
-
|
624
|
-
|
638
|
+
`--[no-]changelog`
|
639
|
+
Include changelog in the commit message when `--commit` is used. Enabled by
|
640
|
+
default.
|
625
641
|
|
626
|
-
|
627
|
-
|
628
|
-
|
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
|
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 {
|