fix: fetch prebuilt containers in kernel list-remote
This commit is contained in:
parent
86213c171a
commit
cc5e70373f
@ -166,6 +166,21 @@ func (cmd *KernelCmd) GenKernel(km artifact.Target, pkg string) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (cmd *KernelCmd) fetchContainerCache(c container.Container) {
|
||||||
|
if !cmd.ContainerCache {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if c.Exist() {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
path := cache.ContainerURL(c.Name())
|
||||||
|
err := container.Import(path, c.Name())
|
||||||
|
if err == nil {
|
||||||
|
log.Info().Msgf("container %s -> %s", path, c.Name())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (cmd *KernelCmd) Generate(g *Globals, km artifact.Target) (err error) {
|
func (cmd *KernelCmd) Generate(g *Globals, km artifact.Target) (err error) {
|
||||||
defer func() {
|
defer func() {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -206,16 +221,7 @@ func (cmd *KernelCmd) Generate(g *Globals, km artifact.Target) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if !c.Exist() && cmd.ContainerCache {
|
cmd.fetchContainerCache(c)
|
||||||
path := cache.ContainerURL(c.Name())
|
|
||||||
err = container.Import(path, c.Name())
|
|
||||||
if err != nil {
|
|
||||||
err = nil
|
|
||||||
} else {
|
|
||||||
log.Info().Msgf("container %s -> %s",
|
|
||||||
path, c.Name())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pkgs, err := kernel.MatchPackages(km)
|
pkgs, err := kernel.MatchPackages(km)
|
||||||
if err != nil || cmd.shutdown {
|
if err != nil || cmd.shutdown {
|
||||||
@ -310,6 +316,13 @@ func (cmd *KernelListRemoteCmd) Run(kernelCmd *KernelCmd, g *Globals) (err error
|
|||||||
container.Registry = g.Config.Docker.Registry
|
container.Registry = g.Config.Docker.Registry
|
||||||
container.Commands = g.Config.Docker.Commands
|
container.Commands = g.Config.Docker.Commands
|
||||||
|
|
||||||
|
c, err := container.New(km.Distro)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
kernelCmd.fetchContainerCache(c)
|
||||||
|
|
||||||
pkgs, err := kernel.MatchPackages(km)
|
pkgs, err := kernel.MatchPackages(km)
|
||||||
// error check skipped on purpose
|
// error check skipped on purpose
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user