diff --git a/internal/distro/rhel8/pipelines.go b/internal/distro/rhel8/pipelines.go index 59180e30e..5dc68278c 100644 --- a/internal/distro/rhel8/pipelines.go +++ b/internal/distro/rhel8/pipelines.go @@ -664,6 +664,19 @@ func osPipeline(t *imageType, })) } + if t.rpmOstree { + p.AddStage(osbuild.NewSystemdJournaldStage( + &osbuild.SystemdJournaldStageOptions{ + Filename: "10-persistent.conf", + Config: osbuild.SystemdJournaldConfigDropin{ + Journal: osbuild.SystemdJournaldConfigJournalSection{ + Storage: osbuild.StoragePresistent, + }, + }, + }, + )) + } + // Relabel the tree, unless the `NoSElinux` flag is explicitly set to `true` if imageConfig.NoSElinux == nil || imageConfig.NoSElinux != nil && !*imageConfig.NoSElinux { p.AddStage(osbuild.NewSELinuxStage(selinuxStageOptions(false))) diff --git a/internal/manifest/os.go b/internal/manifest/os.go index 1b8998074..a5aa7431a 100644 --- a/internal/manifest/os.go +++ b/internal/manifest/os.go @@ -530,6 +530,18 @@ func (p *OS) serialize() osbuild.Pipeline { })) } + if p.OSTreeRef != "" { + pipeline.AddStage(osbuild.NewSystemdJournaldStage( + &osbuild.SystemdJournaldStageOptions{ + Filename: "10-persistent.conf", + Config: osbuild.SystemdJournaldConfigDropin{ + Journal: osbuild.SystemdJournaldConfigJournalSection{ + Storage: osbuild.StoragePresistent, + }, + }, + })) + } + if p.SElinux != "" { pipeline.AddStage(osbuild.NewSELinuxStage(&osbuild.SELinuxStageOptions{ FileContexts: fmt.Sprintf("etc/selinux/%s/contexts/files/file_contexts", p.SElinux),