mirror of
https://github.com/kairos-io/kairos-agent.git
synced 2025-06-03 01:44:53 +00:00
Merge pull request #237 from kairos-io/after-install-hooks
fix(after-install): run after-install hook after partitions are encrypted
This commit is contained in:
commit
694add86ae
@ -13,7 +13,6 @@ var AfterInstall = []Interface{
|
||||
&GrubOptions{}, // Set custom GRUB options
|
||||
&BundlePostInstall{},
|
||||
&CustomMounts{},
|
||||
&Kcrypt{},
|
||||
&Lifecycle{}, // Handles poweroff/reboot by config options
|
||||
}
|
||||
|
||||
@ -31,10 +30,16 @@ var FirstBoot = []Interface{
|
||||
}
|
||||
|
||||
// AfterUkiInstall sets which Hooks to run after uki runs the install action
|
||||
var AfterUkiInstall = []Interface{
|
||||
var AfterUkiInstall = []Interface{}
|
||||
|
||||
var UKIEncryptionHooks = []Interface{
|
||||
&KcryptUKI{},
|
||||
}
|
||||
|
||||
var EncryptionHooks = []Interface{
|
||||
&Kcrypt{},
|
||||
}
|
||||
|
||||
func Run(c config.Config, spec v1.Spec, hooks ...Interface) error {
|
||||
for _, h := range hooks {
|
||||
if err := h.Run(c, spec); err != nil {
|
||||
|
@ -18,13 +18,14 @@ package action
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
hook "github.com/kairos-io/kairos-agent/v2/internal/agent/hooks"
|
||||
"github.com/kairos-io/kairos-agent/v2/pkg/config"
|
||||
events "github.com/kairos-io/kairos-sdk/bus"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
hook "github.com/kairos-io/kairos-agent/v2/internal/agent/hooks"
|
||||
"github.com/kairos-io/kairos-agent/v2/pkg/config"
|
||||
events "github.com/kairos-io/kairos-sdk/bus"
|
||||
|
||||
cnst "github.com/kairos-io/kairos-agent/v2/pkg/constants"
|
||||
"github.com/kairos-io/kairos-agent/v2/pkg/elemental"
|
||||
v1 "github.com/kairos-io/kairos-agent/v2/pkg/types/v1"
|
||||
@ -252,6 +253,11 @@ func (i InstallAction) Run() (err error) {
|
||||
return err
|
||||
}
|
||||
|
||||
err = hook.Run(*i.cfg, i.spec, hook.EncryptionHooks...)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = i.installHook(cnst.AfterInstallHook, false)
|
||||
if err != nil {
|
||||
return err
|
||||
|
@ -144,6 +144,11 @@ func (i *InstallAction) Run() (err error) {
|
||||
return fmt.Errorf("removing artifact set with role %s: %w", UnassignedArtifactRole, err)
|
||||
}
|
||||
|
||||
err = hook.Run(*i.cfg, i.spec, hook.UKIEncryptionHooks...)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// after install hook happens after install (this is for compatibility with normal install, so users can reuse their configs)
|
||||
err = Hook(i.cfg, constants.AfterInstallHook)
|
||||
if err != nil {
|
||||
|
Loading…
Reference in New Issue
Block a user