mirror of
https://github.com/kairos-io/kairos-sdk.git
synced 2025-04-27 11:11:29 +00:00
* Add registry and org to the os-release file Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me> * Extract the software version prefix to a field and make sure everything still works. Also implement NoPrereleases method to filter out Kairos pre-releases Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me> * Store RegistryAndOrg on the TagList to be used in the new PrintImages method that prints full image URLs This method will be used in the "kairos-agent upgrade list-releases" command Also fix some relic softarePrefix arguments (Artifact now has that info) Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me> * Implement sorting in a semver manner Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me> * Implement FullImages method that returns the tags as full images Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me> --------- Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
29 lines
583 B
Go
29 lines
583 B
Go
package versioneer
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/google/go-containerregistry/pkg/crane"
|
|
)
|
|
|
|
type RegistryInspector interface {
|
|
TagList(registryAndOrg string, artifact *Artifact) (TagList, error)
|
|
}
|
|
|
|
type DefaultRegistryInspector struct{}
|
|
|
|
func (i *DefaultRegistryInspector) TagList(registryAndOrg string, artifact *Artifact) (TagList, error) {
|
|
var err error
|
|
tl := TagList{
|
|
Artifact: artifact,
|
|
RegistryAndOrg: registryAndOrg,
|
|
}
|
|
|
|
tl.Tags, err = crane.ListTags(fmt.Sprintf("%s/%s", registryAndOrg, artifact.Flavor))
|
|
if err != nil {
|
|
return tl, err
|
|
}
|
|
|
|
return tl, nil
|
|
}
|