Adapt to kcrypt bump

Basically create a fake KairosLogger to pass to kcrypt

Signed-off-by: Itxaka <itxaka@kairos.io>
This commit is contained in:
Itxaka
2025-02-18 14:48:44 +01:00
parent a597656fe0
commit b819f9fb5d
5 changed files with 11 additions and 3 deletions

2
go.mod
View File

@@ -12,7 +12,7 @@ require (
github.com/jaypipes/ghw v0.13.0 github.com/jaypipes/ghw v0.13.0
github.com/joho/godotenv v1.5.1 github.com/joho/godotenv v1.5.1
github.com/kairos-io/kairos-sdk v0.6.1 github.com/kairos-io/kairos-sdk v0.6.1
github.com/kairos-io/kcrypt v0.12.2 github.com/kairos-io/kcrypt v0.13.0
github.com/moby/sys/mountinfo v0.7.2 github.com/moby/sys/mountinfo v0.7.2
github.com/mudler/go-kdetect v0.0.0-20210802130128-dd92e121bed8 github.com/mudler/go-kdetect v0.0.0-20210802130128-dd92e121bed8
github.com/mudler/yip v1.15.0 github.com/mudler/yip v1.15.0

2
go.sum
View File

@@ -392,6 +392,8 @@ github.com/kairos-io/kairos-sdk v0.6.1 h1:DplbiHgWjg7W8zzeB5TQPFBthfF3UQxJlcLZqv
github.com/kairos-io/kairos-sdk v0.6.1/go.mod h1:MT/0k20U1BcN8AzzQUexpfrQ8XCC6jIPDG9ZAmx+I2c= github.com/kairos-io/kairos-sdk v0.6.1/go.mod h1:MT/0k20U1BcN8AzzQUexpfrQ8XCC6jIPDG9ZAmx+I2c=
github.com/kairos-io/kcrypt v0.12.2 h1:+lr8FGS0AW6D5dWSmaR3+AobL1TBTnOFgCSYctKY+5I= github.com/kairos-io/kcrypt v0.12.2 h1:+lr8FGS0AW6D5dWSmaR3+AobL1TBTnOFgCSYctKY+5I=
github.com/kairos-io/kcrypt v0.12.2/go.mod h1:7SPiHzNMYl4MlxeB30s1YlHDYByTusu7u1mU5Nvicm0= github.com/kairos-io/kcrypt v0.12.2/go.mod h1:7SPiHzNMYl4MlxeB30s1YlHDYByTusu7u1mU5Nvicm0=
github.com/kairos-io/kcrypt v0.13.0 h1:Gmoe8MbkKV6ux5/aZQCsjxYZM9kbgXz8eoK1NqDLxDk=
github.com/kairos-io/kcrypt v0.13.0/go.mod h1:C8dHeMJPXkmum6W2hn4sRJNLs7HxGK84QsVOBcwSWU0=
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs=
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8=
github.com/kendru/darwin/go/depgraph v0.0.0-20221105232959-877d6a81060c h1:eKb4PqwAMhlqwXw0W3atpKaYaPGlXE/Fwh+xpCEYaPk= github.com/kendru/darwin/go/depgraph v0.0.0-20221105232959-877d6a81060c h1:eKb4PqwAMhlqwXw0W3atpKaYaPGlXE/Fwh+xpCEYaPk=

View File

@@ -2,6 +2,7 @@ package utils
import ( import (
"fmt" "fmt"
"github.com/kairos-io/kairos-sdk/types"
"io" "io"
"os" "os"
"path/filepath" "path/filepath"
@@ -14,6 +15,9 @@ import (
var Log zerolog.Logger var Log zerolog.Logger
var logFile *os.File var logFile *os.File
// KLog is the generic KairosLogger that we pass to kcrypt calls
var KLog types.KairosLogger
func CloseLogFiles() { func CloseLogFiles() {
logFile.Close() logFile.Close()
} }
@@ -41,6 +45,8 @@ func SetLogger() {
level = zerolog.DebugLevel level = zerolog.DebugLevel
} }
Log = zerolog.New(multi).With().Timestamp().Logger().Level(level) Log = zerolog.New(multi).With().Timestamp().Logger().Level(level)
KLog = types.NewNullLogger()
KLog.Logger = Log
} }
// MiddleLog implements the bridge between zerolog and the logger.Interface that yip needs. // MiddleLog implements the bridge between zerolog and the logger.Interface that yip needs.

View File

@@ -172,7 +172,7 @@ func (s *State) LVMActivation(g *herd.Graph) error {
func (s *State) RunKcrypt(g *herd.Graph, opts ...herd.OpOption) error { func (s *State) RunKcrypt(g *herd.Graph, opts ...herd.OpOption) error {
return g.Add(cnst.OpKcryptUnlock, append(opts, herd.WithCallback(func(_ context.Context) error { return g.Add(cnst.OpKcryptUnlock, append(opts, herd.WithCallback(func(_ context.Context) error {
internalUtils.Log.Debug().Msg("Unlocking with kcrypt") internalUtils.Log.Debug().Msg("Unlocking with kcrypt")
return kcrypt.UnlockAllWithLogger(false, internalUtils.Log) return kcrypt.UnlockAllWithLogger(false, internalUtils.KLog)
}))...) }))...)
} }

View File

@@ -390,7 +390,7 @@ func (s *State) UKIUnlock(g *herd.Graph, opts ...herd.OpOption) error {
} }
_ = os.Setenv("PATH", "/usr/bin:/usr/sbin:/bin:/sbin") _ = os.Setenv("PATH", "/usr/bin:/usr/sbin:/bin:/sbin")
internalUtils.Log.Debug().Msg("Will now try to unlock partitions") internalUtils.Log.Debug().Msg("Will now try to unlock partitions")
err := kcrypt.UnlockAllWithLogger(true, internalUtils.Log) err := kcrypt.UnlockAllWithLogger(true, internalUtils.KLog)
if err != nil { if err != nil {
internalUtils.RebootOrWait("Unlocking partitions failed", err) internalUtils.RebootOrWait("Unlocking partitions failed", err)
} }