mirror of
https://github.com/kairos-io/kairos-agent.git
synced 2025-08-21 01:34:03 +00:00
Add registry flag to list-releases (#833)
This commit is contained in:
parent
d85d7985fe
commit
ff63c00dec
@ -35,10 +35,10 @@ func CurrentImage() (string, error) {
|
|||||||
return artifact.ContainerName(registryAndOrg)
|
return artifact.ContainerName(registryAndOrg)
|
||||||
}
|
}
|
||||||
|
|
||||||
func ListAllReleases(includePrereleases bool) ([]string, error) {
|
func ListAllReleases(includePrereleases bool, registry string) ([]string, error) {
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
tagList, err := allReleases()
|
tagList, err := allReleases(registry)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return []string{}, err
|
return []string{}, err
|
||||||
}
|
}
|
||||||
@ -50,10 +50,10 @@ func ListAllReleases(includePrereleases bool) ([]string, error) {
|
|||||||
return tagList.FullImages()
|
return tagList.FullImages()
|
||||||
}
|
}
|
||||||
|
|
||||||
func ListNewerReleases(includePrereleases bool) ([]string, error) {
|
func ListNewerReleases(includePrereleases bool, registry string) ([]string, error) {
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
tagList, err := newerReleases()
|
tagList, err := newerReleases(registry)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return []string{}, err
|
return []string{}, err
|
||||||
}
|
}
|
||||||
@ -167,18 +167,13 @@ func getConfig(sourceImageURL string, dirs []string, upgradeEntry string, strict
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func allReleases() (versioneer.TagList, error) {
|
func allReleases(registry string) (versioneer.TagList, error) {
|
||||||
artifact, err := versioneer.NewArtifactFromOSRelease()
|
artifact, err := versioneer.NewArtifactFromOSRelease()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return versioneer.TagList{}, err
|
return versioneer.TagList{}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
registryAndOrg, err := utils.OSRelease("REGISTRY_AND_ORG")
|
tagList, err := artifact.TagList(registry)
|
||||||
if err != nil {
|
|
||||||
return versioneer.TagList{}, err
|
|
||||||
}
|
|
||||||
|
|
||||||
tagList, err := artifact.TagList(registryAndOrg)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return tagList, err
|
return tagList, err
|
||||||
}
|
}
|
||||||
@ -186,18 +181,13 @@ func allReleases() (versioneer.TagList, error) {
|
|||||||
return tagList.OtherAnyVersion().RSorted(), nil
|
return tagList.OtherAnyVersion().RSorted(), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func newerReleases() (versioneer.TagList, error) {
|
func newerReleases(registry string) (versioneer.TagList, error) {
|
||||||
artifact, err := versioneer.NewArtifactFromOSRelease()
|
artifact, err := versioneer.NewArtifactFromOSRelease()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return versioneer.TagList{}, err
|
return versioneer.TagList{}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
registryAndOrg, err := utils.OSRelease("REGISTRY_AND_ORG")
|
tagList, err := artifact.TagList(registry)
|
||||||
if err != nil {
|
|
||||||
return versioneer.TagList{}, err
|
|
||||||
}
|
|
||||||
|
|
||||||
tagList, err := artifact.TagList(registryAndOrg)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return tagList, err
|
return tagList, err
|
||||||
}
|
}
|
||||||
|
20
main.go
20
main.go
@ -29,6 +29,7 @@ import (
|
|||||||
"github.com/kairos-io/kairos-sdk/machine"
|
"github.com/kairos-io/kairos-sdk/machine"
|
||||||
"github.com/kairos-io/kairos-sdk/schema"
|
"github.com/kairos-io/kairos-sdk/schema"
|
||||||
"github.com/kairos-io/kairos-sdk/state"
|
"github.com/kairos-io/kairos-sdk/state"
|
||||||
|
sdkUtils "github.com/kairos-io/kairos-sdk/utils"
|
||||||
"github.com/kairos-io/kairos-sdk/versioneer"
|
"github.com/kairos-io/kairos-sdk/versioneer"
|
||||||
"github.com/sanity-io/litter"
|
"github.com/sanity-io/litter"
|
||||||
"github.com/spf13/viper"
|
"github.com/spf13/viper"
|
||||||
@ -82,7 +83,7 @@ as a value for the --source flag.
|
|||||||
|
|
||||||
You can also specify the upgrade image by setting "upgrade.system.uri" for the active image or "upgrade.recovery-system.uri" for the recovery image, in the cloud config.
|
You can also specify the upgrade image by setting "upgrade.system.uri" for the active image or "upgrade.recovery-system.uri" for the recovery image, in the cloud config.
|
||||||
|
|
||||||
To retrieve all the available versions, use "kairos upgrade list-releases"
|
To retrieve all the available versions, use "kairos upgrade list-releases". Use the --registry flag to specify a custom registry to retrieve the versions from, otherwise it will default to quay.io/kairos.
|
||||||
|
|
||||||
$ kairos upgrade list-releases
|
$ kairos upgrade list-releases
|
||||||
|
|
||||||
@ -98,9 +99,22 @@ See https://kairos.io/docs/upgrade/manual/ for documentation.
|
|||||||
},
|
},
|
||||||
&cli.BoolFlag{Name: "pre", Usage: "Include pre-releases (rc, beta, alpha)"},
|
&cli.BoolFlag{Name: "pre", Usage: "Include pre-releases (rc, beta, alpha)"},
|
||||||
&cli.BoolFlag{Name: "all", Usage: "Include older releases"},
|
&cli.BoolFlag{Name: "all", Usage: "Include older releases"},
|
||||||
|
&cli.StringFlag{Name: "registry", Usage: "Registry to retrieve the releases from. Defaults to quay.io/kairos.", Value: "quay.io/kairos"},
|
||||||
},
|
},
|
||||||
Name: "list-releases",
|
Name: "list-releases",
|
||||||
Description: `List all available releases versions`,
|
Description: `List all available releases versions`,
|
||||||
|
Before: func(c *cli.Context) error {
|
||||||
|
// Check if the registry is set in the OS release and warn that its deprecated
|
||||||
|
registryAndOrg, err := sdkUtils.OSRelease("REGISTRY_AND_ORG")
|
||||||
|
if err == nil {
|
||||||
|
fmt.Println("Warning: The 'REGISTRY_AND_ORG' OS release variable is deprecated. Use the '--registry' flag instead.")
|
||||||
|
fmt.Println("Warning: Using the values from 'REGISTRY_AND_ORG' instead of the flag.")
|
||||||
|
_ = c.Set("registry", registryAndOrg)
|
||||||
|
|
||||||
|
}
|
||||||
|
fmt.Println(fmt.Sprintf("Using registry: %s", c.String("registry")))
|
||||||
|
return nil
|
||||||
|
},
|
||||||
Action: func(c *cli.Context) error {
|
Action: func(c *cli.Context) error {
|
||||||
if utils.IsUki() {
|
if utils.IsUki() {
|
||||||
fmt.Println("You are running in \"trusted boot\" mode")
|
fmt.Println("You are running in \"trusted boot\" mode")
|
||||||
@ -132,13 +146,13 @@ See https://kairos.io/docs/upgrade/manual/ for documentation.
|
|||||||
|
|
||||||
if c.Bool("all") {
|
if c.Bool("all") {
|
||||||
fmt.Println("Available releases (all):")
|
fmt.Println("Available releases (all):")
|
||||||
tags, err = agent.ListAllReleases(c.Bool("pre"))
|
tags, err = agent.ListAllReleases(c.Bool("pre"), c.String("registry"))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
fmt.Println("Available releases with higher version:")
|
fmt.Println("Available releases with higher version:")
|
||||||
tags, err = agent.ListNewerReleases(c.Bool("pre"))
|
tags, err = agent.ListNewerReleases(c.Bool("pre"), c.String("registry"))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user