Skip to content

Commit 3e9befa

Browse files
authoredAug 7, 2023
Add recovery upgrade flag to upgrade command + msg (#123)
1 parent 48095b6 commit 3e9befa

File tree

3 files changed

+11
-4
lines changed

3 files changed

+11
-4
lines changed
 

‎internal/agent/upgrade.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ func ListReleases(includePrereleases bool) semver.Collection {
5050
}
5151

5252
func Upgrade(
53-
version, source string, force, strictValidations bool, dirs []string, preReleases bool) error {
53+
version, source string, force, strictValidations bool, dirs []string, preReleases, upgradeRecovery bool) error {
5454
bus.Manager.Initialize()
5555

5656
if version == "" && source == "" {
@@ -111,6 +111,9 @@ func Upgrade(
111111
}
112112
upgradeSpec.Active.Source = imgSource
113113

114+
// Set the recovery upgrade flag to upgrade recovery or active
115+
upgradeSpec.RecoveryUpgrade = upgradeRecovery
116+
114117
// Sanitize
115118
err = upgradeSpec.Sanitize()
116119
if err != nil {

‎main.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,10 @@ var cmds = []*cli.Command{
6969
Usage: "Source for upgrade. Composed of `type:address`. Accepts `file:`,`dir:` or `oci:` for the type of source.\nFor example `file:/var/share/myimage.tar`, `dir:/tmp/extracted` or `oci:repo/image:tag`",
7070
},
7171
&cli.BoolFlag{Name: "pre", Usage: "Include pre-releases (rc, beta, alpha)"},
72+
&cli.BoolFlag{Name: "recovery", Usage: "Upgrade recovery"},
7273
},
7374
Description: `
74-
Manually upgrade a kairos node.
75+
Manually upgrade a kairos node Active image. Does not upgrade passive or recovery images.
7576
7677
By default takes no arguments, defaulting to latest available release, to specify a version, pass it as argument:
7778
@@ -137,11 +138,10 @@ See https://kairos.io/docs/upgrade/manual/ for documentation.
137138
return agent.Upgrade(
138139
v, source, c.Bool("force"),
139140
c.Bool("strict-validation"), configScanDir,
140-
c.Bool("pre"),
141+
c.Bool("pre"), c.Bool("recovery"),
141142
)
142143
},
143144
},
144-
145145
{
146146
Name: "notify",
147147
Usage: "notify <event> <config dir>...",

‎pkg/action/upgrade.go

+4
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,10 @@ func (u *UpgradeAction) Run() (err error) {
274274
}
275275

276276
u.Info("Upgrade completed")
277+
if !u.spec.RecoveryUpgrade {
278+
u.config.Logger.Warn("Remember that recovery is upgraded separately by passing the --recovery flag to the upgrade command!\n" +
279+
"See more info about this on https://kairos.io/docs/upgrade/")
280+
}
277281

278282
// Do not reboot/poweroff on cleanup errors
279283
if cleanErr := cleanup.Cleanup(err); cleanErr != nil {

0 commit comments

Comments
 (0)