diff --git a/internal/distro/image_config.go b/internal/distro/image_config.go index 6c86ae101..0b1bbc40d 100644 --- a/internal/distro/image_config.go +++ b/internal/distro/image_config.go @@ -37,6 +37,7 @@ type ImageConfig struct { Sysctld []*osbuild2.SysctldStageOptions DNFConfig []*osbuild2.DNFConfigStageOptions SshdConfig *osbuild2.SshdConfigStageOptions + Authconfig *osbuild2.AuthconfigStageOptions } // InheritFrom inherits unset values from the provided parent configuration and @@ -110,6 +111,9 @@ func (c *ImageConfig) InheritFrom(parentConfig *ImageConfig) *ImageConfig { if finalConfig.SshdConfig == nil { finalConfig.SshdConfig = parentConfig.SshdConfig } + if finalConfig.Authconfig == nil { + finalConfig.Authconfig = parentConfig.Authconfig + } } return &finalConfig } diff --git a/internal/distro/rhel86/pipelines.go b/internal/distro/rhel86/pipelines.go index 81ebded0f..9de609f3e 100644 --- a/internal/distro/rhel86/pipelines.go +++ b/internal/distro/rhel86/pipelines.go @@ -537,6 +537,10 @@ func osPipeline(t *imageType, p.AddStage((osbuild.NewSshdConfigStage(sshdConfig))) } + if authConfig := imageConfig.Authconfig; authConfig != nil { + p.AddStage(osbuild.NewAuthconfigStage(authConfig)) + } + if pt != nil { p = prependKernelCmdlineStage(p, t, pt) p.AddStage(osbuild.NewFSTabStage(osbuild.NewFSTabStageOptions(pt))) diff --git a/internal/distro/rhel90/pipelines.go b/internal/distro/rhel90/pipelines.go index 568c4785c..7d2754e11 100644 --- a/internal/distro/rhel90/pipelines.go +++ b/internal/distro/rhel90/pipelines.go @@ -528,6 +528,10 @@ func osPipeline(t *imageType, p.AddStage((osbuild.NewSshdConfigStage(sshdConfig))) } + if authConfig := imageConfig.Authconfig; authConfig != nil { + p.AddStage(osbuild.NewAuthconfigStage(authConfig)) + } + if pt != nil { kernelOptions := osbuild.GenImageKernelOptions(pt) if t.kernelOptions != "" {