wisski-cloud-distillery/internal/dis/component/instances/runtime.go
Tom Wiesing d268728f7d
(exit.Error).Wrap => (exit.Error).WrapError
This commit moves from the deprecated (exit.Error).Wrap function to the
(exit.Error).WrapError instead.
2024-04-08 21:32:06 +02:00

32 lines
805 B
Go

package instances
import (
"context"
"embed"
"fmt"
"io"
"github.com/FAU-CDI/wisski-distillery/pkg/unpack"
"github.com/tkw1536/goprogram/exit"
)
var errBootstrapFailedRuntime = exit.Error{
Message: "failed to update runtime",
ExitCode: exit.ExitGeneric,
}
// Runtime contains runtime resources to be installed into any instance
//
//go:embed all:runtime
var runtimeResources embed.FS
// Update installs or updates runtime components needed by this component.
func (instances *Instances) Update(ctx context.Context, progress io.Writer) error {
err := unpack.InstallDir(instances.Config.Paths.RuntimeDir(), "runtime", runtimeResources, func(dst, src string) {
fmt.Fprintf(progress, "[copy] %s\n", dst)
})
if err != nil {
return errBootstrapFailedRuntime.WrapError(err)
}
return nil
}